【问题标题】:What role allows an EC2 user to run aws ec2 authorize-security-group-egress什么角色允许 EC2 用户运行 aws ec2 authorize-security-group-egress
【发布时间】:2022-01-03 13:25:03
【问题描述】:

我正在尝试使用aws ec2 authorize-security-group-egress 在 ec2 实例上临时设置一个脚本(我将与 revoke 配对)打开一个指向特定 IP 的端口。但是,当我尝试运行该命令时,它告诉我用户无权执行该命令。错误消息的其余部分已加密,不幸的是aws sts decode-authorization-message 也未授权,因此我无法获得更多信息。我收集到我需要进入 Web 控制台并为用户提供特定的 IAM 角色,但我无法找到该角色。

错误消息是:An error occurred (UnauthorizedOperation) when calling the AuthorizeSecurityGroupIngress operation: You are not authorized to perform this operation. 后跟五行垃圾邮件,即消息的加密剩余部分。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-iam


    【解决方案1】:

    一般来说,良好做法是什么,当脚本或程序在 EC2 实例上执行时,您通过 instance roles 授予它权限。

    在你的情况下,由于你想使用AuthorizeSecurityGroupEgress,实例角色需要有这样的权限。

    您可以在实例角色中使用的内联策略示例如下:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "ec2:AuthorizeSecurityGroupEgress",
                "Resource": "*"
            }
        ]
    }
    
    

    AWS SDK 和 CLI 自动将使用实例角色,因此您无需执行任何操作即可使用它们。

    【讨论】:

    • 谢谢!出于某种原因,我没有得到它是一个独立的权限,它不仅具有特定的角色,而且必须特别添加。
    【解决方案2】:

    也检查一下, --group-id(字符串)

    安全组的 ID。您必须在请求中指定安全组 ID 或安全组名称。对于非默认 VPC 中的安全组,您必须指定安全组 ID。

    这是使用 --group-name 标志阻止我的用户的原因,因为安全组不在默认 VPC 中。

    https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/authorize-security-group-ingress.html#options

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 2021-10-16
      • 2018-01-07
      • 2016-12-25
      • 2014-04-08
      • 1970-01-01
      • 2017-05-27
      相关资源
      最近更新 更多