AWS:将 IAM 角色分配给 IAM 用户

AWS: Assinging IAM roles to IAM users

根据官方 AWS documentation,IAM 角色可以 附加到 IAM 用户,而不仅仅是服务。

将 IAM 角色分配给 IAM 用户的有效用例是什么?

直接向用户授予 (allow/deny) IAM 策略 不就涵盖了所有情况吗?

TBH 我最初的印象是 IAM 角色服务于 AWS 服务的授权目的(以便它们可以与 其他 服务交互),因为后者无法在用户上下文

如您所知,AWS Roles 的作用是为 AWS 服务提供身份验证(使用 IAM 策略进行授权)。相比之下,AWS IAM 用户直接映射到获取凭据以登录 AWS 管理控制台的人类用户。

但是,当向 AWS 账户外的用户授予访问权限时(例如,跨账户访问、AD 身份验证联合),它将需要一个 IAM 角色来承担权限。

参考您共享的文档,它不是获得权限的直接 IAM 用户,而是承担 IAM 角色(非直接 IAM 用户)以访问 AWS 资源的 Active Directory 用户(外部)。

这是一个IAM best practice是将角色分配给其他AWS账户的AWS用户,以便委派权限。这是为了避免在 AWS 账户之间共享凭据。


我还想指出,您对角色作为授权的初步印象是不正确的。唯一被视为授权的 IAM 资源是 IAM 策略。

这可以在AWS documentation on Understanding IAM and in the following AWS training video: Authentication and Authorization with AWS Identity and Access Management(需要登录)

中看到

其他三个基本 IAM 资源:用户、组和角色被视为身份验证的一部分。