了解 AWS IAM 标识符
Source: Dev.to
什么是 AWS IAM 标识符?
在 AWS 身份与访问管理(IAM)中,每个身份和资源都必须唯一可辨。AWS 通过不同类型的标识符来实现这一点,每种标识符都有特定的用途:

简而言之:
- 友好名称 = 显示名称
- ARN = 完整地址
- 唯一 ID = 政府颁发的身份证号
1. 友好名称
友好名称是你为 IAM 资源(如用户、角色、组和策略)分配的名称。
示例
IAM user = "mayur"
IAM role = "ec2-s3-readonly-role"
友好名称存在的原因
- 人类阅读和记忆更方便
- 用于 AWS 控制台
- 用于 CLI 命令和脚本
重要提示
- 必须在同一账户内唯一(不要求全局唯一)。不同的 AWS 账户可以使用相同的友好名称。
2. ARN
ARN(Amazon Resource Name)是全局唯一的标识符,类似于完全限定域名。
示例
arn:aws:iam::123456789012:user/mayur
ARN 结构
arn:partition:service:region:account-id:resource
ARN 重要性
- 用于 IAM 策略
- 被 AWS 服务内部使用
- 跨账户访问时必需
AWS 信任 ARN,而不是友好名称。
3. 唯一 ID
每个 IAM 资源也会由 AWS 分配一个唯一 ID。
示例
AIDAJQABLZS4A3QDU576Q
AWS 使用它的原因
- 友好名称可能会更改
- 如果路径改变,ARN 也会改变
- 唯一 ID 确保一致性
通常你不会直接使用这些 ID,但 AWS 在内部依赖它们;即使资源被删除,唯一 ID 也不能被更改或复用。
4. 路径
路径用于对 IAM 资源进行逻辑分组。
示例
/dev/admins/dev-admin
路径的特点
- 不影响权限
- 有助于组织管理
- 包含在 ARN 中
路径有用的场景
- 大型企业
- 多团队协作
- 环境隔离
这些标识符如何协同工作

每种标识符面向不同的受众:
- 人类 → 友好名称
- 策略 & 服务 → ARN
- AWS 内部系统 → 唯一 ID
常见错误需避免
- 误以为友好名称在全局唯一
- 重命名 IAM 资源而未检查对其他资源的影响
- 将角色 ARN 与实例配置文件 ARN 混淆
- 在基于 ARN 的策略中随意使用通配符
一旦理解了每种标识符存在的原因,IAM 的管理就会变得更简单、更安全。