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

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

我想要做的是为需要访问我们帐户中的 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 账户之间共享资源并通过整合账单

相关内容