OIDC を使用した SSO の構成
この記事では、OIDC を使用してアカウント コンソールと Databricks ワークスペースに対して認証するように、シングル サインオン (SSO) を一般的に構成する方法を示します。 Okta で OIDC SSO を構成するデモについては、「 OIDC SSO を使用して Databricks アクセスを保護する」を参照してください。
アカウントでのシングル サインオンの概要については、「 Databricks で SSO を構成する」を参照してください。
OIDC を使用した SSO の有効化
シングル サインオン テスト中に Databricks からロックアウトされるのを防ぐために、Databricks では、アカウント コンソールを別のブラウザー ウィンドウで開いたままにしておくことをお勧めします。 また、セキュリティキーを使用して緊急アクセスを構成して、ロックアウトを防ぐこともできます。 ロックアウトを防ぐための緊急アクセスを参照してください。
-
アカウント管理者として、 アカウントコンソール にログインし、サイドバーの [設定 ]アイコンをクリックします。
-
「認証 」タブをクリックします。
-
「認証」 の横にある 「管理 」をクリックします。
-
[ ID プロバイダーによるシングル サインオン ] を選択します。
-
「 続行 」をクリックします。
-
[ID プロトコル ] で [ OpenID Connect ] を選択します。
-
[Databricks リダイレクト URL ] フィールドの値をコピーします。
-
ID プロバイダーに移動し、新しいクライアント アプリケーション (Web) を作成し、ID プロバイダー構成インターフェイスの適切なフィールドに Databricks リダイレクト URL の値を入力します。
IDプロバイダーがこのプロセスを説明するドキュメントを用意しているはずです。
-
IDプロバイダーがアプリケーション用に生成したクライアントID、クライアントシークレット、OpenID発行者URLをコピーします。
-
クライアントID は、IDプロバイダーで作成されたDatabricksアプリケーションの一意の識別子です。これは、 アプリケーションID と呼ばれることもあります。
-
クライアントシークレット は、作成したDatabricksアプリケーション用に生成されたシークレットまたはパスワードです。これは、IDプロバイダーでDatabricksを認証するために使用されます。
-
発行者 URL は、ID プロバイダーの OpenID 設定ドキュメントを見つけることができる URL のプレフィックスです。その OpenID 設定ドキュメントは
{issuer-url}/.well-known/openid-configuration
にある必要があります。URL から末尾の
/.well-known/openid-configuration
を削除します。 クエリ パラメーターを指定するには、発行者 URL に追加します (例:{issuer-url}?appid=123
)。
-
-
Databricks アカウント コンソールの [認証 ] タブに戻り、ID プロバイダー アプリケーションからコピーした値を [クライアント ID ]、[ クライアント シークレット ]、 および [OpenID 発行者 URL ] フィールドに入力します。
-
必要に応じて、
email
以外の要求をユーザーの Databricks ユーザー名として使用する場合は、 [ユーザー名] 要求 を入力します。要求値に関する具体的な情報については、ID プロバイダーのドキュメントを参照してください。 -
[ 保存 ]をクリックします。
-
[SSOのテスト] をクリックして、SSO設定が正しく機能していることを確認します。
-
[SSOを有効にする] をクリックして、アカウントのシングルサインオンを有効にします。
-
SSOを使用したアカウントコンソールログインをテストします。
-
すべてのアカウントユーザーに、IDプロバイダー内のDatabricksアプリケーションへのアクセス権を付与します。アプリケーションへのアクセス権を変更する必要がある場合があります。
統合ログインを構成し、Databricks にユーザーを追加する
SSO を構成した後、Databricks では、統合ログインを構成し、SCIM プロビジョニングを使用してアカウントにユーザーを追加することをお勧めします。
-
統合ログインの設定
統合ログインを使用すると、Databricks ワークスペースでアカウント コンソールの SSO 構成を使用できます。 アカウントが 2023 年 6 月 21 日より後に作成された場合、または 2024 年 12 月 12 日より前に SSO を構成しなかった場合、すべてのワークスペースでアカウントで統合ログインが有効になっており、無効にすることはできません。 統合ログインを設定するには、「 統合ログインを有効にする」を参照してください。
-
Databricks にユーザーを追加する
ユーザーがログインするには、Databricks にユーザーを追加する必要があります。 Databricks では、SCIM プロビジョニングを使用して、ユーザーとグループを ID プロバイダーから Databricks アカウントに自動的に同期することをお勧めします。 SCIM は、ID プロバイダーを使用して Databricks でユーザーとグループを作成し、適切なレベルのアクセス権を付与することで、新しい従業員やチームのオンボーディングを効率化します。 「SCIM を使用した ID プロバイダーからのユーザーとグループの同期」を参照してください。
OIDC SSO のトラブルシューティング
次の表に、SSO 認証中に発生する可能性のある OIDC エラー コードを示します。各エントリには、エラー コード、コンピューターで読み取り可能なエラー名、詳細な説明、およびトラブルシューティングの推奨される次の手順が表示されます。この情報を使用して、ワークスペース内の OIDC 認証の問題を迅速に特定して解決します。
エラーコード | 説明 | 次のステップ |
---|---|---|
| 一般的なログインエラーが発生しました。 | 要求 ID を取得して、失敗した要求を特定します。 |
|
| IdP 構成を確認して、 |
|
| ネットワーク トラフィックを検査して、nonce の有効期限が切れていないか、Cookie が欠落していないかを確認します。 |
| Databricks は OIDC 構成からメタデータを取得できませんでした。IdP の発行者 URL は、OIDC フローに必要なエンドポイントを検索するために使用されます。 |
|
| IdP から認証コードが返されませんでした。Databricks では、次の手順で ID トークンと引き換えるために、このコードが必要です。 | IdP が OIDC 認証コードフロー ( |
| これは通常、クライアントシークレットが正しくないか、期限切れである場合に発生します。また、IdP が 200 以外の応答を返した場合にも発生する可能性があります。 | クライアントシークレットが有効であることを確認します。 |
| 認証コードは IdP から受信されましたが、その後のトークン交換では予期された ID トークンが返されませんでした。認証コードを受け取った後、OIDC フローの次のステップは ID トークンを取得することです。 | IdP の設定を確認します。また、OIDC フローを手動でテストして、コードとトークンが返されることを確認することもできます。 |
|
| IdP の設定を確認します。また、OIDC フローを手動でテストして、コードとトークンが返されることを確認することもできます。 |
| IdP は ID トークンで Eメール クレームを送信しませんでした。 これは、カスタム要求の使用が原因である可能性があります。 | カスタム要求が使用されているかどうかを確認し、適切に構成されていることを確認します。 |
| 一般的なログインエラーが発生しました。 | 要求 ID を取得して、失敗した要求を特定します。 |