我有一个名为“devops”的IAM组,我想要应用一个策略,该策略将授予该组成员对标记为“Class = devops”的EC2实例的完全访问权限,并且不能访问任何其他EC2实例。我发现亚马逊的这篇伟大的知识中心文章让我走上了正确的道路:https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/。
我看到的问题源于该页面中间的“注意”:
“完全控制”扩展到EC2命名空间内的所有操作,但当前不支持资源级权限的Amazon EC2 API操作除外。有关更多信息,请参阅Amazon EC2 API参考中的Unsupported Resource-Level Permissions。
如果您按照list of unsupported resource-level permissions注释中的链接,您会发现它有数十个项目。你也会发现这句话:
可以在IAM策略中使用所有Amazon EC2操作来授予或拒绝用户使用该操作的权限。但是,并非所有Amazon EC2操作都支持资源级权限,这使您可以指定可以执行操作的资源。以下Amazon EC2 API操作当前不支持资源级权限;因此,要在IAM策略中使用这些操作,必须授予用户使用语句中Resource元素的*通配符来使用操作的所有资源的权限。 为了给所有这些权限授予“允许”权限。
如果我想将此策略中的权限授予所有不支持资源级权限的操作,那么我的策略将是数百个行!是否有更好,更简洁的方法来做到这一点?
答案 0 :(得分:1)
有一个简单的快捷方式。许多动作都以相同的词开头,例如" Describe"。您可以使用通配符覆盖此列表。例如,"Action" : "ec2:Describe*"
。
请小心操作,然后覆盖针对特定资源的DENY操作的其他策略部分。