Databricksクライアントの統合認証

Databricks クライアント統合認証は、Databricks への認証の設定と自動化を一元化します。 これにより、Databricks 認証を一度構成すると、認証構成をさらに変更することなく、その構成を複数の Databricks ツールや SDK で使用できます。

参加ツールとSDK

これに参加しているDatabricksツールとSDKには以下が含まれます。

参加しているすべてのツールと SDK は、認証に特別な環境変数と Databricks 構成プロファイル を受け入れます。 Databricks Terraform プロバイダーと Python、Java、Go 用の Databricks SDK も、コード内の認証設定を直接構成できます。 詳細については、 開発者ツールと 、ツールまたは SDK のドキュメントのガイダンスを参照してください。

クライアント統合認証のデフォルトの認証方法

参加しているツールまたはSDKがDatabricksを使って認証を行う必要がある場合は必ず、ツールまたはSDKは、以下の認証タイプを以下の通りの順序で試行するのがデフォルト設定となっています。ツールまたはSDKが試行したタイプの認証で成功すると、ツールまたはSDKは残りの認証タイプによる試行を停止します。SDKに特定の認証タイプによる認証を強制するには、Config APIのDatabricks認証タイプフィールドを設定します。

  1. Databricks個人用アクセストークン認証

  2. サービスプリンシパルを使用して Databricks (OAuth M2M) で認証する

  3. OAuthユーザー対マシン(U2M)認証

参加しているツールまたはSDKにより試行される認証タイプごとに、以下に示されるロケーションと順序でツールまたはSDKは認証資格情報を検索しようとします。ツールまたはSDKが使用可能な認証資格情報の検索に成功すると、ツールまたはSDKは残りのロケーションでの認証資格情報の検索を停止します。

  1. 資格情報関連のConfig APIフィールド(SDKの場合):

  2. 資格情報関連の環境変数:

  3. .databrickscfgファイル内のDEFAULT構成プロファイルの資格情報関連のフィールド。設定プロファイルフィールドを設定するには、(/dev-tools/auth/config-profiles.md) を参照してください。

コードの移植性を最大限に高めるために、Databricks では、.databrickscfg ファイル内にカスタム構成プロファイルを作成し、ターゲットの Databricks 認証の種類に対して以下の必須フィールドをカスタム構成プロファイルに追加してから、DATABRICKS_CONFIG_PROFILE 環境変数をカスタム構成プロファイルの名前に設定することをお勧めします。

クライアント統合認証の環境変数とフィールド

以下の表は、Databricksクライアント統合認証でサポートされている環境変数とフィールドの名前と説明を示しています。表の説明は以下の通りです。

  • 環境変数は、該当する場合、環境変数の名前です。

  • .databrickscfgフィールド (該当する場合) は、Databricks 構成プロファイル ファイルまたは Databricks Terraform 構成内のフィールドの名前です。.databrickscfgフィールドを設定するには、「Databricks 構成プロファイル」を参照してください。

  • Terraformフィールド(該当する場合)は、Databricks Terraform設定内のフィールドの名前です。Databricks Terraformフィールドを設定するには、Databricks Terraformプロバイダーのドキュメントの「認証」を参照してください。

  • Configフィールドは、指定されたSDKのConfig API内のフィールド名です。

一般的なホスト、トークン、アカウントIDの環境変数とフィールド

一般的な名前

説明

環境変数

.databrickscfg フィールド、Terraformフィールド

Config フィールド

Databricksホスト

(文字列)DatabricksワークスペースエンドポイントまたはDatabricksアカウントエンドポイントのDatabricksホストURL。

DATABRICKS_HOST

host

host (Python)、setHost(Java)、Host(Go)

Databricksトークン

(文字列)Databricksの個人用アクセストークン。

DATABRICKS_TOKEN

token

token (Python)、setToken(Java)、Token(Go)

DatabricksアカウントID

(文字列)DatabricksアカウントエンドポイントのDatabricksアカウントID。Databricksホストもhttps://accounts.cloud.databricks.comに設定されている場合にのみ効果があります。

DATABRICKS_ACCOUNT_ID

account_id

account_id (Python)、setAccountID(Java)、AccountID(Go)

AWS固有の環境変数とフィールド

一般的な名前

説明

環境変数

.databrickscfg フィールド、Terraformフィールド

Config フィールド

Databricksのユーザー名

(文字列)Databricksユーザーのユーザー名。

DATABRICKS_USERNAME

username

username (Python)、setUsername(Java)、Username(Go)

サービスプリンシパルのクライアントID

(文字列)DatabricksサービスプリンシパルのクライアントID。

DATABRICKS_CLIENT_ID

client_id

client_id (Python)、setClientId(Java)、ClientId(Go)

サービスプリンシパルのシークレット

(文字列)Databricksサービスプリンシパルのシークレット。

DATABRICKS_CLIENT_SECRET

client_secret

client_secret (Python)、setClientSecret(Java)、ClientSecret(Go)

.databrickscfg-specificの環境変数とフィールド

これらの環境変数またはフィールドを使用して、.databrickscfgのデフォルト以外の設定を指定します。「Databricks構成プロファイル」も参照してください。

一般的な名前

説明

環境変数

Terraformフィールド

Config フィールド

.databrickscfg ファイルパス

(文字列).databrickscfgファイルへのデフォルト以外のパス。

DATABRICKS_CONFIG_FILE

config_file

config_file (Python)、setConfigFile(Java)、ConfigFile(Go)

.databrickscfg デフォルトプロファイル

(文字列)使用するデフォルトの名前付きプロファイル(DEFAULT以外)。

DATABRICKS_CONFIG_PROFILE

profile

profile (Python)、setProfile(Java)、Profile(Go)

認証タイプフィールド

この環境変数またはフィールドを使用して、SDKに特定の種類のDatabricks認証の使用を強制します。

一般的な名前

説明

Terraformフィールド

Config フィールド

Databricks認証タイプ

(文字列)環境内で複数の認証属性が使用できる場合は、この引数で指定された認証タイプを使用します。

auth_type

auth_type (Python)、setAuthType(Java)、AuthType(Go)

サポートされているDatabricks認証タイプのフィールド値は以下のとおりです。