メインコンテンツまでスキップ

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 認証タイプの詳細については、「 Databricks 認証方法」を参照してください。

有人認証シナリオの認証設定を格納するために、Databricks では、ローカル開発マシンで Databricks 構成プロファイルを使用することをお勧めします。 構成プロファイルを使用すると、異なる Databricks 認証コンテキストをすばやく切り替えて、複数の Databricks ワークスペース間で迅速なローカル開発を行うことができます。 プロファイルを使用すると、Databricks CLI でバンドル validatedeployrun、および destroy コマンドを実行するときに、--profile または -p オプションを使用して特定のプロファイルを指定できます。「Databricks 構成プロファイル」を参照してください。

Databricks では、ワークスペース マッピング内で profile マッピングを使用して、バンドル構成ファイル内の各ターゲット ワークスペースに使用するプロファイルを指定することもできます。ただし、マッピングがハードコードされていると、バンドル設定ファイルのプロジェクト間での再利用性が低くなります。

無人認証

Databricks アセット バンドルを使用した無人認証シナリオでは、Databricks では、次の Databricks 認証の種類を次の優先順で使用することをお勧めします。

  • ターゲット ワークスペース内の サービスプリンシパルの マシン間OAuth (M2M) 認証 。Databricks
  • ターゲット ワークスペースで Databricks ユーザーとして機能する Google Cloud サービス アカウントの Google Cloud ID 認証
  • Databricksターゲット Databricksワークスペース内の サービスプリンシパルに関連付けられているトークンの 個人用アクセス トークン認証 。

これらの Databricks 認証タイプの詳細については、「 Databricks 認証方法」を参照してください。

無人認証のシナリオでは、CI/CD システムは通常、これに最適化されているため、Databricks では環境変数を使用して Databricks 認証設定をターゲット CI/CD システムに格納することをお勧めします。

複数のDatabricksワークスペース (たとえば、3 つの別個の関連する開発、ステージング、本番運用のワークスペース) で動作するように設計された CI/CD システムで使用される Databricks Asset Bundles プロジェクトの場合、Databricks では、認証にサービスプリンシパルを使用し、参加しているすべてのワークスペースに対する 1 つのサービスプリンシパルにアクセス権を付与することをお勧めします。これにより、プロジェクトのすべてのワークスペースで同じ環境変数を使用できます。

Databricks では、バンドル構成ファイル内のターゲット ワークスペースの ワークスペース マッピングで、ハードコーディングされた認証関連設定の使用もサポートしています。 ハードコードされた設定により、バンドル構成のプロジェクト間での再利用性が低くなり、 Databricks サービスプリンシパル ID などの機密情報が不必要に公開されるリスクがあります。

無人認証のシナリオでは、次のように、関連付けられているコンピュート リソースにも Databricks CLI をインストールする必要があります。

OAuth マシン間 (M2M) 認証

OAuthM2M 認証を設定するには、「Databricksを使用してサービスプリンシパルを使用して リソースへの無人アクセスを承認OAuth する」を参照してください。

無人認証に設定する環境変数のリストは、 「Databricksサービスプリンシパルを使用して リソースへの無人アクセスを許可する 」の「環境」セクションのワークスペースレベルの操作範囲にありますOAuth 。環境変数を設定するには、オペレーティング システムまたは CI/CD システム プロバイダーのドキュメントを参照してください。

OAuth ユーザー間 (U2M) 認証

OAuth U2M 認証を設定するには、「 OAuth を使用してユーザー アカウントで Databricks リソースへの対話型アクセスを承認する」の「CLI」セクションを参照してください。

有人認証のシナリオでは、「 OAuth を使用してユーザー アカウントで Databricks リソースへの対話型アクセスを承認する」 の「CLI」セクションの手順を完了すると、Databricks 構成プロファイルが自動的に作成されます。

Google Cloud ID 認証

Google Cloud ID 認証を設定するには、 Google Cloud ID 認証をご覧ください。

無人認証に設定する環境変数のリストは、 Google Cloud ID 認証の「環境」セクションにあるワークスペース レベルのオペレーション カバレッジにあります。 環境変数を設定するには、オペレーティング システムまたは CI/CD システム プロバイダーのドキュメントを参照してください。

Databricks 個人用アクセス トークン認証

Databricks 個人用アクセス トークンを作成するには、「 Databricks 個人用アクセス トークン認証」を参照してください。

有人認証のシナリオで Databricks 構成プロファイルを作成するには、「 Databricks 個人用アクセス トークン認証」の「CLI」セクションを参照してください。

無人認証に設定する環境変数の一覧は、 Databricks 個人用アクセス トークン認証の「環境」セクションのワークスペース レベルの操作範囲にあります。 環境変数を設定するには、オペレーティング システムまたは CI/CD システム プロバイダーのドキュメントを参照してください。