Databricks アセットバンドルの認証

この記事では、 Databricks アセット バンドルの認証を構成する方法について説明します。 「 Databricks アセット バンドルとは」を参照してください。

Databricks アセット バンドルをデプロイして実行するには、 有人 認証シナリオと 無人認証シナリオの 2 種類のコンテキスト内で実行されます。

  • 有人認証のシナリオは手動のワークフローであり、たとえば、Databricks CLI によってプロンプトが表示されたときに、ローカル コンピューター上の Web ブラウザーを使用してターゲットの Databricks ワークスペースにログインします。

  • 無人認証シナリオは、GitHub などの CI/CD システムを使用する場合など、自動化された CI/CD ワークフローです。

次のセクションでは、これら 2 種類の認証シナリオに基づいて、Databricks アセット バンドルに使用する Databricks 認証の種類と設定を推奨します。

在席認証

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

これらの Databricks 認証の種類の詳細については、「 サポートされている Databricks 認証の種類」を参照してください。

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

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

無人認証

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

これらの Databricks 認証の種類の詳細については、「 サポートされている Databricks 認証の種類」を参照してください。

無人認証のシナリオでは、Databricks では、環境変数を使用して、ターゲットの CI/CD システムに Databricks 認証設定を格納することをお勧めします。 これは、CI/CD システムは通常、環境変数に格納された認証設定で動作するように最適化されているためです。 これらの CI/CD システムは、多くの場合、Databricks 構成プロファイルなどの他のアプローチでは機能しないか、予期しない方法や安全でない方法でプロファイルと連携する可能性があります。

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

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

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

OAuthマシン間(M2M)認証

OAuth M2M 認証を設定するには、「 OAuth マシン間 (M2M) 認証」を参照してください。

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

OAuthユーザー対マシン(U2M)認証

OAuth U2M 認証を設定するには、「 OAuth ユーザー対マシン (U2M) 認証」の「CLI」セクションを参照してください。

有人認証のシナリオでは、「 OAuth ユーザー対マシン (U2M) 認証 」の「CLI」セクションの手順を完了すると、Databricks 構成プロファイルが自動的に作成されます。

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

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

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

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

基本認証 (レガシー)

有人認証のシナリオでは、Databricks 構成プロファイルを作成するには、「 基本認証 (レガシー)」の「プロファイル」セクションのワークスペース レベルの操作範囲を参照してください。