Scribble Maps 帮助中心
更改语言

SCIM 用户预配

配置 SCIM 用户配置

ScribbleMaps 支持 SCIM 2.0(跨域身份管理系统),用于自动化的用户配置和停用。这允许您自动将用户从您的身份提供商 (IdP) 同步到 ScribbleMaps,确保团队成员身份与您组织的目录保持同步。

SCIM 配置可在 team.scribblemaps.com 获得,且完全免费。


目录

  1. 什么是 SCIM?
  2. 在您开始之前
  3. 步骤 1:在 ScribbleMaps 中启用 SCIM
  4. 步骤 2:生成 Bearer Token
  5. 步骤 3:配置您的身份提供商
  6. 步骤 4:设置默认产品分配
  7. 步骤 5:测试并分配用户
  8. 特定提供商指南
  9. 支持的 SCIM 操作
  10. 用户生命周期管理
  11. 故障排除

什么是 SCIM?

SCIM(跨域身份管理系统)是一个开放标准,允许您自动执行以下操作:

  • 配置用户 - 当在您的 IdP 中分配用户时,自动创建 ScribbleMaps 帐户
  • 更新用户 - 保持用户信息(姓名、电子邮件)同步
  • 停用用户 - 当从您的 IdP 中删除用户时,自动停用帐户
  • 管理角色 - 通过组群成员身份将用户分配给 Admin 或 Member 角色

SCIM 与 SSO (SAML/OIDC) 协同工作,提供完整的身份生命周期管理。


在您开始之前

  • 您必须是 Team Owner 才能配置 SCIM
  • 您需要访问身份提供商的管理控制台
  • 您的 IdP 必须支持 SCIM 2.0(Okta、Microsoft Entra ID、OneLogin、JumpCloud 等)
  • 为了获得最佳的用户体验,我们建议在配置 SCIM 之前先配置 SSO

步骤 1:在 ScribbleMaps 中启用 SCIM

  1. 登录到 team.scribblemaps.com
  2. 导航到 SCIM Provisioning(左侧边栏)
  3. Enable SCIM 切换为 ON

注意:在完全启用 SCIM 之前,您需要生成一个 bearer token。


步骤 2:生成 Bearer Token

bearer token 用于向 ScribbleMaps 验证您的身份提供商。

  1. 在 SCIM 设置页面上,点击 Generate Token
  2. 立即复制该 token 并安全地存储它

重要安全注意事项:

  • 该 token 仅显示一次 - 如果丢失,您需要生成一个新 token
  • 请像对待密码一样对待此 token - 任何拥有该 token 的人都可以管理您团队的用户
  • 如果 token 泄露,您可以随时撤销并重新生成该 token
  • 撤销 token 将立即停止所有 SCIM 操作,直到配置了新的 token

步骤 3:配置您的身份提供商

使用以下详细信息在您的 IdP 中将 ScribbleMaps 配置为 SCIM 应用程序:

设置
SCIM Base URL https://api.scribblemaps.com/scim/v2
验证方法 HTTP Header / Bearer Token
Authorization Header Bearer YOUR_TOKEN_HERE
唯一标识符 userName (email address)

SCIM 端点参考

端点 用途
/scim/v2/Users 用户配置和管理
/scim/v2/Groups 角色/组群成员身份管理
/scim/v2/ServiceProviderConfig SCIM 功能(发现)
/scim/v2/ResourceTypes 支持的资源类型(发现)
/scim/v2/Schemas 用户和组群架构(发现)

步骤 4:设置默认产品分配(可选)

当通过 SCIM 配置用户时,您可以自动为他们分配产品许可:

  1. 在 SCIM 设置页面上,找到 Default Product Assignment
  2. 选择一个产品:
    • None - 创建用户时不分配产品(稍后手动分配)
    • Viewer - 仅限查看访问权限
    • Pro Basic - 标准编辑功能
    • Pro Business - 完整功能访问权限
  3. 点击 Save

注意:只有在有空余席位时才会为用户分配产品。如果没有可用席位,则会创建用户并保持未分配状态。


步骤 5:测试并分配用户

  1. 在您的身份提供商中,使用 Test Connection 功能来验证 SCIM 连接性
  2. 在您的 IdP 中将测试用户分配给 ScribbleMaps 应用程序
  3. 验证该用户是否出现在您的 ScribbleMaps 团队成员列表中
  4. 确认后,根据需要分配其他用户或组群

特定提供商指南

Okta

  1. 在 Okta 管理控制台中,转到 Applications > Browse App Catalog
  2. 搜索“SCIM 2.0 Test App (Header Auth)”或创建一个自定义 SCIM 应用程序
  3. 转到 Provisioning 选项卡 > Configure API Integration
  4. 勾选 Enable API integration
  5. 配置:
    • SCIM 2.0 Base URL: https://api.scribblemaps.com/scim/v2
    • OAuth Bearer Token: 粘贴您的 ScribbleMaps SCIM token
  6. 点击 Test API Credentials 进行验证
  7. 转到 Provisioning > To App 并启用:
    • Create Users
    • Update User Attributes
    • Deactivate Users
  8. 转到 Assignments 选项卡以分配用户或组群

Microsoft Entra ID (Azure AD)

  1. 在 Azure 门户中,转到 Microsoft Entra ID > Enterprise Applications
  2. 选择您的 ScribbleMaps 应用程序(或创建一个)
  3. 转到 Provisioning > Get Started
  4. Provisioning Mode 设置为 Automatic
  5. Admin Credentials 下:
    • Tenant URL: https://api.scribblemaps.com/scim/v2
    • Secret Token: 粘贴您的 ScribbleMaps SCIM token
  6. 点击 Test Connection 进行验证
  7. 配置用户属性的 Mappings
  8. Provisioning Status 设置为 On
  9. 转到 Users and groups 以分配用户

OneLogin

  1. 在 OneLogin 管理员中,转到 Applications > Add App
  2. 搜索“SCIM Provisioner with SAML (SCIM v2 Core)”或类似内容
  3. 转到 Configuration 选项卡
  4. 配置:
    • SCIM Base URL: https://api.scribblemaps.com/scim/v2
    • SCIM Bearer Token: 粘贴您的 ScribbleMaps SCIM token
  5. 转到 Provisioning 选项卡并启用配置
  6. 转到 Users 选项卡以分配用户

JumpCloud

  1. 在 JumpCloud 管理员中,转到 SSO Applications
  2. 点击 + 添加新应用程序
  3. 选择 Custom SCIM
  4. 配置:
    • Base URL: https://api.scribblemaps.com/scim/v2
    • Token Key: 粘贴您的 ScribbleMaps SCIM token
    • Authentication: Bearer Token
  5. 点击 Test Connection
  6. 配置属性映射
  7. 将用户组群分配给该应用程序

支持的 SCIM 操作

用户操作

操作 方法 是否支持 描述
列出用户 GET /Users 检索带有分页和过滤功能的所有用户
获取用户 GET /Users/{id} 通过 ID 检索特定用户
创建用户 POST /Users 配置新用户
替换用户 PUT /Users/{id} 完整更新用户属性
更新用户 PATCH /Users/{id} 部分更新用户属性
删除用户 DELETE /Users/{id} 停用用户(软删除)

组群操作

操作 方法 是否支持 描述
列出组群 GET /Groups 返回 Admin 和 Member 角色组群
获取组群 GET /Groups/{id} 检索包含成员列表的组群
更新组群 PATCH /Groups/{id} 从角色组群中添加/删除成员
创建组群 POST /Groups 不支持(角色是固定的)

支持的用户属性

SCIM 属性 ScribbleMaps 字段 是否必填
userName 电子邮件地址
externalId 外部 IdP 标识符
name.givenName 名字
name.familyName 姓氏
displayName 显示名称
active 帐户状态
emails[].value 电子邮件地址

支持的过滤器

过滤器 示例
按电子邮件过滤 userName eq "[email protected]"
按外部 ID 过滤 externalId eq "12345"
按状态过滤 active eq true

用户生命周期管理

当用户被配置时

  1. 在 ScribbleMaps 中创建一个新的团队成员帐户
  2. 从您的 IdP 填充用户信息(姓名、电子邮件)
  3. 如果配置了默认产品且有可用席位,系统会自动分配许可
  4. 用户可以立即通过 SSO 登录(如果已配置)

当用户被更新时

  1. 更新用户属性(姓名、显示名称)以匹配您的 IdP
  2. 电子邮件更改将进行同步(除非用户已关联其帐户)

当用户被停用时

  1. 用户的帐户将被停用(软删除)
  2. 所有产品许可都将被移除,从而释放席位
  3. 所有活动会话将立即失效
  4. 用户将无法再登录
  5. 用户数据和地图将被保留(不会被删除)
  6. 如果重新配置了该用户,则可以重新激活该帐户

通过组群进行角色管理

ScribbleMaps 通过 SCIM 公开两个角色组群:

组群 ID 角色 权限
admin 管理员 管理团队设置、用户和账单
member 成员 标准团队成员访问权限

要将用户分配为管理员,请通过 SCIM PATCH 将其添加到 admin 组群。Owner 角色无法通过 SCIM 进行修改。


故障排除

常见问题

“401 Unauthorized”或“Invalid token”

  • 验证 bearer token 是否正确且未被撤销
  • 确保在 Authorization 标头中将 token 作为 Bearer YOUR_TOKEN 传递
  • 检查 token 是否已过期(如果设置了过期时间)
  • 如果需要,生成一个新 token

“409 Conflict” - 用户已存在

  • 您的团队中已存在使用该电子邮件的用户
  • 如果现有用户已被停用, SCIM 将自动重新激活他们
  • 检查您的 IdP 中是否存在重复的电子邮件地址

“400 Bad Request” - 缺少必填字段

  • 确保请求中包含 userName(电子邮件)
  • 验证电子邮件格式是否有效
  • 检查您的 IdP 的属性映射配置

已创建用户但未分配产品

  • 检查 SCIM 设置中是否配置了默认产品
  • 验证您是否有默认产品的可用席位
  • 可以在 Team Settings 中手动为用户分配产品

用户更改未同步

  • 某些 IdP 按计划进行同步(例如,Azure AD 每 40 分钟同步一次)
  • 尝试在您的 IdP 中强制进行手动同步
  • 验证 SCIM 是否仍处于启用状态且 token 是否有效

测试连接失败

  • 验证 SCIM Base URL 是否完全为 https://api.scribblemaps.com/scim/v2
  • 确保没有尾随斜杠或拼写错误
  • 检查您的网络/防火墙是否允许向 api.scribblemaps.com 发送出站 HTTPS 请求
     

需要帮助?

如果您在 SCIM 配置方面遇到问题,请联系我们的支持团队,并提供以下信息:

  • 您的团队名称
  • 您正在使用的身份提供商
  • 来自您的 IdP 配置日志的任何错误消息
  • 您的 SCIM 配置截图(已隐去 token)

我们随时为您提供帮助,为您的组织配置 SCIM 配置。

最后更新