Azure Databricks 構成プロファイルは、 .databrickscfg ファイルに認証設定を格納します。 構成プロファイルを使用すると、コードを変更することなく、さまざまなワークスペース、環境、または認証方法を簡単に切り替えることができます。
ツール、SDK、スクリプト、アプリは、構成プロファイルを参照して Azure Databricks で認証できます。 統合認証を実装するすべてのツールと SDK は、構成プロファイルをサポートします。
構成プロファイルとは
構成プロファイルは、次を含む .databrickscfg ファイル内の名前付きセクションです。
- トークンやサービスプリンシパルの資格情報などの認証情報
- Azure Databricks ワークスペースまたはアカウントの URL
- 認証方法に固有のオプションの設定
1 つの .databrickscfg ファイルに複数のプロファイルを作成して、開発、ステージング、運用などのさまざまなワークスペースまたは環境への接続を管理します。
構成プロファイルを作成する
Databricks CLI を使用するか、.databrickscfg ファイルを手動で編集して、構成プロファイルを作成します。
CLI を使用してプロファイルを作成する
対話型ユーザー認証用の構成プロファイルを作成する最も簡単な方法は、Databricks CLI を使用することです。
databricks auth login --host <workspace-url>
CLI によって Web ブラウザーが開き、認証フローが完了します。 サインインすると、CLI によって資格情報が構成プロファイルとして保存されます。
プロファイルを手動で作成する
構成プロファイルを手動で作成するには:
ホーム ディレクトリに
.databrickscfgという名前のファイルを作成します。-
Unix、Linux、macOS:
~/.databrickscfg -
Windows:
%USERPROFILE%\.databrickscfg
-
Unix、Linux、macOS:
次の形式のプロファイルを追加します。
[<profile-name>] <field-name> = <field-value>プレースホルダーを置き換えてください。
-
<profile-name>:DEFAULT、DEVELOPMENT、またはPRODUCTIONのような一意の名前 -
<field-name>および<field-value>: 認証方法の認証フィールド
-
たとえば、 OAuth マシン間 (M2M) 認証の場合、 .databrickscfg ファイルは次のようになります。
[DEFAULT]
host = https://<workspace-url>
client_id = <client-id>
client_secret = <client-secret>
複数のプロファイルを作成する
異なるワークスペースまたは環境を管理するために、同じ .databrickscfg ファイル内に複数のプロファイルを定義します。 各プロファイルには一意の名前が必要です。
[DEFAULT]
host = https://production-workspace-url
client_id = <production-client-id>
client_secret = <production-client-secret>
[DEVELOPMENT]
host = https://dev-workspace-url
client_id = <dev-client-id>
client_secret = <dev-client-secret>
[STAGING]
host = https://staging-workspace-url
client_id = <staging-client-id>
client_secret = <staging-client-secret>
認証の種類を組み合わせる
構成ファイル内の個別のプロファイルに複数の認証方法を定義します。 これは、ワークフローやツールごとに異なる資格情報を使用する場合に便利です。 たとえば、対話型の使用にはクラウドネイティブ認証を使用し、自動化には OAuth 資格情報を使用できます。
[DEFAULT]
host = https://<workspace-url>
[SERVICE_PRINCIPAL]
azure_workspace_resource_id = /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/workspaces/<workspace-name>
azure_tenant_id = <tenant-id>
azure_client_id = <client-id>
azure_client_secret = <client-secret>
認証の種類とその必須フィールドの詳細については、「 Databricks 統合認証」を参照してください。
構成プロファイルを使用する
構成プロファイルを作成したら、ツールとコードで参照します。 プロファイル名を指定しない場合、Azure Databricks ツールと SDK は自動的に DEFAULT プロファイルを使用します。
DEFAULT以外のプロファイルを使用するには、プロファイル名を指定します。
Databricks CLI を使用する場合:
databricks workspace list --profile DEVELOPMENT
環境変数を使用する場合:
export DATABRICKS_CONFIG_PROFILE=DEVELOPMENT
databricks workspace list
Python SDK を使用する場合:
from databricks.sdk import WorkspaceClient
# Specify profile in code
w = WorkspaceClient(profile="DEVELOPMENT")
# Or use environment variable DATABRICKS_CONFIG_PROFILE
ベスト プラクティス
- プロファイル名を指定する必要性を最小限に抑えるには、最も一般的なワークスペースの DEFAULT プロファイルを使用します。
- 汎用名の代わりに、
PRODUCTION、DEVELOPMENT、STAGINGなどのわかりやすいプロファイル名を使用します。 - 制限されたファイルのアクセス許可を設定して、
.databrickscfgファイルを保護します (ユーザーのみが読み取り可能)。 - バージョン管理に
.databrickscfgをコミットしないでください。.gitignoreファイルに追加します。 - 個人用アクセス トークンではなく、運用ワークロードにサービス プリンシパルを使用します。
- 資格情報を定期的にローテーションし、それに応じてプロファイルを更新します。
トラブルシューティング
プロファイルが見つからない場合は、次のことを確認します。
-
.databrickscfgファイルはホーム ディレクトリにあります。 - 正確なプロファイル名を使用します。
- ファイルに
.databrickscfg.txtなどの名前が付けられません。
認証に失敗した場合は、次のことを確認します。
- 資格情報が最新であり、有効期限が切れていない。
-
hostURL が正しいです。 - あなたが試みている操作に必要なアクセス許可があります。
Databricks CLI を使用して構成プロファイルをテストします。
# Inspect a specific profile
databricks auth env --profile DEVELOPMENT
# List all profiles
databricks auth profiles
詳細については、「 構成プロファイルをテストする」を参照してください。