Keycloak を使用した Databricks への SSO
このページでは、Databricks アカウントでシングル サインオン (SSO) の ID プロバイダーとして Keycloak を構成する方法を示します。Keycloak は、OpenID Connect (OIDC) と SAML 2.0 の両方をサポートします。Keycloak では、ユーザーとグループを Databricks に同期するための SCIM はサポートされていません。
シングル サインオンのテスト中に Databricks からロックアウトされないようにするには、別のブラウザー ウィンドウでアカウント コンソールを開いたままにしておきます。ロックアウトを防ぐために、セキュリティ キーを使用して緊急アクセスを構成することもできます。ロックアウトを防ぐための緊急アクセスを参照してください。
Keycloakシングルサインオンを有効にする
ID プロトコルを選択してください:
- OIDC
- SAML 2.0
-
アカウント管理者としてアカウント コンソールにログインし、 [セキュリティ] をクリックします。
-
[Identity provider setup] tabをクリックします。
-
Authentication セクションでSingle Sign Onを設定し、SSO設定ダイアログを開きます。
-
[詳細の追加 (Add details)] ステップの [ID プロトコル (Identity protocol)] で、 [OpenID Connect] を選択します。
-
Databricks Redirect URL の値をメモします。
-
新しいブラウザタブで、Keycloak管理コンソールにログインします。
-
Databricks 統合のレルムを選択するか、新しいレルムを作成します。
-
新しいクライアントを作成します。
-
[クライアント] をクリックし、[ クライアントの作成 ] をクリックします。
-
[クライアントの種類] で、[ OpenID Connect] を選択します。
-
クライアント ID と 名前 を入力します。
-
[ 次へ ] をクリックして [保存] をクリックします。

-
-
Databricks クライアントを構成します。
- [アクセス設定 ] で、 [ ホーム URL ] を Databricks アカウントの URL に設定します。
- [有効なリダイレクト URI] を、上記でコピーした Databricks リダイレクト URL に設定します。
- 機能構成 で、クライアント 認証を オン に設定 して機密アクセスします。

-
グループメンバーシップマッピングを設定します。
- [クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。
- [ マッパー ] タブで、[ 新しいマッパーの設定] をクリックします。
- [ マッパー タイプ ] で、[ グループ メンバーシップ] を選択します。
- [ 名前 ] と [トークン要求名 ] の両方を [グループ ] に設定します。
- 好みに応じて、 完全なグループパス を オン または オフ に切り替えます。

-
DatabricksアカウントコンソールのSSO構成ダイアログに戻り、Keycloakからコピーした値を入力します:
- クライアントID : KeycloakのクライアントID。
- クライアント・シークレット : Keycloakクライアントの 「資格証明」 タブにあります。
- OpenID 発行者 URL : レルムを含む Keycloak URL (たとえば、
https://keycloak.example.com/realms/your-realm)。
-
[SSOの有効化] ステップで、 [SSOの有効化] をクリックします。Databricks は設定を無効な状態で保存し、接続テストを実行します。Keycloakでのサインインを完了するようにリダイレクトされます。テストが成功すると、SSO が自動的に有効になります。テストが失敗した場合、Databricks は設定を検証できなかったことを報告します。入力した値を確認して、もう一度お試しください。
-
SSOを有効にした後、ユーザーが初めてサインインするときにユーザーアカウントを作成するには、次のステップカードの Create new identities during first-time signup トグルを使用して、ジャストインタイム(JIT)プロビジョニングを有効にします。ユーザーの自動プロビジョニング(JIT)を参照してください。
ワークスペースログインテストを含むセットアップ後のテストの詳細なガイダンスについては、Test your SSO configurationを参照してください。
-
アカウント管理者としてアカウント コンソールにログインし、 [セキュリティ] をクリックします。
-
[Identity provider setup] tabをクリックします。
-
Authentication セクションでSingle Sign Onを設定し、SSO設定ダイアログを開きます。
-
Add details ステップの Identity protocol で、 SAML 2.0 を選択します。
-
Databricks Redirect URL の値をメモします。

-
新しいブラウザタブで、Keycloak管理コンソールにログインします。
-
Databricks 統合のレルムを選択するか、新しいレルムを作成します。
-
新しいクライアントを作成します。
- [クライアント] をクリックし、[ クライアントの作成 ] をクリックします。
- [クライアントの種類] で、[ SAML] を選択します。
- クライアント ID と 名前 を入力します。
- [ 次へ ] をクリックして [保存] をクリックします。
- ログイン設定で、 [有効なリダイレクト URI] を上記でコピーした Databricks リダイレクト URL に設定します。

-
クライアントを設定します。
- [ SAML機能 ] の [ 設定 ] タブで、[ 名前 ID 形式 ] を [Eメール ] に設定します。
- [名前 ID の形式を強制する] をオンにします。
- 保存 をクリックします。

-
SAML 属性マッピングを設定します。
- [クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。
- 「 マッパー 」タブで、「 定義済みマッパーの追加 」をクリックします。
- [X500 Eメール ]、[ X500 givenName ]、および [X500 姓] を選択し、[ 追加] をクリックします。

-
SAML メタデータを取得します。
- Realm settings と General をクリックします。
- [ SAML 2.0 Identity Provider Metadata ] をクリックします。
- メタデータから、次の値を保存します。
SingleSignOnService要素のLocation属性 (例:https://my-idp.example.com/realms/DatabricksRealm/protocol/saml)。これは、Databricksの シングルサインオン URLです。EntityDescriptor要素のentityID属性 (例:https://my-idp.example.com/realms/DatabricksRealm)。X509Certificateタグ。
-
DatabricksアカウントコンソールのSSO構成ダイアログに戻り、Keycloakからコピーした値を入力します:
- シングル サインオン URL :
SingleSignOnService要素のLocation属性 - アイデンティティプロバイダエンティティID :
EntityDescriptor要素のentityID属性 - x.509 証明書 :
X509Certificateタグ
- シングル サインオン URL :
-
[SSOの有効化] ステップで、 [SSOの有効化] をクリックします。Databricks は設定を無効な状態で保存し、接続テストを実行します。Keycloakでのサインインを完了するようにリダイレクトされます。テストが成功すると、SSO が自動的に有効になります。テストが失敗した場合、Databricks は設定を検証できなかったことを報告します。入力した値を確認して、もう一度お試しください。
-
SSOを有効にした後、ユーザーが初めてサインインするときにユーザーアカウントを作成するには、次のステップカードの Create new identities during first-time signup トグルを使用して、ジャストインタイム(JIT)プロビジョニングを有効にします。ユーザーの自動プロビジョニング(JIT)を参照してください。
ワークスペースログインテストを含むセットアップ後のテストの詳細なガイダンスについては、Test your SSO configurationを参照してください。
Databricksにユーザーを追加する
SSOの設定が完了したら、アカウントにユーザーを追加してください。Databricks 、自動 ID 管理を使用して ID プロバイダーからユーザーを同期することをお勧めします。これにより、ユーザーとグループが ID プロバイダーからDatabricksアカウントに自動的に同期されます。 自動的なID管理を行うには、Microsoft Entra IDの設定を参照してください。あるいは、ID プロバイダーが自動 ID 管理をサポートしていない場合は、 SCIMプロビジョニングを構成できます。 SCIMを使用してIDプロバイダーからユーザーとグループを同期する方法を参照してください。
ジャストインタイム(JIT)プロビジョニングは、ユーザーがSSOを使用して初めてログインした際に自動的にDatabricksにユーザーを追加する機能で、2025年5月1日以降に作成されたアカウントではデフォルトで有効になっています。ユーザーの自動プロビジョニング(JIT)を参照してください。
統合ログインを有効にする
ほとんどのアカウントでは、統合ログインがすでに有効になっています。これは、アカウント レベルのSSO設定がすべてのワークスペースに適用されることを意味します。 アカウントが2023年6月21日より前に作成された場合は、有効化する必要があるかもしれません。統合ログインを有効にする方法については、こちらをご覧ください。