我要做的是为需要访问我们帐户中的 CloudFormation 的外部团队创建一个组。我想对他们的组设置限制,以便他们只能查看和编辑自己的网站,而不能查看我团队帐户中的其他网站。
我有一个测试策略,应该允许用户只能查看特定的 EC2 实例(示例如下),但是当我作为受限组输入登录时,我收到一条消息,显示“获取实例数据时发生错误:您无权执行此操作。”
{
"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"
}
}
}
]
}
有没有办法为某些 CloudFormation 设置组限制,包括它们的 EC2 实例、RDS 和 S3 存储桶?
谢谢,
不幸的是,截至今天, AWS Identity and Access Management (IAM)并未完全涵盖这一特定方面,因为EC2 和 RDS 资源的资源级权限尚不适用于所有 API 操作,请参阅例如Amazon Resource Names for Amazon 中的此注释EC2:
您会发现在撰写本文时, Amazon EC2 API 操作的受支持资源和条件
ec2:Describe*
中确实不存在所有操作,这导致了您遇到的错误。另请参阅授予 IAM 用户对 Amazon EC2 资源所需的权限以获取上述简明摘要以及您可以在 IAM 策略语句中使用的 ARN 和 Amazon EC2 条件键的详细信息,以授予用户创建或修改特定 Amazon EC2 资源的权限-此页面还提到 AWS 将在 2014 年增加对其他操作、ARN 和条件键的支持。
替代/解决方法
根据具体情况,只预置一个单独的 AWS 账户可能会更容易,该账户可以通过跨账户访问与您的 IAM 策略明智地集成:在 AWS 账户之间共享资源并通过整合账单明智地计费。