本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS Identity and Access Management (IAM) RDS 代理伺服器的原則
在 Secret Manager 中建立密碼之後,您可以建立可存取這些密碼的IAM原則。如需使用的一般資訊IAM,請參閱Amazon RDS Amazon 的身份和訪問管理。
提示
如果您使用IAM主控台,則適用下列程序。如果您使用 AWS Management Console 的RDS,RDS可以自動為您建立IAM原則。在這種情況下,您可以略過下列程序。
建立存取秘密管理員密碼的IAM原則,以便與您的代理伺服器搭配使用
-
登入IAM主控台。遵循建立角色程序,如建立IAM角色,選擇建立角色以委派權限給 AWS 服務中所述。
對於信任的實體類型,選擇 AWS 服務。在 [使用案例] 下,選RDS取 [其他 AWS 服務的使用案例] 下拉式清單 選取 RDS-將角色新增至資料庫。
-
對於新角色,請執行新增內嵌政策步驟。使用與編輯IAM策略中相同的一般程序。JSON將以下內容貼到文JSON字方塊中。替換為您自己的帳戶 ID。將您的 AWS 地區替換為
us-east-2
。以 Amazon 資源名稱 (ARNs) 替代您建立的密碼,請參閱在IAM政策陳述式中指定KMS金鑰。對於kms:Decrypt
動作,請替換默認 AWS KMS key 或您自己ARN的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角色的信任原則。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" } } } ] }