【问题标题】:AWS CLI: create EC2 instance and attach instance profile (unauthorized)AWS CLI:创建 EC2 实例并附加实例配置文件(未经授权)
【发布时间】:2021-11-21 14:04:44
【问题描述】:

我想从一个 ec2 实例“A”启动另一个 ec2 实例“B”并为其分配一个实例配置文件。

我能够在没有实例配置文件的情况下创建新实例“B”:

aws ec2 run-instances --image-id ami-<redacted> --count 1 --instance-type t2.micro --key-name <redacted> --security-group-ids sg-<redacted> --subnet-id subnet-<redacted> 

但是,当我添加 --iam-instance-profile Name="&lt;redacted&gt;" 标志以附加实例配置文件时,我收到一个错误:

An error occurred (UnauthorizedOperation) when calling the RunInstances operation:  
You are not authorized to perform this operation. Encoded authorization failure message: <redacted>

它猜测附加到实例“A”(并用于创建实例“B”)的实例配置文件缺少一些资源权限,但我无法提出解决方案。

我解码了失败消息 (aws sts decode-authorization-message --encoded-message &lt;message&gt;),但我还是不明白:

{
    "DecodedMessage": 
"{\"allowed\":false,\"explicitDeny\":false,\"matchedStatements\":{\"items\":[]},\"failures\":{\"items\":[]},\"context\":{\"principal\":{\"id\":\"<redacted>\",\"arn\":\"arn:aws:sts::<redacted>:assumed-role/<redacted>/<redacted>\"},\"action\":\"iam:PassRole\",\"resource\":\"arn:aws:iam::<redacted>:role/<redacted>\",\"conditions\":{\"items\":[{\"key\":\"aws:Region\",\"values\":{\"items\":[{\"value\":\"eu-central-1\"}]}},{\"key\":\"aws:Service\",\"values\":{\"items\":[{\"value\":\"ec2\"}]}},{\"key\":\"aws:Resource\",\"values\":{\"items\":[{\"value\":\"role/<redacted>\"}]}},{\"key\":\"iam:RoleName\",\"values\":{\"items\":[{\"value\":\"<redacted>\"}]}},{\"key\":\"aws:Type\",\"values\":{\"items\":[{\"value\":\"role\"}]}},{\"key\":\"aws:Account\",\"values\":{\"items\":[{\"value\":\"<redacted>\"}]}},{\"key\":\"aws:ARN\",\"values\":{\"items\":[{\"value\":\"arn:aws:iam::<redacted>:role/<redacted>\"}]}}]}}}"
}

我错过了什么?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-cli


    【解决方案1】:

    与实例 A 关联的 IAM 委托人(通常是 IAM 角色)需要对与您选择的 AWS EC2 服务的配置文件关联的pass the IAM role 的权限,以便可以使用该选择的配置文件/角色启动实例 B。

    需要此权限的原因是为了防止一个角色与授予提升权限的另一个角色启动计算(这称为“权限提升”)。

    在与启动实例 A 的 IAM 角色关联的策略中添加如下内容:

    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:::your-account:role/your-role"
    }
    

    【讨论】:

    • 谢谢,就是这样!您还帮助我理解了错误消息。
    猜你喜欢
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2021-12-25
    • 2017-03-16
    • 2016-10-01
    相关资源
    最近更新 更多