Databricks クライアント統合認証
Databricks クライアント統合認証により、Azure Databricks への認証の設定と自動化が一元化されます。 これにより、Databricks 認証を一度構成すれば、それ以上認証構成を変更しなくても、複数の Databricks ツールおよび SDK でその構成を使用できます。
関与するすべてのツールと SDK
関与する Databricks ツールおよび SDK には、次のものが含まれます。
- Databricks CLI
- Databricks Terraform プロバイダー
- Databricks Connect
- Visual Studio Code 用の Databricks 拡張機能
- Databricks SDK for Python
- Databricks SDK for Java
- Databricks SDK for Go
関与するすべてのツールと SDK では、認証用に、特別な環境変数と、Azure Databricks 構成プロファイルを使用できます。 Databricks Terraform プロバイダーと Databricks SDK for Python、Java、Go の場合は、コード内で認証設定の直接構成を行うこともできます。 詳細については、ツールまたは SDK のドキュメントの開発者ツールを参照してください。
クライアント統合認証の既定の方法
ツールまたはSDKがAzure Databricksに対して認証する必要がある場合は、既定で次の種類の認証が次の順序で試行されます。 ツールまたは SDK が試行した認証の種類で認証が成功すると、残りの認証の種類での認証の試行を停止します。 特定の認証の種類で SDK を強制的に認証するには、Config
API の Databricks 認証の種類フィールドを設定します。
- Azure Databricks 個人用アクセス トークン認証
- OAuth(OAuth M2M)を使用してサービスプリンシパルで Azure Databricks へのアクセスを認証する
- OAuth (OAuth U2M)を使用してユーザー アカウントを使用して Azure Databricks へのアクセスを認証する
- Azure マネージド ID 認証
- MS Entra サービス プリンシパルの認証
- Azure CLI 認証
関与するツールまたは SDK が試行する認証の種類ごとに、ツールまたは SDK は次の場所、次の順序で認証資格情報の検索を試行します。 ツールまたは SDK が使用できる認証資格情報の検索に成功すると、ツールまたは SDK は残りの場所での認証資格情報の検索を停止します。
- 資格情報関連の
Config
API フィールド (SDK の場合)。Config
フィールドを設定するには、SDK のリファレンス ドキュメントを参照してください。 - 資格情報関連の環境変数。
.databrickscfg
ファイル内にあるDEFAULT
構成プロファイルの資格情報関連フィールド。 構成プロファイル フィールドを設定するには、(/dev-tools/auth/config-profiles.md) を参照してください。- 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 認証の種類のフィールド値には、以下のものがあります。
oauth-m2m
: OAuth 2.0 で M2M 認証に Databricks サービス プリンシパルを使用している場合は、この値を設定します。 詳細については、「 OAuth (OAuth M2M)を使用してサービス プリンシパルを使用して Azure Databricks へのアクセスを認証する」を参照してください。pat
: Databricks 個人用アクセス トークンを使用している場合は、この値を設定します。 詳細については、「Azure Databricks 個人用アクセス トークン認証」をご覧ください。databricks-cli
: OAuth 2.0 で Databricks CLI を使用している場合は、この値を設定します。 詳細については、「 OAuth (OAuth U2M)を使用してユーザー アカウントを使用して Azure Databricks へのアクセスを認証する」を参照してください。azure-msi
: Azure マネージド サービス ID (MSI) を使用している場合は、この値を設定します。 詳細については、「 Azure マネージド ID 認証を参照してください。azure-client-secret
: クライアント シークレットで Azure サービス プリンシパルを使用している場合は、この値を設定します。 詳細については、 MS Entra サービス プリンシパル認証を参照してください。