跳到主要内容

场景: SCIM 用户同步

通过 SCIM 协议将 IdP(Identity Provider)中的用户与组同步到 MimirQ 租户。

场景描述

企业部署中,用户身份通常由统一的 IdP(如 Azure AD、Okta)管理。通过 SCIM 协议自动同步用户创建、更新与禁用,避免手动维护。

同步流程

配置要点

配置项说明
SCIM Endpoint{BASE_URL}/scim/v2/
认证方式Bearer Token(管理员级别)
用户属性映射userName → 登录名,emails → 邮箱
组映射SCIM Groups → MimirQ 角色/租户
信息

SCIM 端点是否启用以及具体路径以部署配置与 Redoc 为准。

curl 示例

# 创建用户
curl -X POST "$BASE_URL/scim/v2/Users" \
-H "Authorization: Bearer $SCIM_TOKEN" \
-H "Content-Type: application/scim+json" \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "john.doe@company.com",
"name": {"givenName": "John", "familyName": "Doe"},
"emails": [{"value": "john.doe@company.com", "primary": true}],
"active": true
}'

# 查询已同步用户
curl -s "$BASE_URL/scim/v2/Users?filter=userName eq \"john.doe@company.com\"" \
-H "Authorization: Bearer $SCIM_TOKEN" | jq '.Resources'

预期结果

操作预期
创建用户MimirQ 中出现对应用户,可登录
更新属性用户信息同步更新
禁用用户用户无法登录但数据保留

注意事项

  • SCIM 同步为最终一致,IdP 侧修改后同步到 MimirQ 可能有延迟
  • 删除用户时建议使用禁用active: false)而非硬删除,保留审计数据
  • 组映射配置影响用户在 MimirQ 中的角色与租户归属

排障

问题可能原因
同步失败 401SCIM Token 无效或过期
用户未出现属性映射不正确或 filter 条件不匹配
角色不正确组映射配置与 IdP 组名不一致

相关链接