AWS associate-iam-instance-profile 函数,实例需要什么 IAM 角色?

AWS associate-iam-instance-profile function, what IAM role is required for the instance?

我目前正在尝试通过 AWS CLI 将 IAM 角色分配给我的一个实例。 CLI 在 linux 实例上 运行ning 当前具有 EC2 的管理员权限(AmazonEC2FullAccess 策略)。

我正在尝试 运行 以下命令:

aws ec2 associate-iam-instance-profile --instance-id i-0xxxxxxxxxxx4 --iam-instance-profile Name=AmazonSSMRoleForInstancesQuickSetup

但我收到以下错误:

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

我正在努力寻找允许从我的 AWS CLI 实例执行此操作所需的策略。我什至尝试给它提供核心 IAMFullAccess 政策,但我仍然被拒绝许可。

我已经尝试 google 一段时间了,但我无法自己解决这个问题,请帮忙。

能否请您告诉我需要什么策略才能允许我的实例 运行 aws ec2 associate-iam-instance-profile

此外,是否有 quick/easy 方法来查明使用某些 aws cli 函数需要哪些权限?

感谢@luk2302 发表的文章,我得以解决这个问题。希望以后至少能帮到一个人!

我能够通过 IAM 向我的计算机角色添加 in-line 策略来解决它。我指的是我 运行 AWS Cli on.

机器上附加的角色

in-line 政策 json:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::00000000000:role/AmazonSSMRoleForInstancesQuickSetup"
        }
    ]
}

这个 in-line 策略允许我将 AmazonSSMRoleForInstancesQuickSetup 角色(并且只有这个)分配给我通过 terraform 创建的实例。