Databricks アセットバンドルの認証
この記事では、 Databricks アセット バンドルの認証を構成する方法について説明します。 「 Databricks アセット バンドルとは」を参照してください。
Databricks Asset Bundle は、 有人 認証と 無人認証の 2 種類の認証シナリオのコンテキスト内でデプロイして実行します。
有人認証のシナリオは手動のワークフローであり、たとえば、Databricks CLI によってプロンプトが表示されたときに、ローカル コンピューター上の Web ブラウザーを使用してターゲットの Databricks ワークスペースにログインします。
無人認証シナリオは、GitHub などの CI/CD システムを使用する場合など、自動化された CI/CD ワークフローです。
次のセクションでは、これら 2 種類の認証シナリオに基づいて、Databricks アセット バンドルに使用する Databricks 認証の種類と設定を推奨します。
在席認証
アセットバンドルを使用した有人認証シナリオでは、 では、ターゲット ワークスペースのOAuth ユーザー DatabricksアカウントにDatabricks ユーザー対マシン (U2M) 認証 を使用することをお勧めします。Databricks
また、 Databricksユーザー アカウントに関連付けられた 個人用アクセストークン をターゲット ワークスペースに使用することもできます。
これらの Databricks 認証タイプの詳細については、「 Databricks 認証方法」を参照してください。
有人認証シナリオの認証設定を格納するために、Databricks では、ローカル開発マシンで Databricks 構成プロファイルを使用することをお勧めします。 構成プロファイルを使用すると、異なる Databricks 認証コンテキストをすばやく切り替えて、複数の Databricks ワークスペース間で迅速なローカル開発を行うことができます。 プロファイルを使用すると、Databricks CLI でバンドル validate
、deploy
、run
、および destroy
コマンドを実行するときに、--profile
または -p
オプションを使用して特定のプロファイルを指定できます。「Databricks 構成プロファイル」を参照してください。
Databricks では、ワークスペース マッピング内で profile
マッピングを使用して、バンドル構成ファイル内の各ターゲット ワークスペースに使用するプロファイルを指定することもできます。ただし、マッピングがハードコードされていると、バンドル設定ファイルのプロジェクト間での再利用性が低くなります。
無人認証
Databricks アセット バンドルを使用した無人認証シナリオでは、Databricks では、次の Databricks 認証の種類を次の優先順位で使用することをお勧めします。
ターゲット ワークスペースの Databricks サービスプリンシパルの OAuth マシン間 (M2M) 認証。
ターゲット ワークスペースで Databricks ユーザーとして機能する Google クラウド サービス アカウントの Google クラウド ID 認証。
ターゲット ワークスペースの Databricks サービスプリンシパルに関連付けられているトークンの Databricks personal アクセストークン認証。
これらの 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 Asset Bundle と GitHub Actions を使用して CI/CD ワークフローを実行する」を参照してください。
その他の CI/CD システムについては、「 Databricks CLI のインストールまたは更新 」と CI/CD システム プロバイダーのドキュメントを参照してください。
OAuthマシン間(M2M)認証
OAuthM2M 認証を設定するには、「 DatabricksOAuth(OAuth M2M) を使用してサービスプリンシパルで へのアクセスを認証 する」を参照してください。
無人認証に設定する環境変数の一覧は、 ( M2MDatabricks を使用してサービスプリンシパルとの へのアクセスを認証 するのOAuthOAuth "Environment" セクションのワークスペース レベルの操作範囲にあります。環境変数を設定するには、オペレーティング システムまたは CI/CD システム プロバイダーのドキュメントを参照してください。
OAuthユーザー対マシン(U2M)認証
OAuth U2M 認証を設定するには、「 OAuth を使用してユーザーアカウントで Databricks へのアクセスを認証する (OAuth U2M)」の「CLI」セクションを参照してください。
有人認証のシナリオでは、「 OAuth (OAuth U2M) を使用してユーザー アカウントで Databricks へのアクセスを認証する」 の「CLI」セクションの手順を完了すると、Databricks 構成プロファイルが自動的に作成されます。
Google クラウド ID 認証
Google クラウド ID 認証を設定するには、「 Google クラウド ID 認証」を参照してください。
無人認証に設定する環境変数の一覧は、 Google クラウド ID 認証の「環境」セクションのワークスペース レベルの操作範囲にあります。 環境変数を設定するには、オペレーティングシステムまたは CI/CD システム プロバイダーのドキュメントを参照してください。
Databricks個人用アクセストークン認証
Databricks 個人用アクセストークンを作成するには、「 Databricks 個人用アクセストークン認証」を参照してください。
有人認証のシナリオでは、Databricks 構成プロファイルを作成するには、「 Databricks 個人用アクセストークン認証」の「CLI」セクションを参照してください。
無人認証に設定する環境変数の一覧は、 Databricks 個人用アクセストークン認証の "環境" セクションのワークスペース レベルの操作カバレッジにあります。 環境変数を設定するには、オペレーティングシステムまたは CI/CD システム プロバイダーのドキュメントを参照してください。