使用标签控制对账户连接资源的访问权限 - Amazon CodeCatalyst

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

使用标签控制对账户连接资源的访问权限

标签可以附加到资源上,也可以在请求中传递给支持标记的服务。策略中的资源可以有标签,策略中的某些操作可以包含标签。标记条件键包括aws:RequestTagaws:ResourceTag条件键。在创建 IAM 策略时,您可以使用标签条件键来控制以下:

  • 根据连接资源已有的标签,哪些用户可以对连接资源执行操作。

  • 哪些标签可以在操作的请求中传递。

  • 是否特定标签键可在请求中使用。

以下示例演示了如何在策略中为 CodeCatalyst账户连接用户指定标签条件。有关条件键的更多信息,请参阅 IAM 中的策略条件密钥

示例 1:允许根据请求中的标签执行操作

以下策略向用户授予批准账户连接的权限。

为此,如果请求指定一个名为 Project 的带有值为 ProjectA 的标签,则它允许 AcceptConnectionTagResource 操作。(aws:RequestTag 条件键用于控制可以通过 IAM 请求传递哪些标签。) aws:TagKeys 条件确保标签键区分大小写。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecatalyst:AcceptConnection", "codecatalyst:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Project": "ProjectA" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["Project"] } } } ] }

示例 2:允许基于资源标签的操作

以下策略授予用户对账户连接资源执行操作和获取相关信息的权限。

为此,如果连接的标签名Project为该值,则允许执行特定操作ProjectA。(aws:ResourceTag 条件键用于控制可以通过 IAM 请求传递哪些标签。)

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecatalyst:GetConnection", "codecatalyst:DeleteConnection", "codecatalyst:AssociateIamRoleToConnection", "codecatalyst:DisassociateIamRoleFromConnection", "codecatalyst:ListIamRolesForConnection", "codecatalyst:PutBillingAuthorization" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "ProjectA" } } } ] }