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日以降に作成された場合は、新規および既存のすべてのワークスペースに対して、アカウントでの統合ログインがデフォルトで有効になり、無効にすることができません。統合ログインを設定するには、「統合ログインを有効にする」を参照してください。