将权限策略附加到 Amazon Secrets Manager 密钥
在基于资源的策略中,您可以指定谁可以访问密钥,以及他们可以对密钥执行哪些操作。您可以使用基于资源的策略来:
-
为多个用户或角色授予单个密钥的访问权限。
-
授予其他 Amazon 帐户中的用户或角色的访问权限。
请参阅Amazon Secrets Manager 的权限策略示例。
当您将基于资源的策略附加到控制台中的密钥时,Secrets Manager 使用自动推理引擎 ZelkovaValidateResourcePolicy
,防止您向各种 IAM 委托人授予对您的密钥的访问权限。您也可以调用带有来自 CLI 或 SDK BlockPublicPolicy
参数的 PutResourcePolicy
API。
查看、更改或删除密钥的资源策略(控制台)
在以下网址 https://console.aws.amazon.com/secretsmanager/
打开 Secrets Manager 控制台。 -
在您的密钥详细信息页面中,在资源权限部分,选择编辑权限。
-
在代码字段中,执行以下操作之一,然后选择保存:
-
要附加或修改资源策略,输入该策略。
-
要删除策略,清除代码字段。
-
Amazon CLI
例 检索资源策略
以下 get-resource-policy
示例将检索附加到密钥的基于资源的策略。
aws secretsmanager get-resource-policy \ --secret-id MyTestSecret
例 删除资源策略
以下 delete-resource-policy
示例将删除附加到密钥的基于资源的策略。
aws secretsmanager delete-resource-policy \ --secret-id MyTestSecret
例 添加资源策略
以下 put-resource-policy
示例将向密钥添加权限策略,首先检查该策略是否不提供对该密钥的广泛访问权限。该策略是从文件中读取的。有关更多信息,请参阅《Amazon CLI 用户指南》中的从文件加载 Amazon CLI 参数。
aws secretsmanager put-resource-policy \ --secret-id MyTestSecret \ --resource-policy file://mypolicy.json \ --block-public-policy
mypolicy.json
的内容:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }
Amazon SDK
要检索附加到密钥的策略,请使用 GetResourcePolicy
。
要删除附加到密钥的策略,请使用 DeleteResourcePolicy
。
要将策略附加到密钥,请使用 PutResourcePolicy
。如果已经附加了策略,命令会将其替换为新策略。策略必须格式化为 JSON 结构化文本。请参阅 JSON 策略文档结构。使用 Amazon Secrets Manager 的权限策略示例 开始编写您的策略。
有关更多信息,请参阅Amazon 软件开发工具包。