Keycloakを使用したDatabricksへのSSO
この記事では、Databricks アカウントでシングル サインオン (SSO) の ID プロバイダーとして Keycloak を構成する方法について説明します。 Keycloak は OpenID Connect (OIDC) と SAML 2.0 の両方をサポートしています。 Keycloak は、ユーザーとグループを Databricks に同期するための SCIM をサポートしていません。
警告
シングル サインオン テスト中に Databricks からロックアウトされるのを防ぐために、Databricks では、アカウント コンソールを別のブラウザー ウィンドウで開いたままにしておくことをお勧めします。 また、セキュリティキーを使用して緊急アクセスを構成して、ロックアウトを防ぐこともできます。 ロックアウトを防ぐための緊急アクセスを参照してください。
OIDC を使用した Keycloak SSO の有効化
アカウントオーナーまたはアカウント管理者として、 アカウントコンソール にログインし、サイドバーの [設定 ]アイコンをクリックします。
「認証」タブをクリックします。
「認証」の横にある「管理」をクリックします。
[ ID プロバイダーによるシングル サインオン] を選択します。
「続行」をクリックします。
[ID プロトコル] で [OpenID Connect] を選択します。
[ 認証 ] タブで、 [Databricks リダイレクト URL ] の値をメモします。
新しいブラウザタブで、Keycloak 管理コンソールにログインします。
Databricks 統合のレルムを選択するか、新しいレルムを作成します。
新しいクライアントを作成します。
[クライアント] をクリックし、[クライアントの作成] をクリックします。
[クライアントの種類] で [OpenID Connect] を選択します。
[クライアント ID] と [名前] を入力します。
「次へ」をクリックして「保存」をクリックします。
Databricks クライアントを構成します。
[アクセス設定] で、[ホーム URL] を Databricks アカウントの URL に設定します。(たとえば、
https://accounts.cloud.databricks.com/
)。[有効なリダイレクト URI] を、上記でコピーした Databricks リダイレクト URL に設定します。
[機能の構成] で、[機密アクセスのクライアント認証] を [オン] に設定します。
グループメンバーシップのマッピングを設定します。
[ クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。
[マッパー] タブで、[新しいマッパーの設定] をクリックします。
[マッパーの種類] で [グループ メンバーシップ] を選択します。
[名前] と [トークンの要求名] の両方を [グループ] に設定します。
好みに応じて、[ 完全なグループパス ]を [オン ]または [オフ ]に切り替えます。
Databricks アカウント コンソールの [認証 ] タブに戻り、Keycloak からコピーした値を入力します。
クライアント ID: Keycloak のクライアント ID。
クライアントシークレット:Keycloakクライアントの [資格情報 ]タブにあります。
OpenID 発行者 URL: レルムを含む Keycloak URL (例:
https://keycloak.example.com/auth/realms/your-realm
)。
[保存]をクリックします。
[SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。
[SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。
SSOを使用したアカウントコンソールログインをテストします。
統合ログインの設定
統合ログインを使用すると、DatabricksワークスペースでアカウントコンソールのSSO設定を使用できます。アカウントが2023年6月21日以降に作成された場合は、新規および既存のすべてのワークスペースに対して、アカウントでの統合ログインがデフォルトで有効になり、無効にすることができません。統合ログインを設定するには、「統合ログインを有効にする」を参照してください。
SAML を使用した Keycloak SSO の有効化
アカウントオーナーまたはアカウント管理者として、 アカウントコンソール にログインし、サイドバーの [設定 ]アイコンをクリックします。
「認証」タブをクリックします。
「認証」の横にある「管理」をクリックします。
[ ID プロバイダーによるシングル サインオン] を選択します。
「続行」をクリックします。
[ID プロトコル] で [OpenID Connect] を選択します。
[ 認証 ] タブで、 [Databricks リダイレクト URL ] の値をメモします。
新しいブラウザタブで、Keycloak 管理コンソールにログインします。
Databricks 統合のレルムを選択するか、新しいレルムを作成します。
新しいクライアントを作成します。
[クライアント] をクリックし、[クライアントの作成] をクリックします。
[クライアントの種類] で [SAML] を選択します。
[クライアント ID] と [名前] を入力します。
「次へ」をクリックして「保存」をクリックします。
ログイン設定で、 [有効なリダイレクト URI] を、上記でコピーした Databricks リダイレクト URL に設定します。
クライアントを設定します。
[設定] タブの [SAML機能] で、[名前 ID 形式] を [電子メール] に設定します。
[名前 ID 形式を強制する] をオンにします。
[保存]をクリックします。
SAML 属性マッピングを設定します。
[ クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。
[マッパー] タブで、[事前定義マッパーの追加] をクリックします。
[X500 Eメール]、[X500 givenName]、および [X500 surname] を選択し、[追加] をクリックします。
SAMLメタデータを取得します。
[Realm settings] と [General] をクリックします。
[SAML 2.0 ID プロバイダー メタデータ] をクリックします。
メタデータから、次の値を保存します。
SingleSignOnService
要素のLocation
属性 (https://my-idp.example.com/realms/DatabricksRealm/protocol/saml
など)。これは の シングルサインオン URL ですDatabricksEntityDescriptor
要素のentityID
属性 (https://my-idp.example.com/realms/DatabricksRealm
など)。X509Certificate
タグ。
Databricks アカウント コンソールの [認証 ] タブに戻り、Keycloak からコピーした値を入力します。
シングルサインオン URL: 上記でコピーした
SingleSignOnService
要素のLocation
属性。エンティティ ID: 上記でコピーした
EntityDescriptor
要素のentityID
属性。X509Certificate: 上記でコピーした
X509Certificate
タグ。
[保存]をクリックします。
[SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。
[SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。
SSOを使用したアカウントコンソールログインをテストします。
統合ログインの設定
統合ログインを使用すると、DatabricksワークスペースでアカウントコンソールのSSO設定を使用できます。アカウントが2023年6月21日以降に作成された場合は、新規および既存のすべてのワークスペースに対して、アカウントでの統合ログインがデフォルトで有効になり、無効にすることができません。統合ログインを設定するには、「統合ログインを有効にする」を参照してください。