使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何解决 IAM 用户错误“not authorized to perform iam:PassRole”?

1 分钟阅读
0

我尝试与 AWS Identity and Access Management(IAM)用户一同执行 API 操作以将角色传递给 AWS 服务。API 操作失败,我收到了类似以下内容的错误: “You are not authorized to perform this operation.User: arn:aws:iam::123456789012:user/Bob is not authorized to perform: iam:PassRole.”

简短描述

某些 AWS 服务允许将现有的 IAM 角色传递给该服务,这样就无需创建新的服务角色。但是,必须具备相应权限,才能将 IAM 角色传递给 AWS 服务。

解决方法

要解决此问题,请更新 IAM 政策,以允许 IAM 用户为 AWS 服务执行 iam:PassRole API 操作。

**注意:**只能使用 PassRole 权限将 IAM 角色传递给使用同一 AWS 账户的 AWS 服务,不能传递给另一个账户中的 AWS 服务。有关更多信息,请参阅 IAM 中的跨账户资源访问

以下示例 IAM 策略允许 IAM 用户将名为 ExampleRole 的角色传递给 Amazon Elastic Compute Cloud(Amazon EC2)服务:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::account-ID:role/ExampleRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        }
    ]
}

**注意:**将 ExampleRole 替换为相应角色,将 account-ID 替换为相应账户 ID。

有关更多信息,请参阅向用户授予向 AWS 服务传递角色的权限

相关信息

如何结合使用 PassRole 权限与 IAM 角色

AWS 官方
AWS 官方已更新 2 个月前