使用资源标签控制对 EC2 资源的访问 - Amazon Elastic Compute Cloud

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

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

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

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

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

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

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