Keycloakを使用したDatabricksへのSSO

この記事では、Databricks アカウントでシングル サインオン (SSO) の ID プロバイダーとして Keycloak を構成する方法について説明します。 Keycloak は OpenID Connect (OIDC) と SAML 2.0 の両方をサポートしています。 Keycloak は、ユーザーとグループを Databricks に同期するための SCIM をサポートしていません。

警告

シングル サインオン テスト中に Databricks からロックアウトされるのを防ぐために、Databricks では、アカウント コンソールを別のブラウザー ウィンドウで開いたままにしておくことをお勧めします。 また、セキュリティキーを使用して緊急アクセスを構成して、ロックアウトを防ぐこともできます。 ロックアウトを防ぐための緊急アクセスを参照してください。

OIDC を使用した Keycloak SSO の有効化

  1. アカウントオーナーまたはアカウント管理者として、 アカウントコンソール にログインし、サイドバーの [設定 ]アイコンをクリックします。

  2. 「認証」タブをクリックします。

  3. 「認証」の横にある「管理」をクリックします。

  4. [ ID プロバイダーによるシングル サインオン] を選択します。

  5. 続行」をクリックします。

  6. [ID プロトコル] で [OpenID Connect] を選択します。

  7. [ 認証 ] タブで、 [Databricks リダイレクト URL ] の値をメモします。

  8. 新しいブラウザタブで、Keycloak 管理コンソールにログインします。

  9. Databricks 統合のレルムを選択するか、新しいレルムを作成します。

  10. 新しいクライアントを作成します。

    1. [クライアント] をクリックし、[クライアントの作成] をクリックします。

    2. [クライアントの種類] で [OpenID Connect] を選択します。

    3. [クライアント ID] と [名前] を入力します。

    4. 「次へ」をクリックして「保存」をクリックします。

      Keycloak で新しいクライアントを作成します。
  11. Databricks クライアントを構成します。

    1. [アクセス設定] で、[ホーム URL] を Databricks アカウントの URL に設定します。(たとえば、 https://accounts.cloud.databricks.com/)。

    2. [有効なリダイレクト URI] を、上記でコピーした Databricks リダイレクト URL に設定します。

    3. [機能の構成] で、[機密アクセスのクライアント認証] を [オン] に設定します。

    Keycloak でアクセス設定を行います。
  12. グループメンバーシップのマッピングを設定します。

    1. [ クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。

    2. [マッパー] タブで、[新しいマッパーの設定] をクリックします。

    3. [マッパーの種類] で [グループ メンバーシップ] を選択します。

    4. [名前] と [トークンの要求名] の両方を [グループ] に設定します。

    5. 好みに応じて、[ 完全なグループパス ]を [オン ]または [オフ ]に切り替えます。

    Keycloak はグループ設定を構成します。
  13. Databricks アカウント コンソールの [認証 ] タブに戻り、Keycloak からコピーした値を入力します。

    1. クライアント ID: Keycloak のクライアント ID。

    2. クライアントシークレット:Keycloakクライアントの [資格情報 ]タブにあります。

    3. OpenID 発行者 URL: レルムを含む Keycloak URL (例: https://keycloak.example.com/auth/realms/your-realm)。

  14. [保存]をクリックします。

  15. [SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。

  16. [SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。

  17. SSOを使用したアカウントコンソールログインをテストします。

  18. 統合ログインの設定

    統合ログインを使用すると、DatabricksワークスペースでアカウントコンソールのSSO設定を使用できます。アカウントが2023年6月21日以降に作成された場合は、新規および既存のすべてのワークスペースに対して、アカウントでの統合ログインがデフォルトで有効になり、無効にすることができません。統合ログインを設定するには、「統合ログインを有効にする」を参照してください。

SAML を使用した Keycloak SSO の有効化

  1. アカウントオーナーまたはアカウント管理者として、 アカウントコンソール にログインし、サイドバーの [設定 ]アイコンをクリックします。

  2. 「認証」タブをクリックします。

  3. 「認証」の横にある「管理」をクリックします。

  4. [ ID プロバイダーによるシングル サインオン] を選択します。

  5. 続行」をクリックします。

  6. [ID プロトコル] で [OpenID Connect] を選択します。

  7. [ 認証 ] タブで、 [Databricks リダイレクト URL ] の値をメモします。

    SAML SSO を設定します。
  8. 新しいブラウザタブで、Keycloak 管理コンソールにログインします。

  9. Databricks 統合のレルムを選択するか、新しいレルムを作成します。

  10. 新しいクライアントを作成します。

    1. [クライアント] をクリックし、[クライアントの作成] をクリックします。

    2. [クライアントの種類] で [SAML] を選択します。

    3. [クライアント ID] と [名前] を入力します。

    4. 「次へ」をクリックして「保存」をクリックします。

    5. ログイン設定で、 [有効なリダイレクト URI] を、上記でコピーした Databricks リダイレクト URL に設定します。

    Keycloak で新しい SAML クライアントを作成します。
  11. クライアントを設定します。

    1. [設定] タブの [SAML機能] で、[名前 ID 形式] を [電子メール] に設定します。

    2. [名前 ID 形式を強制する] をオンにします。

    3. [保存]をクリックします。

    Keycloak は SAML 属性を設定します。
  12. SAML 属性マッピングを設定します。

    1. [ クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。

    2. [マッパー] タブで、[事前定義マッパーの追加] をクリックします。

    3. [X500 Eメール]、[X500 givenName]、および [X500 surname] を選択し、[追加] をクリックします。

    Keycloak は専用のスコープを設定します。
  13. SAMLメタデータを取得します。

    1. [Realm settings] と [General] をクリックします。

    2. [SAML 2.0 ID プロバイダー メタデータ] をクリックします。

    3. メタデータから、次の値を保存します。

    • SingleSignOnService 要素の Location 属性 (https://my-idp.example.com/realms/DatabricksRealm/protocol/samlなど)。これは の シングルサインオン URL ですDatabricks

    • EntityDescriptor 要素の entityID 属性 (https://my-idp.example.com/realms/DatabricksRealmなど)。

    • X509Certificateタグ。

  14. Databricks アカウント コンソールの [認証 ] タブに戻り、Keycloak からコピーした値を入力します。

    1. シングルサインオン URL: 上記でコピーした SingleSignOnService 要素の Location 属性。

    2. エンティティ ID: 上記でコピーした EntityDescriptor 要素の entityID 属性。

    3. X509Certificate: 上記でコピーした X509Certificate タグ。

  15. [保存]をクリックします。

  16. [SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。

  17. [SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。

  18. SSOを使用したアカウントコンソールログインをテストします。

  19. 統合ログインの設定

    統合ログインを使用すると、DatabricksワークスペースでアカウントコンソールのSSO設定を使用できます。アカウントが2023年6月21日以降に作成された場合は、新規および既存のすべてのワークスペースに対して、アカウントでの統合ログインがデフォルトで有効になり、無効にすることができません。統合ログインを設定するには、「統合ログインを有効にする」を参照してください。