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

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

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

  • 有人認証シナリオは手動ワークフローです。たとえば、Databricks CLI のプロンプトが表示されたら、ローカル コンピューター上で Web ブラウザーを使ってターゲットの Azure Databricks ワークスペースにログインします。
  • 無人認証シナリオは、GitHub などの CI/CD システムを使う場合など、自動化された CI/CD ワークフローです。

以下のセクションでは、これら 2 種類の認証シナリオに基づいて、Databricks アセット バンドルに使う Azure Databricks 認証の種類と設定をお勧めします。

有人認証

Databricks アセット バンドルを使用した有人認証シナリオの場合、Databricks では、ターゲット ワークスペースの Azure Databricks ユーザー アカウントに対して OAuth ユーザー対マシン (U2M) 認証を使用することをお勧めします。

ターゲット ワークスペースの Azure Databricks ユーザー アカウントに関連付けられている個人用アクセス トークンを使用することもできます。

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

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

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

無人認証

Databricks アセット バンドルを使った無人認証シナリオの場合、Databricks では、以下の Azure Databricks 認証の種類を、次の優先順で使うことを推奨しています。

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

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

複数の Azure Databricks ワークスペース (たとえば、3 つの個別ではあっても関連している開発、ステージング、運用環境のワークスペース) で機能するように設計された CI/CD システムで使われる Databricks アセット バンドル プロジェクトの場合、Azure Databricks では、認証にサービス プリンシパルを使うことと、1 つのサービス プリンシパルに、参加しているすべてのワークスペースへのアクセス権を付与することを推奨しています。 これにより、プロジェクトのすべてのワークスペースで同じ環境変数を使用できるようになります。

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

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

Azure マネージド ID 認証

Azure マネージド ID 認証を設定するには、「Azure マネージド ID 認証」を参照してください。

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

OAuth マシン間 (M2M) 認証

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

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

Microsoft Entra ID サービス プリンシパル認証

Microsoft Entra ID サービス プリンシパル認証をセットアップする方法については、「MS Entra サービス プリンシパル認証」を参照してください。

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

Azure CLI 認証

Azure CLI 認証を設定するには、「Azure CLI 認証」を参照してください。

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

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

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

有人認証シナリオでは、「CLI」セクションの指示に従って、OAuth (OAuth U2M)を使用してユーザー アカウントを使用して Azure Databricks へのアクセスを認証すると、Azure Databricks構成プロファイルが自動的に作成されます。

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

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

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

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