在 IAM 权限策略中使用标签 - AWS Resource Groups和标签

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

在 IAM 权限策略中使用标签

AWS Identity and Access Management(IAM)是AWS您可使用此服务创建和管理权限策略,确定谁可以访问您的AWS资源的费用。每次尝试访问AWS服务或者读或写AWS资源由这样的 IAM 策略控制访问。

这些策略允许您提供对资源的精确访问权限。您可以用来微调此访问权限的功能之一是Condition策略的元素。此元素允许您指定必须与请求匹配的附加条件,以确定请求是否可以继续。其中包括你可以查看Condition元素是附加到发出请求的用户或角色的标签以及附加到作为请求对象的资源的标签。

与标签相关的条件键

这些是您可以在 IAM 权限策略中使用的条件密钥来基于标签控制访问权限。这些条件键允许您比较调用操作的委托人上的标签、作为参数提供给操作的标签以及附加到该操作将由操作访问的资源的标签。

查看由条件键了解有关该条件密钥以及如何使用它的完整详细信息。

条件键 描述

aws:PrincipalTag

使用此键可将附加到发出请求的委托人(IAM 用户或角色)的标签与您在策略中指定的标签进行比较。

aws:RequestTag 将作为参数传递到请求的标签键/值对与您在策略中指定的标签对进行比较。

aws:ResourceTag

使用此键可将您在策略中指定的标签键/值对与附加到资源的键/值对进行比较。

aws:TagKeys 只比较标签密钥在带您在策略中指定的键的请求中。

使用标签的 IAM 策略示例

例 示例 1:强制用户在创建资源时附加特定标签

以下示例 IAM 权限策略显示了如何强制创建或修改 IAM 策略标签的用户将标签与密钥一起包含Owner以及为个人设定的价值AWS用户名。如果不满足这些条件,则该策略不匹配,也不允许操作。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagCustomerManagedPolicies", "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:TagPolicy" ], "Resource": "arn:aws:iam::123456789012:policy/*", "Condition": { "StringEquals": { "aws:RequestTag/Owner": "${aws:username}" } } } ] }

例 示例 2:使用标签将资源的访问限制为其 “所有者”

以下示例 IAM 权限策略允许用户停止运行中的 Amazon EC2 实例,仅当用户被标记为该实例的所有者时才能停止该实例。

此示例是 “基于属性的访问控制” 的示例。有关使用 IAM 策略实施基于标签的访问控制策略的更多信息和其他示例,请参阅控制对 的访问AWS使用标签的资源使用标签控制对 IAM 用户和角色的访问以及他们进行的访问,无论是在IAM 用户指南. 还有一个更全面的教程,展示了如何使用多个标签授予对不同项目和群组的访问权限IAM 教程:定义访问权限AWS根据标签进行资源

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "ec2:StopInstances" ], "Resource": [ "arn:aws:iam::123456789012:instance/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "${aws:username}" } } } ] }