SCIM 预配目前处于私有预览阶段。
开始之前
- 在你的 ClickHouse Cloud 组织中拥有 Admin 角色。
- 已在你的 IdP 与 ClickHouse Cloud 之间配置好 SAML 单点登录。SCIM 会创建用户账户;这些账户通过 SAML 登录,因此必须先确保 SSO 已正常工作。
- 拥有 Okta 租户的超级管理员权限,并具备安装应用和配置预配的权限。
- 一份你希望通过 SCIM 分配的角色列表 (例如:Admins、Developers、Read-only) 。请提前确定这些角色——你需要在 Okta 中创建对应的组。
SCIM 在 ClickHouse Cloud 中的工作方式
- Okta 中的管理员将用户直接或通过组分配给 ClickHouse Cloud 应用。
- Okta 通过 HTTPS 调用 ClickHouse Cloud 的 SCIM 端点,并使用你生成的令牌进行身份验证。
- ClickHouse Cloud 会在你的组织中创建该用户,并根据 Okta 的组成员身份分配 角色。
- 用户通过你现有的 SAML 单点登录流程登录 ClickHouse Cloud。
- 在 Okta 中对用户资料、组以及停用状态所做的更改,会自动同步到 ClickHouse Cloud。
在您的 ClickHouse Cloud 组织中配置 SCIM
1
启用 SCIM
以组织管理员身份登录 ClickHouse Cloud 控制台,然后打开 组织设置 → SAML 和 SCIM 设置 → SCIM 配置。点击Enable SCIM。连接 SAML 单点登录后,SCIM 才会解锁;如果该选项显示为灰色,请先完成 SAML 设置。系统会生成一个 SCIM 端点 URL,格式如下:2
生成 SCIM 访问令牌
找到Create an API key 部分,并选择过期日期。点击 Generate key。该令牌只会显示一次,包含一个密钥 (前缀为 scim_) 和一个 secret。请立即复制这两项,并将其存储到安全的 secrets manager 中——之后无法再次查看。如果丢失,请撤销该令牌并生成新令牌。3
定义角色映射
在 SCIM 配置 面板中,点击 Map roles in “用户和角色” (或直接进入 用户和角色 → Roles) 。SCIM 组会按名称绑定到 ClickHouse Cloud 角色,但需要注意以下规则:- 您不能将 SCIM 组映射到预定义的系统角色。 SCIM 映射仅适用于自定义角色。如果您需要通过 SCIM 提供系统级能力,请创建一个包含所需权限的自定义角色。
- 同名会自动关联。 如果某个自定义角色与传入的 SCIM 组同名,ClickHouse Cloud 会自动将它们关联起来——无需手动映射。
- 如果要使用与组名不同的角色名,请先用您想要的角色名创建自定义角色,然后将其 SCIM group 字段设置为它应绑定的 SCIM 组名称。
- 未映射的组会创建新角色。 如果 Okta 推送了一个组,而该组既不匹配现有角色名称,也未被任何角色的
SCIM group字段引用,ClickHouse Cloud 会使用该组名称创建一个新的自定义角色。随后,您可以为其授予所需权限。
在 Okta 中配置 ClickHouse Cloud 应用
1
在 Okta 中打开您的 ClickHouse Cloud 应用
在 Okta Admin Console 中,前往 Applications → Applications,搜索您在为 ClickHouse Cloud 配置 SAML 单点登录时创建的应用。打开它。如果您尚未创建该 SAML 应用,请先参考 SAML SSO 设置指南——SCIM 预配也是在同一个应用中配置的。在 General 选项卡中,找到 App Settings 部分并点击Edit。在 Provisioning 下选择 SCIM,然后点击 Save。现在,该应用会显示一个 Provisioning 选项卡。2
将 Okta 连接到 SCIM 端点
打开应用的 Provisioning 选项卡,然后点击Edit。填写表单:- SCIM connector base URL — 前面步骤中的 SCIM 端点 URL。
- Unique identifier field for users —
userName。 - Supported provisioning actions — 选择以下所有项:
- 导入新用户和个人资料更新
- 推送新用户
- 推送个人资料更新
- 推送组
- 导入组
- Authentication Mode —
Basic Auth。- Username — SCIM 令牌 key (以
scim_开头) 。 - Password — SCIM 令牌 secret。
- Username — SCIM 令牌 key (以
Test Connector Configuration。你应会看到绿色的确认提示。如果失败,请跳转到故障排查。点击 Save。3
配置预配行为
仍在 Provisioning 选项卡中,点击左侧边栏中的To App。点击 Edit 并启用:点击
Save,然后返回该应用的 Sign On / Provisioning 选项卡,确认这些设置已生效。4
映射用户属性
Okta 和 ClickHouse Cloud 需要就用户字段的对应关系保持一致。在 Provisioning 选项卡中,点击To App,然后检查你的应用的 Attribute Mappings。Okta SAML 应用的默认设置通常就可以满足需求——请核对下表:你还可以添加部门、主管和位置等可选属性——ClickHouse Cloud 会将它们存储在用户资料中,但目前不会将其用于权限控制。任何不属于 SCIM 标准集的属性都会在 ClickHouse Cloud 端被忽略。
5
推送组并分配用户
角色就是在这里自动应用的。在 Okta 中创建组。 对于你之前设置的每个角色映射,在 Okta 中创建或确认一个显示名称完全一致的组。例如,如果你的映射是ClickHouse-Admins → Admin,就在 Okta 中创建一个名为 ClickHouse-Admins 的组。打开你刚创建的组,然后点击 Assign people,将成员添加到该组。然后将 SCIM 应用也分配给同一个组,这样角色成员关系和应用访问权限就能保持同步。推送这些组。 在应用的 Provisioning 选项卡中,点击 Push Groups → Find groups by name,搜索你的组,然后点击 Save。对每个角色组重复此操作。预配完成后,每个组的 Push Status 都应显示为 Active (Pushed)。分配用户。 你有两种方式:- 通过组 (推荐) 。 将用户添加到你刚刚推送的 Okta 组中。他们会被预配到 ClickHouse Cloud,并自动分配相应角色。
- 直接分配。 在应用的 Assignments 选项卡中,点击
Assign → Assign to People并选择单个用户。除非他们同时属于某个已推送的组,否则会按 Default role 进行预配。
测试集成
如果任何一步失败,请先解决根本问题后再继续——这些症状通常会连带放大。
生产环境最佳实践
故障排查
Okta 中“测试连接器配置”失败
- 确认已在 ClickHouse Cloud 控制台中启用 SCIM。
- 确认 Okta 中的 base URL 与 Cloud 控制台中显示的 SCIM 端点 URL 完全一致——组织 ID 必须正确。
- 确认粘贴的 token key and secret 前后没有多余空白字符。
- 如果你已轮换令牌,请确保使用的是新的 key 和 secret,而不是之前那一对。
用户已创建,但没有任何权限
- 检查你是否已在 “用户和角色”中的“映射角色” 下,为所需角色添加了一行。
- 检查 Okta 组名是否与映射中的 SCIM 组名完全一致,包括大小写和连字符。
- 如果你的设计本来就会为部分用户预配而不分配任何组,请确认已设置 默认角色。
成员列表中有重复用户
组推送失败,并提示“displayName not recognised”
已停用的用户仍显示为成员
我轮换了 SCIM 令牌,现在 Okta 无法正常工作
Test Connector Configuration 进行确认。待预配状态恢复为绿色后,再到 ClickHouse Cloud 控制台中撤销旧令牌。
我把 SCIM 令牌弄丢了
常见问题
- 你的组织 ID,
- 你的 Okta 应用 ID,以及
- Okta 日志中失败任务或测试的截图。