我知道如何在AWS IAM中创建user
、group
和role
。 我还可以为它们中的每一个附加策略。 例如,选择组后,可以转到permissions
选项卡,并向其附加一些策略。
但是,我不知道如何将角色附加到用户或组。
我查看了文档和论坛,但没有找到任何东西,感谢您的帮助。
您无法将 IAM 角色分配给 IAM 用户或组,请参阅此 AWS 官方文档中的说明:- https://aws.amazon.com/iam/faqs/
问:什么是 IAM 角色,它们如何工作?
AWS身份和访问管理 (IAM) 角色提供了一种依靠临时安全凭证访问 AWS 的方法。每个角色都有一组用于发出 AWS 服务请求的权限,并且角色不与特定用户或组关联。相反,受信任的实体(如身份提供商或 AWS 服务)代入角色。有关更多信息,请参阅 IAM 角色。
看起来将IAM role
附加到IAM user
并不简单,请按照 https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html 进行操作。
过去,我为我的 ec2 实例创建了 IAM 角色,在启动该实例时,我可以选择该 IAM 角色,我的 ec2 实例将具有该 IAM 角色中设置的所有权限,同样,您可以将角色分配给其他 ec2 服务,这是最常用的 IAM 角色场景。
要将 IAM角色分配给 IAM 用户,请执行以下操作:
- 打开 IAM 控制面板
- 选择要分配给 IAM 用户的角色
- 编辑信任策略
- 在委托人部分添加 IAM 用户的 ARN
就是这样。现在使用切换角色功能对其进行测试。
按照相同的过程将 IAM 角色分配给 IAM 组。
我会小心修改信任关系 - 如果它们配置不当,它们可能会导致您的帐户或资源受到损害。
向同一帐户上的用户/组授予显式访问权限时,不应修改角色的信任关系。进一步澄清: 角色应具有如下所示的信任关系:
{
"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>"
}
]
}
此策略可以附加到用户或组,并且该用户或组中的用户将能够代入具有上述信任关系的角色。
- 可以将用户置于组中以获取与该组关联的权限,也可以代入角色以进入权限现在为角色权限的会话。用户具有访问密钥和秘密访问密钥。
- 组仅用于向用户提供权限,即用户被放置在组中。 角色
- 是一组临时权限,即用户代入角色并在会话生命周期内被授予临时凭证。角色会话将具有访问密钥、秘密访问密钥和会话令牌。
角色是一个 IAM 实体,它定义了一组权限 发出 AWS 服务请求。IAM 角色不与 特定用户或组。相反,受信任的实体承担角色,例如 作为 IAM 用户、应用程序或 AWS 服务(如 EC2)。
这里清楚地记录了它。
https://aws.amazon.com/iam/faqs/