本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從不同帳戶存取 AWS Secrets Manager 密碼
若要允許一個帳戶中的使用者存取另一個帳戶中的秘密 (跨帳戶存取),您必須同時允許在資源政策和身分政策中的存取權。這與授予和秘密所在的同一帳戶中的身分存取權不同。
您還必須允許身分使用秘密加密所用的 KMS 金鑰。這是因為您不能使用 AWS 受管金鑰 (aws/secretsmanager
) 進行跨帳戶訪問。您必須使用建立的 KMS 金鑰來加密秘密,然後將金鑰政策連接至秘密。建立 KMS 金鑰需支付費用。若要變更秘密的加密金鑰,請參閱 修改 AWS Secrets Manager 密碼。
下列範例政策假設您在 Account1 中有秘密和加密金鑰,在 Account2 中有想要允許存取秘密值的身分。
步驟 1:將資源政策連接至 Account1 中的秘密
-
下列原則允許
ApplicationRole
在 [帳戶 2
] 中存取 [帳
戶 1] 中的密碼。若要使用此政策,請參閱 將許可政策連接至 AWS Secrets Manager 秘密。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
Account2
:role/ApplicationRole
" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
步驟 2:在 Account1 中將陳述式新增至 KMS 金鑰的金鑰政策
-
下列金鑰原則陳述式允許
若要使用此陳述式,請將其新增至 KMS 金鑰的金鑰政策。如需詳細資訊,請參閱變更金鑰政策。ApplicationRole
在帳戶 2
中使用帳戶 1 中的 KMS 金鑰來解密帳戶 1
中的密碼。{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
Account2
:role/ApplicationRole
" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
步驟 3:將身分政策連接至 Account2 中的身分
下列原則允許
若要使用此政策,請參閱 將許可政策連接至身分。在 Secret ARN (秘密 ARN) 下的秘密詳細資訊頁面中,您可以從 Secrets Manager 主控台找到秘密的 ARN。或者,您也可以呼叫Account2
中存取ApplicationRole
帳戶 1
中的秘密,並使用加密金鑰也在 Account1 中解密密碼值。describe-secret
。{ "Version" : "2012-10-17", "Statement" : [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "
SecretARN
" }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:Region
:Account1
:key/EncryptionKey
" } ] }