如何在AWS-IAM中添加特定的CloudFormation,EC2,RDS和S3访问限制

我想要做的是为外部团队创build一个组,需要访问我们帐户中的CloudFormation。 我想对他们的小组设置限制,以便他们只能查看和编辑他们自己的网站,而不会查看我的团队帐户上的其他网站。

我有一个testing策略应该允许用户只能查看一个特定的EC2实例(下面的例子),但是当我作为受限制的组进行login时,我有一条消息“读取实例数据时发生错误:您无权执行此操作。“

{ "Statement":[{ "Effect":"Allow", "Action":"ec2:*", "Resource":arn:aws:ec2:us-east-1:NUMBERS:instance/instance-ID", "Condition":{ "ArnEquals":{ "ec2:Owner":"arn:aws:ec2:us-east-1:NUMBERS:instance/instance-ID" } } } ] } 

有没有办法对某些CloudFormations(包括EC2实例,RDS和S3存储桶)设置组限制?

谢谢,

不幸的是, 到目前为止,AWS身份和访问pipe理(IAM)并没有完全覆盖这个特定的方面,因为EC2和RDS资源的资源级权限还不能用于所有的API操作,参见例如来自Amazon的Amazon资源名称EC2 :

重要目前,并非所有的API操作都支持单个ARN; 稍后我们将添加对其他Amazon EC2资源的其他API操作和ARN的支持。 有关哪些ARN可用于哪些Amazon EC2 API操作以及每个ARN支持的条件密钥的信息,请参阅Amazon EC2 API操作的支持资源和条件 。

您将发现所有ec2:Describe* 操作在撰写本文时仍然来自Amazon EC2 API操作的支持资源和条件 ,这导致了您遇到的错误。

  • 请参阅我的初始答案,以了解如何使用IAM策略将用户限制在AWS中的特定实例卷上 ,以举例说明如何拆分IAM策略中与那些支持和不支持资源级别权限的部分,以避免此类错误(显然,这不会阻止用户看到你的所有帐户)。

另请参阅为Amazon EC2资源授予IAM用户所需的权限以获得上述内容的简明摘要以及您可以在IAM策略语句中使用的ARN和Amazon EC2条件密钥的详细信息, 以授予用户创build或修改特定Amazon EC2资源的权限 -该页面还提到了AWS将在2014年增加对其他操作,ARN和条件密钥的支持

另类/解决方法

根据具体的情况,只需要configuration一个单独的AWS账户,可以通过跨账户访问(通过跨账户访问)与您的IAM集成,从而实现与AWS账户之间的共享资源,并通过整合账单进行账单pipe理 。