Databricks クライアント統合認証

Databricks クライアント統合認証により、Azure Databricks への認証の設定と自動化が一元化されます。 これにより、Databricks 認証を一度構成すれば、それ以上認証構成を変更しなくても、複数の Databricks ツールおよび SDK でその構成を使用できます。

関与するすべてのツールと SDK

関与する Databricks ツールおよび SDK には、次のものが含まれます。

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

クライアント統合認証の既定の方法

ツールまたはSDKがAzure Databricksに対して認証する必要がある場合は、既定で次の種類の認証が次の順序で試行されます。 ツールまたは SDK が試行した認証の種類で認証が成功すると、残りの認証の種類での認証の試行を停止します。 特定の認証の種類で SDK を強制的に認証するには、Config API の Databricks 認証の種類フィールドを設定します。

  1. Azure Databricks 個人用アクセス トークン認証
  2. OAuth(OAuth M2M)を使用してサービスプリンシパルで Azure Databricks へのアクセスを認証する
  3. OAuth (OAuth U2M)を使用してユーザー アカウントを使用して Azure Databricks へのアクセスを認証する
  4. Azure マネージド ID 認証
  5. MS Entra サービス プリンシパルの認証
  6. Azure CLI 認証

関与するツールまたは SDK が試行する認証の種類ごとに、ツールまたは SDK は次の場所、次の順序で認証資格情報の検索を試行します。 ツールまたは SDK が使用できる認証資格情報の検索に成功すると、ツールまたは SDK は残りの場所での認証資格情報の検索を停止します。

  1. 資格情報関連の Config API フィールド (SDK の場合)。 Config フィールドを設定するには、SDK のリファレンス ドキュメントを参照してください。
  2. 資格情報関連の環境変数。
  3. .databrickscfg ファイル内にある DEFAULT 構成プロファイルの資格情報関連フィールド。 構成プロファイル フィールドを設定するには、(/dev-tools/auth/config-profiles.md) を参照してください。
  4. Azure CLI によってキャッシュされている関連する認証資格情報。 「Azure CLI 認証」を参照してください。

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

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

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

  • 環境変数は、環境変数の名前です (該当する場合)。
  • .databrickscfg フィールドは、Azure Databricks 構成プロファイル ファイルまたは Databricks Terraform 構成内のフィールドの名前です (該当する場合)。 .databrickscfg フィールドを設定するには、「Azure Databricks 構成プロファイル」を参照してください。
  • Terraform フィールドは、Databricks Terraform 構成内のフィールドの名前です (該当する場合)。 Databricks Terraform フィールドを設定するには、Databricks Terraform プロバイダーのドキュメントの「認証」を参照してください。
  • Config フィールドは、指定された SDK の Config API 内のフィールドの名前です。

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

共通名 説明 環境変数 .databrickscfg フィールド、Terraform フィールド Config フィールド
Azure Databricks ホスト (文字列) Azure Databricks ワークスペース エンドポイントまたは Azure Databricks アカウント エンドポイントの Azure Databricks ホスト URL。 DATABRICKS_HOST host host (Python)、
setHost (Java)、
Host (Go)
Azure Databricks トークン (文字列) Azure Databricks 個人用アクセス トークンまたは Microsoft Entra ID トークン。 DATABRICKS_TOKEN token token (Python)、
setToken (Java)、
Token (Go)
Azure Databricks アカウント ID (文字列) Azure Databricks アカウント エンドポイントの Azure Databricks アカウント ID。 Azure Databricks ホストも次に設定されている場合にのみ有効です:
https://accounts.azuredatabricks.net.
DATABRICKS_ACCOUNT_ID account_id account_id (Python)、
setAccountID (Java)、
AccountID (Go)

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

共通名 説明 環境変数 .databrickscfg フィールド、Terraform フィールド Config フィールド
Azure クライアント ID (文字列) Microsoft Entra ID サービス プリンシパルのアプリケーション ID。 Azure マネージド ID 認証と Microsoft Entra ID サービス プリンシパル認証を使います。 ARM_CLIENT_ID azure_client_id azure_client_id (Python)、
setAzureClientID (Java)、
AzureClientID (Go)
Azure クライアント シークレット (文字列) Microsoft Entra ID サービス プリンシパルのクライアント シークレット。 Microsoft Entra ID サービス プリンシパル認証を使います。 ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python)、
setAzureClientSecret (Java)、
AzureClientSecret (Go)
クライアント ID (文字列) Azure Databricks マネージド サービス プリンシパルまたは Microsoft Entra ID マネージド サービス プリンシパルのクライアント ID。 OAuth M2M 認証で使います。 DATABRICKS_CLIENT_ID client_id client_id (Python)、
setClientId (Java)、
ClientId (Go)
クライアント シークレット (文字列) Azure Databricks マネージド サービス プリンシパルまたは Microsoft Entra ID マネージド サービス プリンシパルのクライアント シークレット。 OAuth M2M 認証で使います。 DATABRICKS_CLIENT_SECRET client_secret client_secret (Python)、
setClientSecret (Java)、
ClientSecret (Go)
Azure 環境 (文字列) Azure 環境の種類。 既定値は PUBLIC です。 ARM_ENVIRONMENT azure_environment azure_environment (Python)、
setAzureEnvironment (Java)、
AzureEnvironment (Go)
Azure テナント ID (文字列) Microsoft Entra ID サービス プリンシパルのテナント ID。 ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python)、
setAzureTenantID (Java)、
AzureTenantID (Go)
Azure use MSI (Azure で MSI を使用する) (ブール値) サービス プリンシパルに Azure マネージド サービス ID パスワードレス認証フローを使用する場合は True。 Azure リソース ID も設定する必要があります。 ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
Azure リソース ID (文字列) Azure Databricks ワークスペースの Azure Resource Manager ID。 DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python)、
setAzureResourceID (Java)、
AzureResourceID (Go)

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

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

共通名 説明 環境変数 Terraform フィールド Config フィールド
.databrickscfg ファイル パス (String) 次への既定以外のパス:
.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 認証の種類のフィールド値には、以下のものがあります。