AWS Compare 高频对比

Root User・IAM User・Group・Policy・Role 总对比

Root User, IAM User, Group, Policy and Role

compareIAMSecurityAWS
最近整理

分清身份、权限集合、权限规则与临时权限身份。

一句话结论

User 是身份;Group 是管理 User 的集合;Policy 是权限规则;Role 是可被代入的临时权限身份。

总对比

对象它是什么主要用途
Root User账户创建时产生的固有身份恢复账户与少数 Root-only Tasks
IAM User账户内的长期身份少数需要长期账户身份的场景
IAM GroupIAM User 的权限管理集合为职责相同的多个 User 统一授权
IAM PolicyJSON 权限文档定义 Effect、Action、Resource、Condition
IAM Role可被可信主体代入的权限身份工作负载、跨账户和临时访问
IAM Identity Center员工多账户统一访问入口SSO 与 Permission Set

Group 的考试规则

  1. Group 只能包含 IAM User,不能包含另一个 Group。
  2. 一个 IAM User 可以属于零个、一个或多个 Group。
  3. Group 不能登录,也不能被 Assume。
  4. User 会继承所有所属 Group 的适用权限;任一适用的显式 Deny 仍优先。

Policy 的边界

  • Managed Policy 可附加给 User、Group 或 Role。
  • Inline Policy 可嵌入单个 User、Group 或 Role。
  • Policy 本身不是身份,也不能执行操作。
  • Identity-based Policy 不写 Principal;Resource-based Policy 与 Role Trust Policy 才常见 Principal。
  • Version: 2012-10-17 是策略语言版本,不是修改日期。

场景速判

  • 多个开发人员需要相同权限 → Group + Policy。
  • EC2 需要访问 S3 → IAM Role,不创建 IAM User Access Key。
  • 员工访问多个账户 → IAM Identity Center。
  • 外部 Web / Mobile 用户登录 → Amazon Cognito。
  • 账户恢复或 Root-only Task → Root User。

重点记忆

User 可以进多个 Group;Group 不能再套 Group;Policy 只描述权限;Role 提供临时权限身份。

Role 的三个关键部分

部分作用
Trusted Entity / Trust Policy规定谁能 AssumeRole
Permissions Policy规定 Role Session 能执行哪些 Action、访问哪些 Resource
STS Temporary Credentials提供会到期的 Access Key ID、Secret Access Key 与 Session Token

EC2 通过 Instance Profile 使用 Role;创建 Role 后还必须关联到实例。操作人员把 Role 交给 EC2、Lambda 等服务时通常需要 iam:PassRole。PassRole 是“把 Role 给服务”,AssumeRole 是“主体自己代入 Role”。