为密钥实施基于属性的访问控制 (ABAC) - AWS Secrets Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

为密钥实施基于属性的访问控制 (ABAC)

基于属性的访问控制 (ABAC) 是一种授权策略,该策略基于属性来定义权限。在 AWS 中,这些属性称为标签。标签可以附加到 IAM 委托人(用户或角色)和 AWS 资源。您可以为 IAM 委托人创建单个 ABAC 策略或一小组策略。这些 ABAC 策略可设计为在委托人的标签与资源标签匹配时允许操作。ABAC 在快速增长的环境中非常有用,并在策略管理变得繁琐的情况下可以提供帮助。

例如,您希望允许访问另一个账户,但仅限具有特定标签的委托人。在另一个账户中创建角色时,您将向角色添加标签以允许访问角色所需的密钥。

以下资源策略仅在标签 GetSecretValue 具有密钥和访问角色的相同值时向 123456789012 授予账户 access-project 的权限:

{ "Version" : "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : {"AWS": "123456789012"}, "Condition" : { "StringEquals" : { "aws:ResourceTab/access-project": "${aws:PrincipalTag/access-project}" } }, "Action" : "secretsmanager:GetSecretValue", "Resource" : "*" } ] }

您可以应用此策略来简化访问控制的管理。有关更多信息,请参阅什么是 AWS 的 ABAC?

有关将此功能添加到密钥的教程,请参阅 IAM 教程:。定义权限以基于标签访问 AWS 资源。