SCIM 2.0 支持
OPL 数据空间 支持 SCIM 2.0(System for Cross-domain Identity Management),可与 Okta、Azure AD、Google Workspace 等身份提供方联动,实现用户和用户组的自动开通。
组织感知下发
在启用了 组织 的部署里,SCIM 下发应与落地组织行为一起评估。即便新账号创建时没有显式组织上下文,它也仍然需要一个有效的归属组织。
概览
SCIM 是一个开放标准,用于自动化用户生命周期管理。启用后,身份提供方可以自动:
- 在用户加入组织时于 OPL 数据空间 中创建账号
- 在用户信息发生变化时同步更新
- 在用户被移除时停用账号
- 管理用户组成员关系
如果你的身份流程在下发时没有附带显式组织信息, OPL 数据空间 会按照当前配置的落地组织规则解析新用户的归属组织。上线前建议同时阅读 组织 和 组织维护。
配置
SCIM 完全通过环境变量配置,没有 UI 设置入口。
环境变量
SCIM_ENABLED:设为true启用 SCIM(默认false)SCIM_TOKEN:SCIM 认证用 Bearer Token(启用 SCIM 时必填)SCIM_AUTH_PROVIDER:将externalId绑定到哪个 OAuth provider,例如microsoft、oidc
注意
SCIM_TOKEN 应使用安全的随机字符串生成,例如:
openssl rand -base64 32请把它当成高敏感凭据管理。
配置示例
SCIM_ENABLED=true
SCIM_TOKEN="your-secure-token-here"
SCIM_AUTH_PROVIDER="microsoft"IdP 侧接入参数
- SCIM Base URL:
<your-openwebui-url>/api/v1/scim/v2/ - Authentication:Bearer Token
- Token:
Bearer <your-scim-token>
以 Okta 为例
- 在 Okta 中添加 SCIM 应用
- 把 Connector Base URL 设为
https://your-domain.com/api/v1/scim/v2/ - 认证方式选 “HTTP Header”
- 添加
Authorization: Bearer your-scim-token
支持的 SCIM 操作
用户操作
- Create User(
POST /Users) - Get User(
GET /Users/{id}) - Update User(
PUT /Users/{id}/PATCH /Users/{id}) - Delete User(
DELETE /Users/{id},表现为停用) - List Users(
GET /Users,支持过滤)
用户组操作
- Create Group(
POST /Groups) - Get Group(
GET /Groups/{id}) - Update Group(
PUT /Groups/{id}/PATCH /Groups/{id}) - Delete Group(
DELETE /Groups/{id}) - List Groups(
GET /Groups,支持过滤)
支持的属性
用户属性
userName:用户邮箱(必填且唯一)name.givenName:名name.familyName:姓emails:邮箱列表;若有多个,会优先使用primary: trueactive:账号是否启用externalId:身份提供方的外部标识,会按 provider 存入用户的scimJSON 字段
用户组属性
displayName:组名(必填)members:成员数组externalId:外部身份提供方标识