如何将 IAM 角色分配给用户或组
Posted
技术标签:
【中文标题】如何将 IAM 角色分配给用户或组【英文标题】:How to assign IAM role to users or groups 【发布时间】:2018-06-13 14:41:11 【问题描述】:我知道如何在 AWS IAM 中创建 user
、group
和 role
。
我还可以将策略附加到它们中的每一个。
例如,选择一个组后,您可以转到permissions
选项卡,并为其附加一些策略。
但是,我不知道如何将角色附加到用户或组。
我查看了文档和论坛,但没有找到任何东西,感谢您的帮助。
【问题讨论】:
将角色附加到用户需要什么?你能进一步解释你的用例吗? (随时编辑您的问题以提供更多信息。) 感谢 Alisa 接受答案 【参考方案1】:您不能将 IAM 角色分配给 IAM 用户或组,请参阅此 AWS 官方文档中的注释:- https://aws.amazon.com/iam/faqs/
问:我可以将 IAM 角色添加到 IAM 组吗?
暂时没有。
还有
问:什么是 IAM 角色?
IAM 角色是一个 IAM 实体,它定义了一组权限 发出 AWS 服务请求。 IAM 角色不与 特定的用户或组。相反,受信任的实体承担角色,例如 作为 IAM 用户、应用程序或 AWS 服务(例如 EC2)。
似乎将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 角色最常用的场景。
【讨论】:
【参考方案2】:要将 IAM 角色分配给 IAM 用户,请执行以下操作:
-
打开 IAM 仪表板
选择您要分配给 IAM 用户的角色
编辑信任策略
在委托人部分添加 IAM 用户的 ARN
就是这样。现在使用切换角色功能对其进行测试。
按照相同的过程将 IAM 角色分配给 IAM 组。
【讨论】:
【参考方案3】:我会小心修改信任关系 - 如果它们配置不当,可能会导致您的帐户或资源受到损害。
在向同一帐户上的用户/组授予显式访问权限时,您不应修改角色的信任关系。进一步澄清: 角色应该有这样的信任关系:
"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>"
]
此策略可以附加到用户或组,并且该用户或组中的用户将能够承担具有上述信任关系的角色。
可以将用户置于组中以获得与组关联的权限,或者可以担任角色进入会话,其中权限现在是角色的权限。用户拥有访问密钥和秘密访问密钥。 组仅用于向用户提供权限,即将用户置于组中。 角色是一组临时权限,即用户承担一个角色,并在会话期间被授予临时凭据。角色会话将具有访问密钥、秘密访问密钥和会话令牌。【讨论】:
我认为一旦用户对角色 arn 具有 sts:AssumeRole 策略,假设该角色对用户应该是自动/透明的,我错了吗?还是他们必须在 aws cli 命令上手动指定 --profile=role? 他们将需要手动指定 --profile=role,或者,您可以运行aws sts assume-role --role-arn <role arn> --role-session-name <session name>
来生成一组临时访问密钥。如果您将这些访问密钥导出为环境变量,则不必传入 --profile 参数,因为您现在运行的所有命令都将在该会话中运行。更多信息@docs.aws.amazon.com/cli/latest/userguide/…【参考方案4】:
IAM 角色是一个 IAM 实体,它定义了一组权限 发出 AWS 服务请求。 IAM 角色不与 特定的用户或组。相反,受信任的实体承担角色,例如 作为 IAM 用户、应用程序或 AWS 服务(例如 EC2)。
这里有清楚的记录。
https://aws.amazon.com/iam/faqs/
【讨论】:
以上是关于如何将 IAM 角色分配给用户或组的主要内容,如果未能解决你的问题,请参考以下文章