如何将 IAM 角色分配给用户或组

How to assign IAM role to users or groups

我知道如何在 AWS IAM 中创建 usergrouprole。 我还可以将策略附加到它们中的每一个。 例如,选择一个组后,您可以转到 permissions 选项卡,并为其附加一些策略。

但是,我不知道如何将角色附加到用户或组。

我查看了文档和论坛,但没有找到任何东西,感谢您的帮助。

An IAM role is an IAM entity that defines a set of permissions for making AWS service requests. IAM roles are not associated with a specific user or group. Instead, trusted entities assume roles, such as IAM users, applications, or AWS services such as EC2.

这里有清楚的记载。

https://aws.amazon.com/iam/faqs/

您不能将 IAM 角色分配给 IAM 用户或组,请参阅此 AWS 官方文档中的说明:- https://aws.amazon.com/iam/faqs/

Q: What are IAM roles and how do they work?

AWS Identity and Access Management (IAM) roles provide a way to access AWS by relying on temporary security credentials. Each role has a set of permissions for making AWS service requests, and a role is not associated with a specific user or group. Instead, trusted entities such as identity providers or AWS services assume roles. For more information, see IAM roles.

似乎无法直接将 IAM role 附加到 IAM user,请按照 https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html 了解如何操作。

过去,我为我的 ec2-instance 创建了 IAM 角色,在启动该实例时,我可以选择该 IAM 角色,我的 ec2-instance 将拥有该 IAM 角色中设置的所有权限,您也一样可以给其他ec2-services分配一个角色,这是IAM角色使用最多的场景。

要将 IAM 角色分配给 IAM 用户,请执行以下操作:

  1. 打开 IAM 控制面板
  2. Select 您要分配给 IAM 用户的角色
  3. 编辑信任策略
  4. 在主体部分添加 IAM 用户的 ARN

就是这样。现在使用切换角色功能对其进行测试。

按照相同的步骤将 IAM 角色分配给 IAM 组。

我会谨慎修改信任关系 - 如果它们配置不当,可能会导致您的帐户或资源受到威胁。

在同一帐户上授予对 user/group 的显式访问权限时,您不应修改角色的信任关系。进一步澄清: 这些角色应该有这样的信任关系:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<YOUR ACC ID>:root"
      },
      "Action": "sts:AssumeRole",
    }
  ]
}

这实质上意味着我将此角色的权限委托给 "arn:aws:iam::<YOUR ACC ID>:root" 中列出的帐户——现在由该帐户的 IAM 操作员使用诸如此类的策略授予对此角色的访问权限比如这个:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "sts:AssumeRole"
      ],
      "Effect": "Allow",
      "Resource": "<role arn>"
    }
  ]
}

此策略可以附加到用户或组,该用户或组中的用户将能够承担具有上述信任关系的角色。

  • 可以将用户置于一个组中以获得与该组关联的权限,或者可以承担一个角色以进入一个会话,其中权限现在是角色的权限。用户有访问密钥和秘密访问密钥。
  • 组仅用于向用户提供权限,即将用户置于组中。
  • 角色是一组临时权限,即用户承担一个角色并在会话生命周期内被授予临时凭证。角色会话将具有访问密钥、秘密访问密钥和会话令牌。