了解 IAM 通行证

Pra*_*arg 9 amazon-web-services amazon-iam

我无法理解 IAM Passrole 的使用。谁能用简单的例子解释一下?我指的是页面:https : //docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html,但没有多大意义。

Joh*_*ein 17

PassRole 是授予 IAM 用户和资源的权限,允许他们使用 IAM 角色。

例如,假设有一个名为Administrators的 IAM 角色。这个角色应该强大的权限给予大多数用户。

接下来,假设一个 IAM 用户有权启动 Amazon EC2 实例。在启动实例时,用户可以指定一个 IAM 角色来与实例关联。如果用户(不是管理员)以管理员角色启动 EC2 实例,则他们可以登录到实例并使用该角色的权限发出命令。这将是他们规避权限的一种方式,因为虽然他们自己不是管理员,但他们可以将 IAM 角色分配给资源,然后使用该资源获得特权访问权限。

为防止出现这种情况,必须向用户授予iam:PassRole该 IAM 角色的权限。如果他们没有该权限,则他们将无权启动实例或在其他服务中分配角色。它允许他们将角色传递给服务或资源。

  • @WaiYanHein 如果用户尝试使用 IAM 角色启动 Amazon EC2 实例,但他们没有传递该角色的“iam:PassRole”权限,那么实例的启动将被拒绝。 (2认同)

Lam*_*nus 9

简单地,

  • 当服务 B 需要 ROLE
  • A 有iam:PassRole关于 ROLE的权限,
  • A 可以将 ROLE 赋予 B。


Chr*_*ams 3

这是授予用户的权限,允许用户在配置期间将角色传递给服务,否则用户无法执行该绑定。您可以将此权限与资源 Arns 结合使用来限制用户可以传递给服务的角色

例如,如果您有许多应用程序,并且有许多不同的可用 IAM 角色可供选择,您可能希望限制用户能够传递给服务的角色。您可以使用以下语句来限制此范围。

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "iam:GetRole",
            "iam:PassRole"
        ],
        "Resource": [
            "arn:aws:iam::<account-id>:role/EC2-WordpressRole",
            "arn:aws:iam::<account-id>:role/EC2-DatabaseRole"
        ]
    }]
}
Run Code Online (Sandbox Code Playgroud)

在上述场景中,还可能存在“arn:aws:iam::<account-id>:role/EC2-AdminRole但是”,因为该角色授予 EC2 主机权限,因此该用户不应向 EC2 授予权限,因此配置权限的人员将其从 EC2 列表中保留。