一文讲清 AWS IAM涉及的核心概念!
本文涉及的知识主要包括:
- IAM 用户组(User Groups)
- IAM 角色中的可信实体(Trusted Entities)
- 加密管理服务(KMS、CloudHSM 等)
- Microsoft 生态对接(Active Directory)
- Amazon Cognito 与身份池(Identity Pool)
🧱 知识构建
1️⃣ IAM 用户组(User Groups)
类比:员工权限管理
假设你公司有几十个人,分为开发、测试、运维部门。
如果你一个一个人设置权限(IAM User),就像给每个人单独发钥匙——繁琐又容易出错。
IAM 用户组(Group)= 部门级别的权限模版
- 一次授权,所有组员权限同步更新;
- 修改方便,权限管理可控;
- 并不是“资源组”,只是权限分组。
2️⃣ IAM 角色与可信实体(Trusted Entity)
类比:临时访问许可证
IAM Role 是一种“没有密码的身份”,任何需要“临时获取权限”的情况都可以用 Role,比如:
- EC2 实例需要访问 S3;
- 用户登录后由第三方认证(如 Google);
- 另一个 AWS 账户的服务要调用你的服务。
为了安全,必须指定谁能扮演这个角色 —— 这叫 Trusted Entity(可信实体)。
常见的 Trusted Entity 有:
类型 | 说明 |
---|---|
AWS 服务 | 比如 EC2、Lambda |
另一个 AWS 账户 | 跨账户访问 |
Web identity(如 Google、Facebook、Cognito) | 身份联盟 |
SAML 联盟(如企业AD) | 企业SSO |
❌ X.509 Certificate | 并不是 Trusted Entity,而是身份验证方式,用于 IoT/SSL,不用于 IAM Role 信任关系 |
3️⃣ AWS 加密服务对比
服务 | 类比 | 场景 | 是否 FIPS 140-2 合规 |
---|---|---|---|
KMS | 云端钥匙柜 | 管理密钥,自动加密/解密 | ✅ 默认合规 |
CloudHSM | 自己的硬件加密机 | 特殊合规需求,高控制 | ✅ ✅ ✅ 高度合规 |
Secrets Manager | 云记事本 | 管理密码、Token | ❌ |
STS | 临时通行证服务 | 给临时角色发权限凭证 | ❌ |
4️⃣ AWS Directory Service(Active Directory)
类比:AWS 提供的 Windows 域控服务器
如果你在公司用 Windows + SharePoint,一般都基于 AD(Active Directory)验证身份。
AWS 提供三种方式来接入微软生态:
- AWS Managed Microsoft AD(重点)
- AD Connector(桥接本地 AD)
- Simple AD(轻量自建)
5️⃣ Amazon Cognito(重点)
类比:Google 登录、Facebook 登录 + AWS 授权接入
Cognito 分两部分:
组件 | 功能 | 类比 |
---|---|---|
User Pool | 负责注册、登录 | 帐号密码系统 |
Identity Pool | 把登录后的身份映射成 AWS 权限 | 登录后获得 AWS 临时通行证 |
✅ 小结知识点图谱
IAM 权限管理
├── 用户 User
│ └── 属于组 Group → 简化权限管理
├── 角色 Role
│ └── 被可信实体使用(如 EC2、Cognito、SAML)
│ └── 不包括 X.509
├── 策略 Policy
│ └── 控制 Action、Resource、Effect
├── Root 用户
│ └── 权限最大,不推荐日常使用加密与身份
├── CloudHSM → 高级加密硬件(FIPS 140-2)
├── KMS → 云密钥服务
├── Secrets Manager → 存密码
├── Cognito
│ ├── User Pool:注册登录
│ └── Identity Pool:登录后获得 AWS 访问权
├── Directory Service → 集成 Active Directory