サービスプリンシパルが Git フォルダにアクセスすることを承認する
サービスプリンシパルは、 Databricksで自動化されたワークフローを認証するために使用される人間以外の ID です。 このページでは、サービスプリンシパルがGitフォルダー操作にGit資格情報を使用することを承認する方法について説明します。
Databricks UI を使用して Git 資格情報を追加する
Git資格情報をサービスプリンシパルにリンクするには:
- ワークスペース管理者として、Databricksワークスペースにログインします。
- 上部のバーにあるユーザー名をクリックし、 「設定」 を選択します。
- [ IDとアクセス ] タブをクリックします。
- サービスプリンシパル の横にある [ 管理 ] をクリックします。
- Git認証情報を使用して更新するサービスプリンシパルを選択します。
- Git 統合 タブをクリックします。
- 「Git 資格情報の追加」 をクリックします。
- ドロップダウン メニューから Git プロバイダーを選択し、必須フィールドに入力します。
- 選択したプロバイダーに応じて、 [保存] または [リンク] をクリックします。
サービスプリンシパルは、自動化の一環としてDatabricksワークスペースGitフォルダー リソースにアクセスするときに、リンクされたGit資格情報を使用するようになりました。
Databricks CLI を使用して Git 資格情報を追加する
自動化ワークフロー用にDatabricks CLI使用してサービスプリンシパルGitアクセスを構成します。
始める前に、次のことを確認してください。
- Databricks CLIがインストールおよび構成されました。
- Gitプロバイダーからの個人的なアクセスウイルス。 「Git 資格情報を構成し、リモート リポジトリを Databricks に接続する」を参照してください。
Databricks CLI使用してサービスプリンシパルのGitフォルダーへの承認されたアクセスを提供するには、次の手順を実行します。
-
ワークスペースにサービスプリンシパルを作成します。
Bashdatabricks service-principals create --display-name "Git Automation Service Principal"出力の
applicationIdとid値をメモします。次のステップで必要になります。 -
サービスプリンシパルのOAuthシークレットを生成します。
Bashdatabricks service-principal-secrets-proxy create <service-principal-id><service-principal-id>前のステップの 15 桁のid値に置き換えます。出力から
secret値をコピーします。 -
サービスプリンシパルのGitプロバイダーの資格情報を追加します。
OAuth使用してサービスプリンシパルとして認証するようにDatabricks CLI構成します。
Bashexport 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 の資格情報を追加します。
Bashdatabricks 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 APIs 、またはCLI使用して、ワークスペースのサービスプリンシパルを取得します。
ノートブックから Databricks SDK を使用するには:
- Databricks SDK をインストールします。
%pip install databricks-sdk --upgrade databricks.sdk.coreからApiClientをインポートします。- サービスプリンシパルAPIを呼び出します。
コード例については、 Databricks SDK for Python のドキュメントを参照してください。
curl 、 Databricks CLI 、またはTerraform使用して、サービスプリンシパルをプログラムで操作することもできます。