对 Secrets Manager 使用的基于资源的策略 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 Secrets Manager 使用的基于资源的策略

您可以在中控制对密钥访问Amazon Secrets Manager使用的基于资源的密钥策略。Amazon定义了密钥作为资源在 Secrets Manager 中。您作为账户管理员可以在Amazon服务。可以为附加到密钥的策略添加权限。Secrets Manager 是指直接附加到机密的权限策略为基于资源的策略。您可以使用基于资源的策略来管理密钥访问和管理权限。

基于资源的策略比基于身份的策略更有优势,因为基于资源的策略允许您为不同账户中的委托人授予访问权限。请参阅下一节中的第二个示例。

有关策略的基本要素的概述,请参阅使用策略管理对资源的访问

有关如何创建基于资源的策略的信息,请参阅将基于资源的策略附加到密钥

有关基于身份的替代权限策略的信息,请参阅使用基于身份的策略(IAM 策略)和适用于 Secrets Manager 的 ABAC

授予对角色的只读访问权限

一个常见的 Secrets Manager 方案可能是在 Amazon EC2 实例上运行的应用程序,需要访问数据库以执行所需任务。该应用程序必须从 Secrets Manager 检索数据库凭证。向 Secrets Manager 发送请求,就像任何其他Amazon服务,必须拥有Amazon凭据,具有执行请求的权限。您可以创建附加到 EC2 实例配置文件的 IAM 角色以实现该目的。有关更多信息,请参阅 。通过实例元数据检索安全凭证适用于 Linux 实例的 Amazon EC2 用户指南。

如果您随后将以下基于资源的示例策略附加到密钥,只有在请求者使用与角色关联的凭证并且请求仅要求提供密钥的当前版本时,检索密钥的任何请求才有效:

{ "Version" : "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:role/EC2RoleToAccessSecrets"}, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "secretsmanager:VersionStage" : "AWSCURRENT" } } } ] }