将权限策略附加到 Amazon Secrets Manager 密钥 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

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

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

请参阅Amazon Secrets Manager 的权限策略示例

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

查看、更改或删除密钥的资源策略(控制台)
  1. 在以下网址 https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台。

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

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

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

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

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 软件开发工具包