Databricks アセットバンドルの認証
この記事では、Databricks アセット バンドルの認証を構成する方法について説明します。「Databricks アセットバンドルとは」を参照してください。
Databricks Asset Bundle は、 有人 認証と 無人 認証の 2 種類の認証シナリオのコンテキスト内でデプロイして実行します。
- 有人認証シナリオ (ユーザー間) は手動のワークフローであり、たとえば、Databricks CLI からプロンプトが表示されたら、ローカル マシンの Web ブラウザーを使用してターゲットの Databricks ワークスペースにログインします。この方法は、エクスペリメントや迅速な開発に最適です。
- 無人認証シナリオ (マシン間) は、GitHub などの CI/CD システムを使用する場合など、完全に自動化された CI/CD ワークフローです。
次のセクションでは、これら 2 種類の認証シナリオに基づいて、Databricks アセット バンドルに使用する Databricks 認証の種類と設定を推奨します。
有人認証
アセットバンドルを使用した有人認証シナリオでは、 では、ターゲット ワークスペースの ユーザー アカウントに対してOAuth User-to-Machine Databricks(U2M)Databricks 認証 を使用することをお勧めします。Databricks
また、Databricks ユーザー アカウントに関連付けられている 個人用アクセス トークン をターゲット ワークスペースに使用することもできます。
Databricks のユーザー名とパスワードを使用した基本認証は、2024 年 7 月 10 日にサポートが終了しました。 「Databricks で管理されるパスワードのサポート終了」を参照してください。
これらの Databricks 認証タイプの詳細については、「 Databricks 認証方法」を参照してください。
有人認証シナリオの認証設定を格納するために、Databricks では、ローカル開発マシンで Databricks 構成プロファイルを使用することをお勧めします。 構成プロファイルを使用すると、異なる Databricks 認証コンテキストをすばやく切り替えて、複数の Databricks ワークスペース間で迅速なローカル開発を行うことができます。 プロファイルを使用すると、Databricks CLI でバンドル validate
、deploy
、run
、および destroy
コマンドを実行するときに、--profile
または -p
オプションを使用して特定のプロファイルを指定できます。「Databricks 構成プロファイル」を参照してください。
DEFAULT
構成プロファイルが存在する場合は、コマンド行オプション (-p <profile-name>
) または profile
(または host
) マッピングが指定されていない場合に使用されます。
Databricks では、ワークスペース マッピング内で profile
マッピングを使用して、バンドル構成ファイル内の各ターゲット ワークスペースに使用するプロファイルを指定することもできます。ただし、マッピングがハードコードされていると、バンドル設定ファイルのプロジェクト間での再利用性が低くなります。
無人認証
Databricks アセット バンドルを使用した無人認証シナリオでは、Databricks では、次の Databricks 認証の種類を次の優先順で使用することをお勧めします。
- ターゲット ワークスペース内の サービスプリンシパルの マシン間OAuth (M2M) 認証 。Databricks
- Databricksターゲット Databricksワークスペース内の サービスプリンシパルに関連付けられているトークンの 個人用アクセス トークン認証 。
これらの Databricks 認証タイプの詳細については、「 Databricks 認証方法」を参照してください。
無人認証のシナリオでは、CI/CD システムは通常、これに最適化されているため、Databricks では環境変数を使用して Databricks 認証設定をターゲット CI/CD システムに格納することをお勧めします。
複数のDatabricksワークスペース (たとえば、3 つの別個の関連する開発、ステージング、本番運用のワークスペース) で動作するように設計された CI/CD システムで使用される Databricks Asset Bundles プロジェクトの場合、Databricks では、認証にサービスプリンシパルを使用し、参加しているすべてのワークスペースに対する 1 つのサービスプリンシパルにアクセス権を付与することをお勧めします。これにより、プロジェクトのすべてのワークスペースで同じ環境変数を使用できます。
Databricks では、バンドル構成ファイル内のターゲット ワークスペースの ワークスペース マッピングで、ハードコーディングされた認証関連設定の使用もサポートしています。 ただし、ハードコーディングされた設定により、バンドル構成のプロジェクト間での再利用性が低くなり、 Databricks サービスプリンシパル ID などの機密情報が公開されるリスクがあります。
無人認証のシナリオでは、次のように、関連付けられているコンピュート リソースにも Databricks CLI をインストールする必要があります。
- 手動インストールについては、「 Databricks CLI のインストールまたは更新」を参照してください。
- GitHub については、「 Databricks アセット バンドルを使用した CI/CD」を参照してください。
- その他の CI/CD システムについては、「 Databricks CLI のインストールまたは更新 」と CI/CD システム プロバイダーのドキュメントを参照してください。
OAuth マシン間 (M2M) 認証
OAuth M2M 認証を設定するには、「サービスプリンシパル アクセスを OAuthでDatabricksに許可する」を参照してください。
無人認証に設定する環境変数のリストは、サービスプリンシパルアクセスをOAuthで許可するサービスのプリンシパDatabricksルの「環境」の「環境」セクションのワークスペースレベルの操作範囲にあります。環境変数を設定するには、オペレーティングシステムまたは CI/CD システムプロバイダーのドキュメントを参照してください。
OAuth ユーザー間 (U2M) 認証
OAuth U2M 認証を設定するには、「 OAuth を使用して Databricks へのユーザー アクセスを承認する」の「CLI」セクションを参照してください。
有人認証のシナリオでは、「 OAuth を使用して Databricks へのユーザー アクセスを承認する」 の「CLI」セクションの手順を実行すると、Databricks 構成プロファイルが自動的に作成されます。
Databricks 個人用アクセス トークン認証
Databricks personal アクセストークンを作成するには、「Databricks personal アクセストークン認証 (レガシー)」を参照してください。
有人認証のシナリオでは、Databricks構成プロファイルを作成するには、「Databricks個人アクセストークン認証(レガシー)」の「CLI」セクションを参照してください。
無人認証で設定する環境変数のリストは、 Databricks 個人アクセストークン認証(レガシー)の「環境」のワークスペースレベルの操作範囲にあります。 環境変数を設定するには、オペレーティングシステムまたは CI/CD システムプロバイダーのドキュメントを参照してください。