IDaaS支持作为SCIM Server服务端,通过SCIM协议(System for Cross-domain Identity Management,跨域身份管理系统)与应用进行账户和组数据的同步。SCIM协议旨在规范不同系统间的身份数据共享原则和接口定义,从而提升身份系统之间的互操作性(Interoperability)。
适用范围
已开通应用身份服务(IDaaS)并在EIAM 云身份服务下创建实例。
第三方身份体系支持SCIM协议,并已准备好相关配置信息。
步骤一:创建应用
登录阿里云IDaaS控制台,单击左侧导航栏的EIAM 云身份服务,在右侧IDaaS下的实例列表中,定位目标实例,单击操作列下的访问控制台。
在应用身份服务页面的左侧导航栏中,选择,随后在应用列表页面单击添加应用。
根据需求,选择标准协议或自研应用,单击添加应用或添加自研应用。
说明默认仅标准应用和自研应用支持同步到 IDaaS。
在弹出的对话框中,修改应用名称,单击立即添加,进入应用详情页面。
步骤二:设置账户同步范围
在应用详情页的顶部页签栏中,选择账户同步,设置同步范围。
在弹出的设置同步范围面板中,选择目标组织和组。
步骤三:设置应用同步到IDaaS参数
在账户同步下,单击应用同步到IDaaS页签,参考以下内容,填写基础配置。
同步目标:
指定无所属组织的 IDaaS 账户在通过 SCIM 导入账户时,自动归属的组织(已有所属组织时不受影响)。仅能选择 IDaaS 同步范围中的组织作为同步目标。
Bearer Token:
单击添加 Bearer Token,在弹出的设置有效期面板中设置Bearer Token 有效期,有效期可选范围为1天至3年。
Bearer Token是一种安全凭证,持有者可凭借此令牌访问受保护的资源,无需重复提供身份验证信息(如用户名和密码)。其作为一种重要的客户端身份凭证,与 Client ID/Secret 共同用于凭证管理。在配置时,需遵循以下规则:
数量限制:系统最多允许存在两个 Bearer Token。
状态要求:必须保持至少一个令牌处于“启用”状态。
删除流程:删除一个令牌前,必须先将其状态设置为“禁用”。
SCIM Base URL:
SCIM 接口的地址,提供给 SCIM Client 调用。
开放接口权限:
通过 SCIM 同步数据到 IDaaS时,需在API 开放中开放SCIM API 接口权限,以供应用调用。
单击前往授权,进入API 开放页面。
在页面顶部,单击API 开放后的
,然后在弹出的启用提示面板中,单击确认启用。在SCIM API 接口权限区域,选择所有功能场景,然后单击保存。
填写高级配置。
以上配置仅支持基础字段同步至IDaaS,若需同步更多字段,可通过高级配置将其同步至IDaaS的扩展字段中。单击应用同步到IDaaS下的显示高级配置,设置如下参数。
自定义字段Namespace:指定Namespace,必须和第三方系统中的Namespace保持一致。
Okta:建议填写
urn:ietf:params:scim:schemas:extension:customfield:2.0:User。Microsoft Entra ID(Azure AD):建议填写
urn:ietf:params:scim:schemas:extension:${CustomExtensionName}:2.0:User,其中${CustomExtensionName}为变量,请根据实际情况进行调整。
同步目标字段:选择需要同步的目标字段(仅支持扩展字段),支持选择多个。如需设置扩展字段可参考创建扩展字段。
完成上述配置后,单击保存即可。
支持同步的基础字段
User:
SCIM字段 | IDaaS字段 | 说明 |
id | userId | 用户唯一ID |
userName | username | 用户名 |
displayName | displayName | 用户显示名称 |
phoneNumbers [type eq "work"] | phoneNumber | 手机号 若手机号带区号,前面必须加"+" 仅支持一个phoneNumber的存储,且type=work |
phoneRegion | phoneRegion | 手机号区号 若不填且手机号带区号则截取手机号中的区号; 若填写,且该字段与手机号中的区号不一致,则报错; 若不填且手机号未包含区号,则默认"86" |
emails [type eq "work"] | 仅支持一个email的存储,且type=work | |
externalId | userExternalId | 外部ID |
active | status | 用户状态 active=true时,status为enabled active=false时,status为disabled |
password | password | 密码,明文。若格式不正确则报错 |
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
| - | - |
organizationId | 账户所属组织的ID。 若无值,则账户放在同步目标下 若有值,则账户放在该组织下 |
Group:
SCIM字段 | IDaaS字段 | 说明 |
id | groupId | 组唯一ID |
displayName | groupName | 组名称 |
externalId | groupExternalId | 组外部ID |
members
| - | 组成员 |
- | 组成员类型,只支持User | |
userId | 用户唯一ID | |
- | 成员资源的完整URL |
生产环境使用建议
最佳实践
Bearer Token 管理:启用轮换机制,定期更新 Token,避免长期暴露单一凭证。
同步范围最小化:仅开放必要组织与组,降低误同步风险。
监控同步状态:关注 API 调用频率与失败日志,及时发现异常行为。
容错与安全
禁止删除最后一个启用的 Token,否则会导致同步中断。
字段一致性校验:确保外部系统发送的
phoneNumbers、emails类型正确,否则同步失败。幂等性保障:重复提交相同用户数据应视为更新而非新建。
相关文档
将上游应用通过SCIM配置到IDaaS,请参见:通过SCIM同步Microsoft Entra ID(Azure AD)用户或用户组、通过SCIM同步Okta用户或用户组。
通过SCIM将应用数据同步到IDaaS时,如果应用标准支持SCIM协议,完成配置后应用将自行调用IDaaS SCIM API,您无需手动调用。请参见:EIAM支持的SCIM 2.0接口。
企业可通过应用管理账号,并实时同步数据至IDaaS。请参见:账户数据同步。
IDaaS向企业开发者提供API,用于账户和组织信息的导入与同步,请参见:应用 API 开放。