Databricks 構成プロファイル
Databricks 構成プロファイルは、認証設定を.databrickscfgファイルに保存します。構成プロファイルを使用すると、コードを変更せずに、さまざまなワークスペース、環境、または認証方法を簡単に切り替えることができます。
ツール、SDK、スクリプト、アプリは、構成プロファイルを参照して Databricks で認証できます。統合認証を実装するすべてのツールと SDK は、構成プロファイルをサポートしています。
構成プロファイルとは何ですか?
構成プロファイルは、 .databrickscfgファイル内の名前付きセクションであり、次の内容が含まれます。
- トークンやサービスプリンシパルの資格情報などの認証資格情報
- DatabricksワークスペースまたはアカウントのURL
- 認証方法に固有のオプション設定
単一の.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>
google_service_account = <service-account-email>
複数のプロファイルを作成する
異なるワークスペースまたは環境を管理するには、同じ.databrickscfgファイル内に複数のプロファイルを定義します。各プロファイルには一意の名前を付ける必要があります。
[DEFAULT]
host = https://production-workspace-url
google_service_account = <production-service-account>
[DEVELOPMENT]
host = https://dev-workspace-url
google_service_account = <dev-service-account>
認証タイプを組み合わせる
構成ファイル内の個別のプロファイルで複数の認証方法を定義します。これは、異なるワークフローやツールに異なる資格情報を使用したい場合に便利です。たとえば、対話型の使用にはネイティブ クラウド認証を使用し、自動化にはOAuth資格情報を使用できます。
[DEFAULT]
host = https://<workspace-url>
[SERVICE_ACCOUNT]
host = https://<workspace-url>
google_service_account = <service-account-email>
認証の種類とその必須フィールドの詳細については、 Databricks統合認証」を参照してください。
構成プロファイルを使用する
構成プロファイルを作成したら、ツールとコードでそれを参照します。プロファイル名を指定しない場合、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
ベストプラクティス
- 最も一般的なワークスペースには安心プロファイルを使用して、プロファイル名を指定する必要性を最小限に抑えます。
- 一般的な名前の代わりに、
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
詳細については、 「構成プロファイルをテストする」を参照してください。