始める前に
- ClickHouse Cloud 組織の Admin ロール。
- Entra ID と ClickHouse Cloud の間で SAML SSO がすでに設定されていること。SCIM でユーザーアカウントが作成され、それらのアカウントは SAML 経由でサインインするため、事前に SSO が機能している必要があります。
- エンタープライズアプリケーションの Provisioning を設定する権限を持つ、少なくとも Application Administrator (または Cloud Application Administrator) ロールが割り当てられた Microsoft Entra 管理センターへのアクセス。
- SCIM 経由で割り当てるロールのリスト (例: Admins、Developers、Read-only) 。事前に決定してください。Entra ID で対応するグループを作成します。
SCIM と ClickHouse Cloud の連携の仕組み
- Entra ID の管理者が、ユーザーを直接、またはグループを介して ClickHouse Cloud のエンタープライズアプリケーションに割り当てます。
- Entra ID のプロビジョニングサービスが、生成した Bearer token を使用して認証を行い、HTTPS 経由で ClickHouse Cloud の SCIM エンドポイント を呼び出します。
- ClickHouse Cloud は組織内にユーザーを作成し、Entra ID のグループメンバーシップに基づいてロールを割り当てます。
- ユーザーは、既存の SAML SSO フローを介して ClickHouse Cloud にサインインします。
- Entra ID でのプロファイル、グループの変更、およびアカウントの無効化は、ClickHouse Cloud に自動的に反映されます。
ClickHouse Cloud 組織で SCIM を設定する
SCIM を有効にする
Enable SCIM をクリックします。SAML SSO を接続すると SCIM のロックが解除されます。オプションがグレーアウトされている場合は、先に SAML の設定を完了してください。次の形式の SCIM endpoint URL が生成されます。SCIM アクセストークンを生成する
Generate new key セクションで、有効期限を選択します。Generate new key をクリックします。トークンは、キー (scim_ で始まる) とシークレットとして 一度だけ 表示されます。すぐに両方をコピーし、安全なシークレットマネージャーに保存してください。後から取得することはできません。紛失した場合は、トークンを取り消して新しいトークンを生成してください。Entra ID 用に、キーとシークレットを次の形式の単一の Bearer token に結合します。scim_ で始まるトークンのキー、コロン、トークンのシークレットを、スペースを入れずに連結します。Entra ID は、すべてのリクエストでこの値を Authorization: Bearer ヘッダーとして送信します。ロールマッピングを定義する
- SCIM グループを定義済みのシステムロールにマッピングすることはできません。 SCIM マッピングはカスタムロールにのみ適用されます。SCIM を通じてシステムレベルの機能を公開する必要がある場合は、必要な権限をまとめたカスタムロールを作成してください。
- 名前が一致すると自動的に紐付けられます。 カスタムロールが受信した SCIM グループと同じ名前の場合、ClickHouse Cloud は自動的に紐付けます。手動でマッピングする必要はありません。
- グループ名とは異なるロール名を使用するには、使用するロール名でカスタムロールを作成し、その SCIM group フィールドを紐付ける SCIM グループの名前に設定します。
- マッピングされていないグループでは新しいロールが作成されます。 Entra ID が、既存のロール名と一致せず、どのロールの
SCIM groupフィールドからも参照されていないグループをプッシュすると、ClickHouse Cloud はそのグループ名で新しいカスタムロールを作成します。その後、必要な権限を付与できます。
Microsoft Entra ID でプロビジョニングを設定する
ClickHouse Cloud Enterprise アプリケーションを開きます
プロビジョニング モードと認証情報を設定する
Get started (または Provisioning → Edit provisioning) をクリックします。Provisioning Mode を Automatic に設定します。Admin Credentials で、以下の項目を入力します。- Tenant URL — ClickHouse Cloud Console の SCIM エンドポイント URL (
.../scimURL) 。 - Secret Token — SCIM 認証情報をコロンで連結したもの。形式は
<scim-key>:<scim-secret>です。Entra ID はこれをAuthorization: Bearerヘッダーとして送信します。
Test Connection をクリックします。Entra ID が SCIM エンドポイントに対してテスト呼び出しを行い、成功通知が表示されます。失敗した場合は、トラブルシューティングを参照してください。Save をクリックします。属性マッピングを設定する
- Provision Microsoft Entra ID Users
- Provision Microsoft Entra ID Groups
userPrincipalName を userName にマッピングします。重要なのは、userName の値の取得元が、ユーザーが SAML SSO でサインインする際に使用するメールアドレスと同じメールアドレスを持つ属性であることです。特定の属性名である必要はありません。一部のテナントでは userPrincipalName がすでにそのメールアドレスであるため、変更は不要です。一方、メールアドレスが mail に格納されている場合は、mail を userName の取得元にするようマッピングを編集します。取得元を変更するには、userName の行をクリックし、Source attribute を正しい属性に設定して保存します。userName がプライマリの照合属性となるよう、Matching precedence を設定します。サポートされていないマッピングは削除できます。SCIM の標準セット以外の項目は ClickHouse Cloud 側で無視されます。以下の行はデフォルトでマッピングされています。各項目が正しく設定されていることを確認してください。displayName が displayName に、members が members にマッピングされていることを確認します。グループの表示名は、ClickHouse Cloud のロールへのバインドに使用されます。Provisioning の適用範囲を設定する
- Scope を
Sync only assigned users and groupsに設定します。これにより、プロビジョニングの対象が、次のステップでアプリケーションに明示的に割り当てるユーザーとグループに限定されます。 - Provisioning Status は、テストユーザーを割り当てた後にオンにするため、現時点では
Offのままにします。
Save をクリックします。グループとユーザーの割り当て
ClickHouse-Admins → Admin の場合は、Entra ID で ClickHouse-Admins というグループを作成します。グループをアプリケーションに割り当てます。 エンタープライズ アプリケーションで、Users and groups → Add user/group に移動し、ロールグループを選択して割り当てます。各ロールグループについて繰り返します。アプリケーションのプロビジョニング スコープは assigned users and groups に設定されているため、プロビジョニングされるのはこれらのグループとそのメンバーのみです。- グループ経由 (推奨) 。 アプリケーションに割り当てた Entra ID グループにユーザーを追加します。ユーザーは ClickHouse Cloud にプロビジョニングされ、対応するロールが自動的に割り当てられます。
- 直接割り当て。 Users and groups で個々のユーザーをアプリケーションに割り当てます。割り当て済みグループのメンバーでもある場合を除き、ユーザーは Default role でプロビジョニングされます。
プロビジョニングを有効にする
On に設定して、Save をクリックします。Entra ID は定期的に (約 40 分ごと) プロビジョニングを実行します。テストなどで特定のユーザーをすぐにプロビジョニングするには、Provisioning → Provision on demand でユーザーを検索し、プロビジョニングを 1 回実行します。インテグレーションをテストする
本番環境のベストプラクティス
トークンを定期的にローテーションする
直接割り当てではなくグループを使用する
監査ログを確認する
適切なデフォルトロールを設定する
SCIM と手動招待を併用しない
Provisioning サイクルを考慮する
トラブルシューティング
Entra ID で「Test connection」が失敗する
Entra ID で「Test connection」が失敗する
- ClickHouse Cloud Console で SCIM が有効になっていることを確認します。
- Entra ID の Tenant URL が Cloud Console に表示されている SCIM エンドポイント URL と完全に一致していることを確認します。組織 ID が正しく設定されている必要があります。
- Secret Token が
<scim-key>:<scim-secret>の形式であることを確認します。scim_で始まるキー、コロン、シークレットの順に指定します。先頭または末尾に空白を含めず、Bearerプレフィックスも付けないでください (Entra ID により自動的に追加されます) 。 - トークンをローテーションした場合は、以前のペアではなく、新しいキーとシークレットを使用していることを確認します。
ユーザーは作成されるが権限がない
ユーザーは作成されるが権限がない
- 想定するロールについて、Map roles in “Users and roles” に行を追加していることを確認します。
- Entra ID のグループ名が、マッピング内の SCIM グループ名と、大文字・小文字やハイフンも含めて完全に一致していることを確認します。
- 意図的に一部のユーザーをグループなしでプロビジョニングする場合は、Default role が設定されていることを確認します。
ユーザーまたはグループがまったくプロビジョニングされない
ユーザーまたはグループがまったくプロビジョニングされない
- Provisioning Status が
Onになっていることを確認します。 - Scope が
Sync only assigned users and groupsに設定され、ユーザーまたはグループが Users and groups で実際にアプリケーションに割り当てられていることを確認します。 - プロビジョニングサイクルは約40分ごとに実行されます。個別のユーザーをすぐにテストするには、Provision on demand を使用します。
- メンバーだけでなくグループ自体をプロビジョニングするには、Microsoft Entra ID P1 以上が必要です。
メンバーリストに重複したユーザーが表示される
メンバーリストに重複したユーザーが表示される
グループのプロビジョニングが名前の不一致で失敗する
グループのプロビジョニングが名前の不一致で失敗する
無効化されたユーザーがメンバーとして表示され続ける
無効化されたユーザーがメンバーとして表示され続ける
SCIM トークンをローテーションした後、Entra ID が失敗するようになった
SCIM トークンをローテーションした後、Entra ID が失敗するようになった
<scim-key>:<scim-secret> 形式の Secret Token を更新したことを確認します。更新後、Test Connection をクリックして確認します。プロビジョニングが正常な状態に戻ったら、ClickHouse Cloud Console で古いトークンを取り消します。SCIM トークンを紛失した
SCIM トークンを紛失した
よくある質問
SCIM を使用するには、事前に SAML SSO が必要ですか?
SCIM を使用するには、事前に SAML SSO が必要ですか?
SAML と SCIM に同じエンタープライズアプリケーションを使用できますか?
SAML と SCIM に同じエンタープライズアプリケーションを使用できますか?
Secret Token が key:secret 形式なのはなぜですか?
Secret Token が key:secret 形式なのはなぜですか?
Authorization: Bearer ヘッダーとして送信して認証します。ClickHouse Cloud の SCIM エンドポイントでは、ベアラー値として、トークンキーとシークレットをコロンで連結した値を想定しています。Entra ID での変更はどのくらいで ClickHouse Cloud に反映されますか?
Entra ID での変更はどのくらいで ClickHouse Cloud に反映されますか?
困った場合はどこでサポートを受けられますか?
困った場合はどこでサポートを受けられますか?
- 組織 ID
- Entra ID エンタープライズアプリケーションの名前 (およびオブジェクト ID)
- Provisioning → View provisioning logs にある失敗したエントリのスクリーンショット