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 に設定します。
- [機能の構成 ] で、[機密アクセスの クライアント認証 ] を [オン ] に設定します。
- [アクセス設定 ] で、[ ホーム URL ] を Databricks アカウントの URL に設定します。(たとえば、
-
グループメンバーシップのマッピングを設定します。
- [ クライアント スコープ] をクリックし、クライアント専用のスコープを選択します。
- [マッパー] タブで、[ 新しいマッパーの設定 ] をクリックします。
- [マッパーの種類 ] で [ グループ メンバーシップ] を選択します。
- [名前 ] と [トークンの要求名 ] の両方を [グループ ] に設定します。
- 好みに応じて、[ 完全なグループパス ]を [オン ]または [オフ ]に切り替えます。
-
Databricks アカウント コンソールの [認証 ] タブに戻り、Keycloak からコピーした値を入力します。
- クライアント ID : Keycloak のクライアント ID。
- クライアントシークレット :Keycloakクライアントの [資格情報 ]タブにあります。
- OpenID 発行者 URL : レルムを含む Keycloak URL (例:
https://keycloak.example.com/realms/your-realm
)。
-
[ 保存 ]をクリックします。
-
[SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。
-
[SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。
-
SSOを使用したアカウントコンソールログインをテストします。
統合ログインを構成し、Databricks にユーザーを追加する
SSO を構成した後、Databricks では、統合ログインを構成し、SCIM プロビジョニングを使用してアカウントにユーザーを追加することをお勧めします。
-
統合ログインの設定
統合ログインを使用すると、Databricks ワークスペースでアカウント コンソールの SSO 構成を使用できます。 アカウントが 2023 年 6 月 21 日より後に作成された場合、または 2024 年 12 月 12 日より前に SSO を構成しなかった場合、すべてのワークスペースでアカウントで統合ログインが有効になっており、無効にすることはできません。 統合ログインを設定するには、「 統合ログインを有効にする」を参照してください。
-
Databricks にユーザーを追加する
ユーザーがログインするには、Databricks にユーザーを追加する必要があります。 Databricks では、SCIM プロビジョニングを使用して、ユーザーとグループを ID プロバイダーから Databricks アカウントに自動的に同期することをお勧めします。 SCIM は、ID プロバイダーを使用して Databricks でユーザーとグループを作成し、適切なレベルのアクセス権を付与することで、新しい従業員やチームのオンボーディングを効率化します。 「SCIM を使用した ID プロバイダーからのユーザーとグループの同期」を参照してください。
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
タグ。
- シングルサインオン URL : 上記でコピーした
-
[ 保存 ]をクリックします。
-
[SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。
-
[SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。
-
SSOを使用したアカウントコンソールログインをテストします。
統合ログインを構成し、Databricks にユーザーを追加する
SSO を構成した後、Databricks では、統合ログインを構成し、SCIM プロビジョニングを使用してアカウントにユーザーを追加することをお勧めします。
-
統合ログインの設定
統合ログインを使用すると、Databricks ワークスペースでアカウント コンソールの SSO 構成を使用できます。 アカウントが 2023 年 6 月 21 日より後に作成された場合、または 2024 年 12 月 12 日より前に SSO を構成しなかった場合、すべてのワークスペースでアカウントで統合ログインが有効になっており、無効にすることはできません。 統合ログインを設定するには、「 統合ログインを有効にする」を参照してください。
-
Databricks にユーザーを追加する
ユーザーがログインするには、Databricks にユーザーを追加する必要があります。 Databricks では、SCIM プロビジョニングを使用して、ユーザーとグループを ID プロバイダーから Databricks アカウントに自動的に同期することをお勧めします。 SCIM は、ID プロバイダーを使用して Databricks でユーザーとグループを作成し、適切なレベルのアクセス権を付与することで、新しい従業員やチームのオンボーディングを効率化します。 「SCIM を使用した ID プロバイダーからのユーザーとグループの同期」を参照してください。