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