我想要做的是为需要访问我们帐户中的 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"
}
}
}
]
}
有没有办法对某些 CloudFormations(包括其 EC2 实例、RDS 和 S3 存储桶)设置组限制?
谢谢,
答案1
很遗憾AWS 身份和访问管理 (IAM)到目前为止还没有完全涵盖这个特定方面,因为EC2 和 RDS 资源的资源级权限并非所有 API 操作都可用,请参阅此说明Amazon EC2 的 Amazon 资源名称:
重要的目前,并非所有 API 操作都支持单个 ARN;稍后我们将添加对其他 API 操作和其他 Amazon EC2 资源的 ARN 的支持。有关哪些 ARN 可以与哪些 Amazon EC2 API 操作一起使用以及每个 ARN 支持的条件键的信息,请参阅Amazon EC2 API 操作支持的资源和条件。
你会发现,所有的ec2:Describe*
行动确实仍然缺席Amazon EC2 API 操作支持的资源和条件在撰写本文时,这导致了您遇到的错误。
- 请参阅我最初的回答如何限制用户使用 AWS 中的特定实例卷以 IAM 策略为例,说明如何拆分 IAM 策略中支持和不支持资源级别权限的部分,以避免出现此错误(但显然这不会阻止用户查看您的整个帐户)。
也可以看看向 IAM 用户授予 Amazon EC2 资源所需的权限有关上述内容的简要概述和详细信息您可以在 IAM 策略语句中使用 ARN 和 Amazon EC2 条件键,以授予用户创建或修改特定 Amazon EC2 资源的权限- 本页还提到 AWS 将在 2014 年添加对其他操作、ARN 和条件键的支持。
替代方案/解决方法
根据具体情况,可能只需配置一个单独的 AWS 账户,然后通过以下方式将其与你的 IAM 策略集成即可跨账户访问:在 AWS 账户之间共享资源并通过整合账单。