IAM 策略与 Identity Center 权限集¶
DotID 提供两个不同但相互关联的授权层:**IAM 策略**(在 AdminCenter 中管理)和**权限集**(在 Identity Center 中管理)。理解两者的区别对于在 FlexGalaxy.AI 平台上设计访问控制至关重要。
概述¶
IAM 策略(AdminCenter) |
权限集(Identity Center) |
|
|---|---|---|
作用范围 |
单个账户 |
组织范围(跨账户) |
目标主体 |
IAM 用户和组(服务身份) |
IDC 用户和组(真实用户) |
管理位置 |
AdminCenter ( |
组织控制台 ( |
访问模型 |
直接附加到用户/组 |
账户分配(组 + 权限集 + 账户) |
凭证类型 |
访问密钥(长期有效、编程访问) |
临时会话凭证(短期有效、联合身份) |
使用场景 |
单个账户内的服务间 API 访问 |
用户通过控制台访问多个账户 |
IAM 策略(AdminCenter)¶
IAM 策略存在于单个**账户**内,控制该账户中 **IAM 用户**(服务身份)和 **IAM 组**可以执行的操作。
核心概念:
托管策略 — 可重用的命名策略文档,可附加到多个用户或组。平台托管策略(如
AdministratorAccess)为只读。参见 托管策略集。内联策略 — 直接嵌入到特定用户或组的策略文档。不可重用,但适用于一次性权限。
权限边界 — 一种高级防护机制,用于设定 IAM 用户或组可拥有的*最大*权限,不受其附加策略的影响。
可以将 IAM 策略理解为回答以下问题:
"这个服务用户在我的账户内可以做什么?"
权限集(Identity Center)¶
权限集属于**组织**,控制 **IDC 用户**(真实用户)访问任意成员账户时可以执行的操作。
权限集是一组 IAM 策略的集合。例如,AdministratorAccess 权限集包含 AdministratorAccess 托管 IAM 策略。
权限集不直接附加到用户,而是通过**账户分配**来授予:
Account Assignment = IDC Group + Permission Set + Target Account
Example:
Group "Platform Admins"
+ Permission Set "AdministratorAccess"
+ Account "Production"
────────────────────────────
= Members of "Platform Admins" get full admin access
when they access the "Production" account
可以将权限集理解为回答以下问题:
"这个人访问那个账户时可以做什么?"
两者的关系¶
权限集和 IAM 策略是相互关联的,而非独立的:
Organization Level (Identity Center)
┌──────────────────────────────────────────────────────┐
│ Permission Set: "ReadOnlyAccess" │
│ ├── IAMReadOnlyAccess (managed policy) │
│ ├── OrganizationReadOnlyAccess (managed policy) │
│ ├── AuditReadOnlyAccess (managed policy) │
│ └── QuotaCenterReadOnlyAccess (managed policy) │
│ │
│ Account Assignment: │
│ IDC Group "Auditors" ──┐ │
│ Permission Set ────────┤ │
│ Account "Production" ──┘ │
└──────────────────────────────────────────────────────┘
Account Level (AdminCenter)
┌──────────────────────────────────────────────────────┐
│ IAM User: "ci-deploy-bot" │
│ ├── Attached: AdministratorAccess (managed policy) │
│ └── Inline: custom deploy permissions │
│ │
│ IAM Group: "monitoring-agents" │
│ └── Attached: AuditReadOnlyAccess (managed policy) │
└──────────────────────────────────────────────────────┘
**相同的托管 IAM 策略**(如 AdministratorAccess、AuditReadOnlyAccess)在两个层级中都会出现:
在 AdminCenter 中,它们直接附加到 IAM 用户/组。
在 Identity Center 中,它们被打包到权限集中,然后通过账户分配分配给 IDC 组。
平台托管与客户自管¶
两个层级都区分**平台托管**和**客户自管**资源:
平台托管 |
客户自管 |
|
|---|---|---|
创建者 |
Platform (provisioned automatically) |
账户管理员 |
可编辑 |
否(只读) |
是 |
可删除 |
否 |
是 |
示例 |
|
|
平台托管资源使用哨兵 PLATFORM 账户(00000000-0000-0000-0000-000000000000)作为所有者,通过 Flyway 数据库迁移进行初始化。完整列表请参见 托管策略集。
AWS 对照¶
对于熟悉 AWS 的用户:
概念 |
AWS 对应项 |
FlexGalaxy |
|---|---|---|
IAM 策略 |
IAM 策略(AdminCenter) |
|
IAM 用户 |
IAM 用户(服务身份) |
|
权限集 |
权限集(Identity Center) |
|
账户分配 |
账户分配 |
|
IDC 用户 |
IAM Identity Center 用户 |
IDC 用户(真实用户) |
AWS 托管策略 |
|
平台托管策略( |