4. 身份源与目录集成
在云IAM体系中,身份源决定了“谁可以被识别、以什么属性被识别、由谁负责认证”。如果把云平台比作一座需要门禁的建筑,身份源就是发卡中心与人员档案库。云目录、企业IdP、SCIM、SAML/OIDC联邦与身份同步,分别承担了“身份存储、认证委托、自动开户、跨域信任、持续对齐”五类职责。理解它们的分工与协作,是设计可扩展、可审计、低运维成本身份体系的基础。
一、身份源的五种角色与协作关系
云目录(如AWS IAM Identity Center、Azure AD、Google Cloud Identity)是云侧原生身份存储,适合直接管理云用户、组与权限集。企业IdP(如Okta、Microsoft Entra ID、Keycloak、AD FS)是组织已有的权威认证中心,通常承载员工主数据、MFA策略与登录审计。SCIM是用户与组的自动同步协议,解决“入职/离职/转岗时账号是否及时开通与回收”的问题。SAML与OIDC是联邦认证协议,解决“用户不在云侧存密码,而是由企业IdP完成认证后颁发断言”的问题。身份同步则是把IdP中的用户、组、属性持续映射到云目录或应用中的过程。
这五者并非互斥,而是常组合使用:企业IdP作为权威源,通过SAML/OIDC完成登录联邦,通过SCIM完成账号生命周期同步,云目录则作为云侧权限承载点。下图展示了这一协作关系与数据流向。
二、SAML与OIDC:联邦认证的两种主流协议
SAML 2.0基于XML,通过IdP生成签名断言(Assertion),SP(云平台)验证签名后建立会话。典型流程是:用户访问云控制台 → 云平台重定向到IdP → IdP完成认证并返回SAML Response → 云平台校验签名、受众、时间戳后放行。SAML适合企业级Web SSO,属性丰富,但XML处理较重。
OIDC构建在OAuth 2.0之上,使用JSON格式的ID Token(JWT),更轻量,天然适合移动端与API场景。OIDC的授权码流程中,云平台作为RP(Relying Party)向IdP请求授权码,再用授权码换取ID Token与Access Token。ID Token中的sub、email、groups等声明可用于身份映射。
选择建议:若企业已有AD FS或传统SAML IdP,优先SAML;若面向现代SaaS、移动端或需要API级联邦,优先OIDC。两者可并存,但同一应用应避免混用导致会话与审计割裂。
三、SCIM:让账号生命周期自动化
SCIM 2.0定义了/Users与/Groups两个核心资源端点,通过HTTP的POST、PATCH、DELETE实现增删改。典型同步逻辑是:HR系统触发入职 → IdP创建用户 → IdP通过SCIM向云目录推送用户 → 云目录按组规则分配权限集。离职时反向执行:IdP禁用用户 → SCIM发送PATCH将active置为false → 云目录撤销会话与权限。
关键配置参数包括:SCIM端点URL、Bearer Token、属性映射(如userName→email、groups→displayName)、同步频率与冲突策略。建议将同步频率设为5~15分钟,并对active、groups、emails三个字段做重点校验。
四、身份同步的映射与冲突处理
身份同步的核心是“属性映射”与“权威源判定”。常见映射表如下:
| IdP属性 | 云目录属性 | 用途 | 冲突策略 |
|---|---|---|---|
| userName | UserName | 登录标识 | 以IdP为准 |
| emails[0].value | 通知与找回 | 以IdP为准 | |
| groups | Groups | 权限集分配 | 合并,云侧只读 |
| active | Active | 账号启停 | 以IdP为准 |
| department | Department | 标签与审计 | 以IdP为准 |
冲突处理原则:身份标识与启停状态以IdP为权威源;云侧仅保留权限集绑定关系,不反向修改IdP。若出现同名不同人,应使用externalId或employeeNumber作为稳定唯一键,避免以邮箱作为唯一标识。
五、实操示例:以Entra ID + AWS IAM Identity Center为例
假设企业使用Entra ID作为IdP,AWS IAM Identity Center作为云目录。配置步骤如下:
- 在Entra ID中创建企业应用“AWS IAM Identity Center”,配置SAML SSO,下载元数据。
- 在IAM Identity Center中启用外部IdP,上传元数据,完成SAML信任。
- 在Entra ID中开启SCIM自动预配,填入IAM Identity Center提供的SCIM端点与Bearer Token。
- 配置属性映射:
userPrincipalName→userName,mail→emails[0].value,department→department。 - 在IAM Identity Center中创建权限集(如
ReadOnlyAccess、PowerUserAccess),并绑定到Entra ID同步过来的组。 - 测试:在Entra ID中新增用户并加入组,等待SCIM同步后,在IAM Identity Center中确认用户与权限集已生效;再禁用该用户,确认云侧会话被撤销。
Audience与Recipient是否匹配;SCIM是否生效,看云目录中用户的active、groups是否与IdP一致;权限是否收敛,看用户实际获得的权限集是否仅来自其所属组。
身份源与目录集成的目标,是让“人”的变化自动、准确、可审计地反映到“权限”上。企业IdP负责认证与主数据,SCIM负责生命周期同步,SAML/OIDC负责跨域信任,云目录负责权限承载。四者各司其职,才能避免账号孤岛、权限残留与审计断链。