将权限策略附加到密钥 - AWS Secrets Manager

将权限策略附加到密钥

在基于资源的策略中,您可以指定谁可以访问密钥,以及他们可以对密钥执行哪些操作。您可以使用基于资源的策略来:

  • 为多个用户或角色授予单个密钥的访问权限。

  • 授予其他 AWS 帐户中的用户或角色的访问权限。

请参阅权限策略示例

当您将基于资源的策略附加到控制台中的密钥时,Secrets Manager 使用自动推理引擎 Zelkova 和 API ValidateResourcePolicy,防止您向各种 IAM 委托人授予对您的密钥的访问权限。您也可以调用带有来自 CLI 或 SDK BlockPublicPolicy 参数的 PutResourcePolicy API。

查看、更改或删除密钥的资源策略(控制台)

  1. 在以下网址 https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台。

  2. 在您的密钥详细信息页面中,在资源权限部分,选择编辑权限

  3. 在代码字段中,执行以下操作之一,然后选择保存

    • 要附加或修改资源策略,输入该策略。

    • 要删除策略,清除代码字段。

AWS CLI

要检索附加到密钥的策略,请使用 get-resource-policy

以下 CLI 命令检索附加到密钥的策略。

$ aws secretsmanager get-resource-policy --secret-id production/MyAwesomeAppSecret { "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "MyAwesomeAppSecret", "ResourcePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"arn:aws:iam::111122223333:root\",\"arn:aws:iam::444455556666:root\"]},\"Action\":[\"secretsmanager:GetSecretValue\"],\"Resource\":\"*\"}}" }

要删除附加到密钥的策略,请使用 delete-resource-policy

以下 CLI 命令删除附加到密钥的策略。

$ aws secretsmanager delete-resource-policy --secret-id production/MyAwesomeAppSecret { "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "production/MyAwesomeAppSecret" }

要为密钥附加策略,请使用 put-resource-policy。如果已经附加了策略,命令首先将其删除,然后附加新策略。策略必须格式化为 JSON 结构化文本。请参阅 JSON 策略文档结构

以下示例 CLI 命令将基于资源的权限策略附加到密钥或者替换当前已附加到密钥的策略。策略是在 secretpolicy.json 文件中定义的。使用 权限策略示例 开始编写您的策略。

$ aws secretsmanager put-resource-policy --secret-id production/MyAwesomeAppSecret --resource-policy file://secretpolicy.json { "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "MyAwesomeAppSecret" }

AWS 开发工具包

要检索附加到密钥的策略,请使用 GetResourcePolicy

要删除附加到密钥的策略,请使用 DeleteResourcePolicy

要将策略附加到密钥,请使用 PutResourcePolicy。如果已附加了策略,命令首先将其删除,然后附加新策略。策略必须格式化为 JSON 结构化文本。请参阅 JSON 策略文档结构。使用 权限策略示例 开始编写您的策略。

有关更多信息,请参阅AWS 软件开发工具包