本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向视图添加标签
您可以向视图添加标签,以对其进行分类。标签是客户提供的元数据,其形式为键名称字符串和关联的可选值字符串。有关标记 AWS 资源的一般信息,请参阅 Amazon Web Services 一般参考 中的标记 AWS 资源。
在视图中添加标签
您可以通过使用 AWS 管理控制台 或在 AWS SDK 中运行 AWS CLI 命令或其等效的 API 操作,将标签添加到您的资源管理器视图。
使用标签控制权限
标签的一个关键用途是支持基于属性的访问权限控制(ABAC)策略。ABAC 允许您标记资源,从而可帮助简化权限管理。然后,您可以向用户授予以某种方式标记的资源的权限。
例如,考虑以下情景。对于名为 ViewA 的视图,您可以附加标签 environment=prod(键名=值)。另一个 ViewB 可能被标记了 environment=beta。根据每个角色或用户应该能够访问的环境,您可以使用相同的标签和值来标记您的角色和用户。
然后,您可以为您的 IAM 角色、组和用户分配 AWS Identity and Access Management(IAM)权限策略。只有当提出搜索请求的角色或用户的 environment 标签值与附加到视图的 environment 标签的值相同时,该策略才会授予使用视图进行访问和搜索的权限。
这种方法的好处在于,它是动态的,不需要您维护谁有权访问哪些资源的列表。相反,您需要确保正确标记所有资源(您的视图)和主体(IAM 角色和用户)。然后,您无需更改任何策略即可自动更新权限。
在 ABAC 策略中引用标签
标记好视图后,您可以选择使用这些标签来动态控制对这些视图的访问。以下示例策略假设您的 IAM 主体和您的视图都使用标签键 environment 和某些值进行标记。完成后,您可以将下列示例策略附加到您的主体。然后,您的角色和用户可以使用任何标有 environment 标签值(与附加到主体的 environment 标签完全匹配)的视图 Search。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "resource-explorer-2:GetView", "resource-explorer-2:Search" ], "Resource": "arn:aws:resource-explorer-2:us-east-1:123456789012:view/*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/environment": "${aws:PrincipalTag/environment}" } } } ] }
如果主体和视图都有 environment 标签但值不匹配,或者如果其中一个缺少 environment 标签,则资源管理器会拒绝搜索请求。
有关使用 ABAC 安全地授予资源访问权限的更多信息,请参阅什么是 AWS 的 ABAC?