使用资源标签控制对 EC2 资源的访问 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用资源标签控制对 EC2 资源的访问

在创建向 IAM 用户授予使用 EC2 资源的权限的 IAM 策略时,可以在该策略的 Condition 元素中包含标签信息,以根据标签控制访问权限。这称为基于属性的访问控制 (ABAC)。ABAC 可以让您更好地控制用户可以修改、使用或删除哪些 EC2 资源。有关更多信息,请参阅什么是适用于 Amazon 的 ABAC?

例如,您可以创建一个策略,允许用户终止实例,但在实例具有 environment=production 标签时拒绝此操作。为此,您可以使用 ec2:ResourceTag 条件键来基于附加到资源的标签允许或拒绝对资源的访问。

"StringEquals": { "ec2:ResourceTag/environment": "production" }

要了解 Amazon EC2 API 操作是否支持使用 ec2:ResourceTag 条件键控制访问,请参阅 Amazon EC2 的操作、资源和条件建。请注意,Describe 操作不支持资源级权限,因此,您必须在不带条件的单独语句中指定它们。

有关示例 IAM 策略,请参阅有关使用 Amazon CLI 或 Amazon 开发工具包的示例策略

如果您基于标签允许或拒绝用户访问资源,则必须考虑显式拒绝用户对相同资源添加或删除这些标签的能力。否则,用户可能通过修改资源标签来绕过您的限制并获得资源访问权限。