SCIMプロビジョニングはプライベートプレビューです。
始める前に
- ClickHouse Cloud の組織で Admin ロールを持っていること。
- IdP と ClickHouse Cloud の間で SAML SSO がすでに設定済みであること。SCIM でユーザーアカウントは作成されますが、それらのアカウントは SAML 経由でサインインするため、まず SSO が正常に動作している必要があります。
- Okta テナント に対するスーパー管理者権限があり、アプリケーションのインストールと Provisioning の設定を行えること。
- SCIM 経由で割り当てるロールの一覧 (例: Admins、Developers、Read-only) 。これは事前に決めておいてください。Okta で対応するグループを作成します。
SCIM と ClickHouse Cloud の連携の仕組み
- Okta の管理者が、ユーザーを直接またはグループ経由で ClickHouse Cloud アプリケーションに割り当てます。
- Okta は、生成したトークンを使って認証し、HTTPS 経由で ClickHouse Cloud の SCIM エンドポイントを呼び出します。
- ClickHouse Cloud は、組織内にユーザーを作成し、Okta のグループ所属に基づいてロールを割り当てます。
- ユーザーは、既存の SAML SSO フローを使用して ClickHouse Cloud にサインインします。
- プロファイルやグループの変更、Okta での無効化は、自動的に ClickHouse Cloud に反映されます。
ClickHouse Cloud の組織で SCIM を設定する
1
SCIM を有効にする
組織管理者として ClickHouse Cloud Console にサインインし、組織設定 → SAML and SCIM settings → SCIM Configuration を開きます。Enable SCIM をクリックします。SCIM は SAML SSO の接続後に有効になります。オプションがグレーアウトしている場合は、先に SAML の設定を完了してください。次の形式の SCIM エンドポイント URL が生成されます。2
SCIM アクセストークンを生成する
Create an API key セクションで有効期限を選択します。Generate key をクリックします。トークンは 一度だけ、キー (scim_ プレフィックス付き) とシークレットとして表示されます。両方をすぐにコピーし、安全なシークレットマネージャーに保存してください。後から再取得することはできません。紛失した場合は、そのトークンを取り消して新しいものを生成してください。3
ロールマッピングを定義する
SCIM Configuration パネルで Map roles in “Users and roles” をクリックします (または Users and roles → Roles から直接移動します) 。SCIM グループは名前に基づいて ClickHouse Cloud のロールに紐付けられます。あわせて次のルールに注意してください。- SCIM グループを定義済みのシステムロールにマップすることはできません。 SCIM マッピングが適用されるのはカスタムロールのみです。SCIM 経由でシステムレベルの権限を公開する必要がある場合は、必要な権限をまとめたカスタムロールを作成してください。
- 名前が一致すると自動的にリンクされます。 カスタムロールが受信した SCIM グループと同じ名前であれば、ClickHouse Cloud が自動的に紐付けます。手動マッピングは不要です。
- グループ名とは異なるロール名を使うには、まず使用したいロール名でカスタムロールを作成し、その後、そのロールが紐付けられる SCIM グループ名を SCIM group フィールドに設定してください。
- 未マップのグループは新しいロールを作成します。 Okta が、既存のロール名と一致せず、どのロールの
SCIM groupフィールドからも参照されていないグループをプッシュすると、ClickHouse Cloud はそのグループ名で新しいカスタムロールを作成します。その後、そのロールに必要な権限を付与できます。
Okta で ClickHouse Cloud アプリケーションを設定する
1
Okta で ClickHouse Cloud アプリケーションを開く
Okta Admin Console で Applications → Applications に移動し、ClickHouse Cloud の SAML SSO 設定時に作成したアプリケーションを検索して開きます。まだ SAML アプリケーションを作成していない場合は、先に SAML SSO setup guide に従ってください。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 — 次の項目をすべて選択します。
- Import New Users and Profile Updates
- Push New Users
- Push Profile Updates
- Push Groups
- Import Groups
- Authentication Mode —
Basic Auth。- Username — SCIM トークンのキー (
scim_で始まります) 。 - Password — SCIM トークンのシークレット。
- Username — SCIM トークンのキー (
Test Connector Configuration をクリックします。緑色の確認メッセージが表示されるはずです。失敗した場合は、Troubleshooting に進んでください。Save をクリックします。3
Provisioning の動作を設定する
引き続き Provisioning タブで、左側のサイドバーにあるTo App をクリックします。Edit をクリックし、以下を有効にします。Save をクリックし、アプリケーションの Sign On / Provisioning タブに戻って、設定が反映されていることを確認します。4
ユーザー属性をマッピングする
Okta と ClickHouse Cloud で、どのユーザーフィールドを対応付けるか一致している必要があります。Provisioning タブでTo App をクリックし、アプリケーションの Attribute Mappings を確認してください。通常は Okta SAML アプリケーションのデフォルト設定で問題ありませんが、以下の表を確認してください。department、manager、location などの任意の属性を追加できます。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) と表示されるはずです。ユーザーを割り当てます。 方法は 2 つあります。- グループ経由 (推奨) 。 先ほどプッシュした Okta グループにユーザーを追加します。ユーザーは ClickHouse Cloud にプロビジョニングされ、対応するロールが自動的に割り当てられます。
- 直接。 アプリケーションの Assignments タブで、
Assign → Assign to Peopleをクリックし、個別のユーザーを選択します。プッシュ済みのグループにも所属していない場合、ユーザーは Default role でプロビジョニングされます。
インテグレーションをテストする
いずれかの手順が失敗した場合は、先に進む前に根本原因を解消してください。問題はそのままにすると、症状が連鎖的に悪化することがよくあります。
本番環境向けのベストプラクティス
トラブルシューティング
Okta で “Test connector configuration” が失敗する
- ClickHouse Cloud Console で SCIM が 有効 になっていることを確認してください。
- Okta の base URL が、Cloud Console に表示されている SCIM のエンドポイント URL と完全に一致していることを確認してください。組織 ID が正しい必要があります。
- トークンのキーとシークレット を、先頭や末尾に空白を含めずに貼り付けていることを確認してください。
- トークンをローテーションした場合は、以前の組ではなく、新しい キーとシークレットを使用していることを確認してください。
ユーザーは作成されるが、権限が付与されない
- 想定しているロールについて、Map roles in “Users and roles” に行が追加されていることを確認してください。
- Okta のグループ名が、マッピング内の SCIM グループ名と完全に一致していること (大文字・小文字やハイフンを含む) を確認してください。
- 設計上、意図的に一部のユーザーをグループなしでプロビジョニングしている場合は、Default role が設定されていることを確認してください。
メンバーリスト内の重複ユーザー
グループのプッシュが “displayName not recognised” で失敗する
無効化したユーザーが引き続きメンバーとして表示される
SCIMトークンをローテーションした後、Okta でエラーが発生するようになりました
Test Connector Configuration をクリックして確認します。Provisioning が再び緑色になったら、ClickHouse Cloud Console で古いトークンを取り消してください。
SCIM トークンを紛失した場合
よくある質問
- 組織 ID
- Okta アプリケーション ID
- Okta のログにある、失敗したタスクまたはテストのスクリーンショット