サービス プリンシパルは、Azure Databricks で自動化されたワークフローを認証するために使用される人間以外の ID です。 このページでは、Git フォルダー操作に Git 資格情報を使用するサービス プリンシパルを承認する方法について説明します。
注
自動化のために Microsoft Entra ID で Azure DevOps を使用している場合は、「特定の構成手順について Git フォルダーにアクセスするための Microsoft Entra サービス プリンシパルの承認 」を参照してください。
Azure Databricks UI を使用して Git 資格情報を追加する
Git 資格情報をサービス プリンシパルにリンクするには:
- ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
- 上部のバーでユーザー名をクリックし、[ 設定] を選択します。
- [ ID とアクセス ] タブをクリックします。
- サービス プリンシパルの横にある管理をクリックします。
- Git 資格情報で更新するサービス プリンシパルを選択します。
- [ Git 統合 ] タブをクリックします。
- [ Git 資格情報の追加] をクリックします。
- ドロップダウン メニューから Git プロバイダーを選択し、必要なフィールドに入力します。
- 選択したプロバイダーに応じて、[ 保存] または [ リンク] をクリックします。
サービス プリンシパルは、自動化の一部として Azure Databricks ワークスペースの Git フォルダー リソースにアクセスするときに、リンクされた Git 資格情報を使用するようになりました。
Azure Databricks CLI を使用して Git 資格情報を追加する
自動化ワークフロー用の Databricks CLI を使用して、サービス プリンシパル Git アクセスを構成します。
注
開始する前に、次のことを確認します。
- Databricks CLI がインストールおよび構成されています。
- Git プロバイダーからの個人用アクセス トークン。 「Git 資格情報を構成し、Azure Databricks にリモート リポジトリを接続する」を参照してください。
Databricks CLI を使用してサービス プリンシパルの Git フォルダーへの承認されたアクセスを提供するには:
ワークスペースにサービス プリンシパルを作成します。
databricks service-principals create --display-name "Git Automation Service Principal"出力の
applicationId値とid値に注意してください。 次の手順で必要になります。サービス プリンシパルの OAuth シークレットを生成します。
databricks service-principal-secrets-proxy create <service-principal-id><service-principal-id>を、前の手順の 15 桁のid値に置き換えます。出力から
secret値をコピーします。サービス プリンシパルの Git プロバイダー資格情報を追加します。
OAuth を使用してサービス プリンシパルとして認証するように Databricks CLI を構成します。
export DATABRICKS_HOST=<workspace-url> export DATABRICKS_CLIENT_ID=<application-id> export DATABRICKS_CLIENT_SECRET=<oauth-secret>置換前のコード:
-
<workspace-url>ワークスペースのURLと一緒に -
<application-id>手順 1. のアプリケーション ID を使用して -
<oauth-secret>手順 2 の OAuth シークレットを使用する
次に、Git 資格情報を追加します。
databricks git-credentials create <git-provider> \ --personal-access-token <git-pat> \ --git-email <git-email>置換前のコード:
-
<git-provider>のプロバイダー(例:gitHubやgitLab) -
<git-pat>Git プロバイダーの個人用アクセス トークンを使用する -
<git-email>自分の Git メール アドレスを使って
一部の Git プロバイダーでは、適切に認証するために
--git-usernameまたは--git-emailが必要です。 たとえば、GitHub では、これらのパラメーターの少なくとも 1 つが必要です。-
サービス プリンシパルは、リンクされた資格情報を使用して Git フォルダーにアクセスできるようになりました。
プログラムでサービス プリンシパルを取得する
Databricks SDK、REST API、または CLI を使用して、ワークスペースのサービス プリンシパルを取得します。
ノートブックから Databricks SDK を使用するには:
- Databricks SDK をインストールします。
%pip install databricks-sdk --upgrade -
ApiClientからdatabricks.sdk.coreをインポートします。 - サービス プリンシパル API を呼び出します。
コード例については、 Databricks SDK for Python のドキュメントを参照してください。
curl、Databricks CLI、または Terraform を使用して、プログラムでサービス プリンシパルを操作することもできます。