メインコンテンツまでスキップ

OIDC を使用した SSO の構成

備考

プレビュー

この機能は パブリック プレビュー段階です。

このページでは、OIDC を使用してアカウント コンソールと Databricks ワークスペースに対して認証するようにシングル サインオン (SSO) を一般的に構成する方法を示します。Okta で OIDC SSO を構成するデモについては、「 OIDC SSO を使用して Databricks アクセスを保護する」を参照してください。

アカウントでのシングル サインオンの概要については、「 Databricks での SSO の構成」を参照してください。

OIDC を使用した SSO の有効化

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

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

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

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

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

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

  7. [Databricks リダイレクト URL ] フィールドの値をコピーします。

    OIDC SSO を設定します。

  8. ID プロバイダーに移動し、新しいクライアント アプリケーション (Web) を作成し、ID プロバイダー構成インターフェイスの適切なフィールドに Databricks リダイレクト URL の値を入力します。

    IDプロバイダーがこのプロセスを説明するドキュメントを用意しているはずです。

  9. 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)。

  10. Databricks アカウント コンソールの [認証] タブに戻り、ID プロバイダー アプリケーションからコピーした値を [クライアント ID ]、[ クライアント シークレット]および [OpenID 発行者 URL ] フィールドに入力します。

  11. 必要に応じて、ユーザーの Databricks ユーザー名として email 以外の要求を使用する場合は、 ユーザー名要求 を入力します。要求値に関する具体的な情報については、ID プロバイダーのドキュメントを参照してください。

    シングルサインオンタブ

  12. 保存 をクリックします。

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

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

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

  16. すべてのアカウントユーザーに、IDプロバイダー内のDatabricksアプリケーションへのアクセス権を付与します。アプリケーションへのアクセス権を変更する必要がある場合があります。

  17. Databricks にユーザーを追加する

    ユーザーがログインするには、Databricks にユーザーを追加する必要があります。 Databricks では、SCIM プロビジョニングを使用して、ユーザーとグループを ID プロバイダーから Databricks アカウントに自動的に同期することをお勧めします。 SCIM は、ID プロバイダーを使用して Databricks でユーザーとグループを作成し、適切なレベルのアクセス権を付与することで、新しい従業員やチームのオンボーディングを効率化します。 SCIM を使用した ID プロバイダーからのユーザーとグループの同期を参照してください。

OIDC SSO のトラブルシューティング

次の表に、SSO 認証中に発生する可能性のある OIDC エラー コードを示します。各エントリには、エラー コード、機械可読エラー名、詳細な説明、およびトラブルシューティングの推奨される次の手順が記載されています。この情報を使用して、ワークスペース内の OIDC 認証の問題を迅速に特定して解決します。

エラーコード

説明

次のステップ

oidc_login_error

一般的なログインエラーが発生しました。

要求 ID を取得して、失敗した要求を特定します。

oidc_state_missing

state パラメーターが IdP の応答にないか、Databricks が送信した内容と一致しません。これは、サポートされていない IdP によって開始される OIDC フローを設定した場合にも発生する可能性があります。state パラメーターは、クロスサイト要求フォージェリ (CSRF) の防止に役立ちます。

IdP 設定をチェックして、 state パラメーターが返され、要求と一致していることを確認します。

oidc_nonce_missing

nonce パラメーターが Databricks 要求にありません。これは、nonce Cookieの有効期限が切れた場合、またはCookieが完全に欠落している場合に発生する可能性があります。nonce パラメーターは、IdP からのトークンが Databricks によって開始された要求と一致するようにすることで、再生攻撃を防ぎます。

ネットワーク トラフィックを調べて、nonce の有効期限が切れていないか、Cookie が見つからないかどうかを確認します。

oidc_metadata_fetch_failure

Databricks は、OIDC 構成からメタデータを取得できませんでした。IdP の発行者 URL は、OIDC フローに必要なエンドポイントを検索するために使用されます。

{issuer-url}/.well-known/openid-configurationが有効で、一般にアクセス可能であることを確認します。各エンドポイント URL は到達可能である必要があります。

oidc_received_no_code_or_token_failure

IdP は認証コードを返さなかった。Databricks では、次の手順で ID トークンと引き換えるためにこのコードが必要です。

IdP が OIDC 認証コードフロー (response_type=code) をサポートし、認証コードを返すように設定されていることを確認します。リダイレクト URI と必要なスコープが正しく構成されていることを確認します。さらにサポートが必要な場合は、Databricks サポートにお問い合わせください。

oidc_code_exchange_failure

これは通常、クライアントシークレットが正しくないか、期限切れの場合に発生します。IdP が 200 以外の応答を返した場合にも発生する可能性があります。

クライアントシークレットが有効であることを確認します。

oidc_code_exchange_token_missing

認証コードは IdP から受信されましたが、その後のトークン交換で予期された ID トークンが返されませんでした。認証コードを受信した後、OIDC フローの次のステップは ID トークンを取得することです。

IdP 設定を確認します。また、OIDC フローを手動でテストして、コードとトークンが返されることを確認することもできます。

oidc_generic_token_failure

oidc_code_exchange_token_missingと似ていますが、認証コードが無効であるか、期限切れになっているか、またはクレームの不一致 (発行者、オーディエンス、またはナンス) がある場合にも発生する可能性があります。クレームの不一致によるコードの検証またはデコードのエラーも、これを引き起こす可能性があります。

IdP 設定を確認します。また、OIDC フローを手動でテストして、コードとトークンが返されることを確認することもできます。

oidc_missing_email_claim

IdP は ID トークンで Eメール クレームを送信しませんでした。 これは、カスタム要求の使用が原因である可能性があります。

カスタム要求が使用されているかどうかを確認し、正しく構成されていることを確認します。

oidc_auth_error

一般的なログインエラーが発生しました。

要求 ID を取得して、失敗した要求を特定します。

consume_sso_enabled_failure

SSO を有効にすると、ユーザーは Google でログインできません。

アカウントにアクセスするには、Google サインイン OAuth URL ではなく Databricks アカウント URL を使用してサインインします。

incr_auth_email_mismatch

ワークスペースの作成または削除中に、有効な更新トークンがない場合、GCP Incremental Auth は、ユーザーが Google 認証情報を使用して再度サインインするように求められます。

アカウント Eメール Databricks と一致する Google メール でサインインします。