AWS Amazon IAM用户策略仅访问EU-WEST-1区域上的一个EC2实例

 是不是有谁代替我陪在你身旁 发布于 2023-02-09 12:48

我已阅读AWS文档但没有帮助......至少对我来说没有用.我已经阅读了有关IAM和EC2上的用户策略的信息.

我想让用户只在一个ec2实例上拥有完全访问权限(或者只允许一些操作).

我正在使用的地区是eu-west-1(爱尔兰).我制定了这个政策:

{
  "Version": "2012-10-17",
  "Statement": [{ 
    "Effect": "Allow",
    "Action":   "ec2:*", 
    "Resource": "arn:aws:ec2:eu-west-1:ACCOUNT_ID:instance/INSTANCE_ID"
  }]
}

当我以用户身份登录时,我发现我没有被授权:

您无权描述运行实例

您无权描述弹性IP

您无权描述卷

您无权描述快照

您无权描述密钥对

您无权描述负载均衡器

您无权描述展示位置组

您无权描述安全组

如果我对资源属性应用以下策略:

"资源":"arn:aws:ec2:*"

没关系,但这不是我需要的,因为用户可以访问所有EC2实例.

我想知道这是AWS的错误还是eu-west-1地区存在问题,或者此策略是否已被支持?或者也许我错了,如果是的话,请帮我怎么做


1 个回答
  • 最近推出的EC2和RDS资源的资源级权限尚不适用于所有API操作,但AWS正在逐步添加更多内容,请参阅Amazon EC2的Amazon资源名称中的此注释:

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

    在撰写本文时,您会发现所有ec2:Describe*操作确实都不存在于Amazon EC2 API操作的支持资源和条件中.

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

    可能的解决方法/替代方案

    除了限制对单个资源级别的访问之外,您可能还需要检查(也)使用条件与策略变量结合,只要ec2:Region是Amazon EC2支持的条件密钥之一 - 您可以将策略与一个专门处理Describe*动作,例如像这样的事情(未经测试):

    {
      "Statement": [
        {
          "Action": [
            "ec2:Describe*"
          ],
          "Effect": "Allow",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "ec2:Region": "eu-west-1"
            }
          }
        }
      ]
    }
    

    请注意,这仍然允许用户查看所有实例eu-west-1,即使您的原始策略片段会阻止所有已支持资源级别权限的API操作(例如,实例创建/终止等).

    我已经在部分解决方法部分中概述了另一种可能的方法,在我的相关答案中如何基于标签隐藏EC2中的实例 - 使用IAM?.

    祝好运!

    2023-02-09 12:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有