如何确定ResourceTag命名空间(ec2:ResourceTag vs aws:ResourceTag vs ia



我最近一直在使用资源标记编写IAM策略,下面是一个示例。

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/team": "${aws:PrincipalTag/team}",
"aws:ResourceTag/environment": "${aws:PrincipalTag/environment}"
}
}
}
]
}

但是,这不允许传递角色(即使它们被标记(,因为这是iam:ResourceTag而不是aws:ResourceTag。如何确定服务是否使用ec2:ResourceTagsaws:ResourceTagsiam:ResourceTags

例如,我正在标记一个Cloudformation堆栈,不知道这个标记类型是ec2:ResourceTag还是aws:ResourceTag。经过反复试验,我发现它是aws:ResourceTag

此外,有没有办法将所有这些标签都包括在我的IAM策略中(如*:ResourceTags(?

aws:ResourceTag属于aws全局条件上下文键(aws前缀(。要检查哪些服务支持此密钥,您可以在与IAM一起工作的AWS服务中检查Authorization based on tags以获得感兴趣的服务。

iam:ResourceTag或ec2:ResourceTag是服务特定条件密钥,在本例中分别为iamec2。您可以在Actions、resources和AWS服务的条件密钥中检查每个服务的所有支持密钥。

最新更新