我要使用資源型政策來控制 AWS Secrets Manager 密碼的存取權。
簡短說明
使用資源型政策來指定使用者的密碼存取權,以及 AWS Identity and Access Management (IAM) 使用者可以執行的動作。
**注意:**將密碼定義為 Secrets Manager 的資源。
您可以在下列常見情況中使用 Secrets Manager 資源型政策:
- 在 AWS 帳戶之間共用密碼。
- 將明確拒絕加入密碼以強制執行許可。
下列資源型政策範例會使用效果、動作、資源,以及主體元素:
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
"Resource": "*"
}
]
}
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,則請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要在 Secrets Manager 中套用資源型政策,請完成下列步驟:
-
建立密碼,然後記下密碼的 ARN。
-
將此政策複製並貼上至文字編輯器,然後將其另存為 JSON 檔案,例如 my_explicit_deny_policy.json:
{ "Version": "2012-10-17","Statement": [
{
"Effect": "Deny",
"Action": "secretsmanager:GetSecretValue",
"Principal": {"AWS": "arn:aws:iam::123456789999:user/Mary"},
"Resource": "*"
}
]
}
-
執行 put-resource-policy AWS CLI 命令來連接密碼的資源政策,以明確拒絕密碼值擷取:
aws secretsmanager put-resource-policy --secret-id My_Resource_Secret --resource-policy file:// My_explicit_deny_Policy.json
您會收到類似於下列內容的輸出:
{"ARN": "arn:aws:secretsmanager:<your region>:123456789999:secret:My_Resource_Secret",
"Name": "My_Resource_Secret"
}
**注意:**只有在使用 AWS KMS key 來加密密碼時,才需要 AWS Key Management Service (AWS KMS) 解密許可。當密碼由預設 AWS KMS key 加密時,第三方帳戶中的 IAM 主體無法擷取密碼。
如需詳細資訊,請參閱將許可政策連接至 AWS Secrets Manager 密碼。