本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 RDS Proxy 的 AWS Identity and Access Management (IAM) 政策
在 Secrets Manager 中建立秘密後,您可以建立可存取這些秘密IAM的政策。如需使用 的一般資訊IAM,請參閱 Amazon RDS 的身分和存取管理。
提示
如果您使用 IAM 主控台,則適用下列程序。如果您使用 AWS Management Console 適用於 的 RDS, RDS可以自動為您建立IAM政策。在這種情況下,您可以略過下列程序。
建立IAM政策以存取 Secrets Manager 秘密,以搭配代理使用
-
登入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" } } } ] } -
請遵循建立角色程序,如建立IAM角色 中所述,選擇建立角色以將許可委派給 AWS 服務 。
對於信任的實體類型,選擇 AWS 服務。在使用案例 下,RDS從其他服務 AWS 的使用案例下拉式清單中選取 。選取 RDS - 將角色新增至資料庫 。
-
編輯此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-namemy_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" } } } ] }