配置 SCIM 目录同步(预配)
单点登录激活后,CalendarBridge 可以使用 SCIM 2.0 从你的身份提供商自动创建、更新和停用用户账户。这意味着用户在你的目录中被分配的那一刻就被预配,离开的那一刻就被取消预配——无需手动管理许可证。
SCIM 预配的作用
SCIM(跨域身份管理系统,System for Cross-domain Identity Management)是身份提供商用来将用户生命周期变更推送到应用程序的开放标准。启用 SCIM 后,每当用户被分配、更新或移除时,你的 IdP 都会向 CalendarBridge 发送一个请求,CalendarBridge 会自动保持其用户列表同步。
- 标准:SCIM 2.0。
- 前提条件:针对同一已验证域的活跃 SSO 配置。请先参见配置单点登录——SCIM 部分会出现在每个活跃的 SSO 配置之下。
- 谁可以配置它:只有 CalendarBridge 组织管理员。
- 操作:创建用户、更新用户属性,以及停用(取消预配)用户。
你的 SCIM 端点和令牌
当为某个域启用 SCIM 时,单点登录标签页会显示你的身份提供商所需的两个值:
| 值 | 描述 |
|---|---|
| SCIM 端点(Base URL / Tenant URL) | 你的 IdP 发送 SCIM 请求的目标基础 URL。使用复制按钮从 SSO 标签页复制它。 |
| Bearer 令牌(API 令牌 / Secret 令牌) | 你的 IdP 在每个请求上出示的身份验证令牌。它在生成或轮换时仅显示一次——立即复制并将其存储在你的 IdP 中。 |
身份验证
CalendarBridge 使用在 HTTP Authorization 标头中出示的 OAuth 2.0 Bearer 令牌对 SCIM 请求进行身份验证。在你 IdP 的 SCIM 连接器中完全按所示输入该令牌(在 Okta 中,不要包含“Bearer”一词——Okta 会自动添加)。你可以随时从 SCIM 部分轮换令牌,而无需重新配置 SSO。
受支持的资源和属性
CalendarBridge 实现了 SCIM 2.0 Users 资源。CalendarBridge 读取的属性列于下方;你的 IdP 发送的其他属性会被接受并忽略。
| SCIM 属性 | 在 CalendarBridge 中映射到 | 备注 |
|---|---|---|
userName | 用户的唯一登录名(电子邮件) | 必填。必须位于该组织的已验证域上。 |
emails[primary] / emails[work] | 电子邮件地址 | 用于将用户匹配到你的域和 SSO。 |
name.givenName | 名字 | 填充显示名称。 |
name.familyName | 姓氏 | 可选。 |
active | 账户启用 / 禁用 | 设置 active=false 会取消预配(停用)该 CalendarBridge 用户。 |
active=false 的更新(软删除),这会停用 CalendarBridge 中的该用户并释放其许可证。重新分配该用户会重新激活他们。在你的身份提供商中启用 SCIM
打开单点登录标签页,找到你域的活跃配置,并滚动到 SCIM 部分。从内置指南中选择你的身份提供商以获取确切的菜单路径,然后按照下面针对你 IdP 的步骤操作。在每种情况下,你都需要粘贴来自门户的 SCIM 端点和 Bearer 令牌。
Microsoft Entra ID(Azure AD)
-
打开应用的 Provisioning 边栏
在 Microsoft Entra 管理中心,前往 Enterprise applications,打开你的 CalendarBridge 应用,并选择 Provisioning。
-
将 Provisioning Mode 设置为 Automatic
然后输入凭据:Tenant URL = 来自门户的 SCIM 端点;Secret Token = 来自门户的 Bearer 令牌。
-
测试连接,然后保存
点击 Test Connection 以确认 Entra ID 能够访问该端点并进行身份验证,然后点击 Save。保留默认的用户属性映射。
-
开启预配并分配用户
将 Provisioning Status 设置为 On 并保存。在 Users and groups 下,分配要同步的用户或群组。Entra ID 会在其下一个周期中预配他们。
Okta
-
打开 Provisioning 标签页
在 Okta Admin 中,打开你的 CalendarBridge 应用,前往 Provisioning 标签页,并点击 Configure API Integration → Enable API integration。
-
输入 SCIM 凭据
Base URL = 来自门户的 SCIM 端点;API token = 来自门户的 Bearer 令牌(不带
Bearer前缀)。点击 Test API Credentials,然后点击 Save。 -
启用预配操作
在 Provisioning → To App 下,启用 Create Users、Update User Attributes 和 Deactivate Users。
-
分配用户或群组
将用户或群组分配给该应用;Okta 会立即将他们推送到 CalendarBridge。
Google Workspace
-
打开 Auto-provisioning
在 Google Admin 控制台中,前往 Apps → Web and mobile apps,打开你的 CalendarBridge SAML 应用,并点击 Auto-provisioning。
-
输入 SCIM 凭据
Base URL = 来自门户的 SCIM 端点;API token = 来自门户的 Bearer 令牌。点击 Test connection。
-
映射属性
映射 Primary email → userName、First name → name.givenName、Last name → name.familyName。
-
设置范围并将其开启
选择要预配的用户、组织部门(OU)或群组,然后切换 Auto-provisioning ON。
JumpCloud
-
打开 Identity Management
在 JumpCloud Admin 中,打开你的 CalendarBridge SAML 应用并前往 Identity Management 标签页。
-
启用 SCIM 并输入凭据
Base URL = 来自门户的 SCIM 端点;Token = 来自门户的 Bearer 令牌。点击 Test 和 Save。
-
分配用户或群组
将用户或用户群组分配给该应用;JumpCloud 会将他们同步到 CalendarBridge。
轮换 SCIM 令牌
如果令牌被暴露、丢失,或者你只是想按计划轮换它,请在 SCIM 部分点击轮换令牌。新令牌只显示一次;先前的令牌会立即停止工作,因此请立即在你 IdP 的 SCIM 连接器中更新它,以避免同步中断。
疑难解答
| 症状 | 可能原因与解决方法 |
|---|---|
| 测试连接失败,返回 401 / 未授权 | Bearer 令牌有误或已被轮换。从 SCIM 部分复制当前令牌(如有需要则轮换)并重新输入。在 Okta 中,确保你没有添加 Bearer 前缀。 |
| 用户没有被创建 | 确认预配已开启、用户已在你的 IdP 中分配给该应用,并且他们的电子邮件位于已验证的域上。 |
| “User must exist on a verified domain”类错误 | 该用户的 userName/电子邮件位于一个未为此组织验证的域上。添加并验证该域,或将预配范围限制为已验证的域。 |
| 被移除的用户仍有访问权限 | 取消预配发生在 IdP 发送 active=false 时。确保已启用 Deactivate Users(或你 IdP 的等效项),并且该用户是被取消分配,而不仅仅是被隐藏。 |
获取帮助
如果 SCIM 预配的行为不符合预期,请联系 CalendarBridge 支持,并附上你组织的域、你的身份提供商,以及对所分配内容与实际同步内容的描述。