設定 RDS Proxy 的 AWS Identity and Access Management (IAM) 政策 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 RDS Proxy 的 AWS Identity and Access Management (IAM) 政策

在 Secrets Manager 中建立秘密後,您可以建立可存取這些秘密IAM的政策。如需使用 的一般資訊IAM,請參閱 Amazon RDS 的身分和存取管理

提示

如果您使用 IAM 主控台,則適用下列程序。如果您使用 AWS Management Console 適用於 的 RDS, RDS可以自動為您建立IAM政策。在這種情況下,您可以略過下列程序。

建立IAM政策以存取 Secrets Manager 秘密,以搭配代理使用
  1. 登入IAM主控台。針對新角色,更新許可政策。使用與編輯IAM政策 相同的一般程序。將下列項目貼JSON到JSON文字方塊中。替換為您自己的帳戶 ID。將您的 AWS 區域替換為 us-east-2。將 Amazon Resource Names (ARNs) 替換為您建立的秘密,請參閱IAM政策陳述式 中的指定KMS金鑰。對於 kms:Decrypt動作,請取代預設值ARN的 AWS KMS key 或您自己的KMS金鑰。您使用哪一個取決於您已使用哪一個加密 Secrets Manager 秘密。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  2. 請遵循建立角色程序,如建立IAM角色 中所述,選擇建立角色以將許可委派給 AWS 服務

    對於信任的實體類型,選擇 AWS 服務。在使用案例 下,RDS其他服務 AWS 的使用案例下拉式清單中選取 。選取 RDS - 將角色新增至資料庫

  3. 編輯此IAM角色的信任政策。將下列項目貼JSON到JSON文字方塊中。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

下列命令透過 AWS CLI執行相同的操作。

PREFIX=my_identifier USER_ARN=$(aws sts get-caller-identity --query "Arn" --output text) aws iam create-role --role-name my_role_name \ --assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}' ROLE_ARN=arn:aws:iam::account_id:role/my_role_name aws iam put-role-policy --role-name my_role_name \ --policy-name $PREFIX-secret-reader-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }