Databricks Repos を設定する

バージョン コントロール用に Databricks Repos を設定する方法について学習します。 Databricks Repos を設定したら、それを使用して、クローン、チェックアウト、コミット、プッシュ、プル、ブランチ管理などの一般的な Git 操作を Databricks UI から実行できます。 Databricks でノートブックとファイルを使用して開発する際に、変更の相違を確認することもできます。

ユーザー設定を構成する

Databricks Repos では、個人用アクセス トークン (PAT) または同等の資格情報を使用して Git プロバイダーに対して認証を行い、クローン、プッシュ、プルなどの操作を実行します。Repos を使用するには、まず Git PAT と Git プロバイダーのユーザー名を Databricks に追加する必要があります。 「Git 資格情報を構成し、リモート リポジトリを Azure Databricks に接続する」をご覧ください。

Git の資格情報 (個人用アクセス トークンとユーザー名) がなくても、パブリック リモート リポジトリをクローンできます。 パブリック リモート リポジトリの変更、またはプライベート リモート リポジトリのクローンや変更を行うには、リモート リポジトリの書き込み (以上) のアクセス許可を持つ Git プロバイダーのユーザー名と個人用アクセス トークンが必要です。

リポジトリは既定で有効になっていますが、機能はワークスペース管理者によってオンまたはオフになります。Repos で Git フォルダーのサポートを有効または無効にする方法の詳細については、「Databricks リポジトリ機能を有効または無効にする」を参照してください。

Databricks で Git 資格情報を追加または編集する

重要

Databricks Repos は、ワークスペースごと、ユーザーごとに 1 つの Git 資格情報のみをサポートします。

  1. 画面の右上にあるアカウント名の横にある下矢印を選択し、[ユーザー設定] を選択します。

  2. [リンクされたアカウント] タブを選択します。

  3. 初めて資格情報を追加する場合は、画面の指示に従います。

    以前に資格情報を入力したことがある場合は、[構成]>[編集] をクリックし、次の手順に進みます。

  4. [Git プロバイダー] ドロップダウンで、プロバイダー名を選択します。

  5. Git ユーザー名またはメールアドレスを入力します。

  6. [トークン] フィールドに、個人用アクセス トークン (PAT) または Git プロバイダーからのその他の資格情報を追加します。 詳細については、「Git 資格情報を構成し、リモート リポジトリを Azure Databricks に接続する」をご覧ください

    重要

    Databricks のすべての個人用アクセス トークンに有効期限を設定することをお勧めします。

    Azure DevOps の場合、トークンまたはアプリのパスワードを入力しないと、Git 統合では既定で Microsoft Entra ID (旧称 Azure Active Directory) トークンが使用されます。 Azure DevOps の個人用アクセス トークンを入力すると、代わりにそれが Git 統合で使用されます。 「トークンを使って Azure DevOps リポジトリに接続する」を参照してください。

    Note

    Azure パスワードを更新した後、新しい認証をすぐに機能させる必要がある場合は、Azure Databricks で再認証します。 再認証しないと、Azure DevOps 接続が最大 24 時間検証されない可能性があります。

    GitHub で SAML SSO が有効になっている組織では、SSO の個人用アクセス トークンを承認します

  7. [Git プロバイダーのユーザー名] フィールドにユーザー名を入力します。

  8. [保存] をクリックします。

Databricks Repos API を使用して、Git PAT トークンとユーザー名を Azure Databricks に保存することもできます。

リポジトリをクローンできず、Microsoft Entra ID 認証で Azure DevOps を使用している場合は、「Microsoft Entra ID (旧称 Azure Active Directory) の条件付きアクセス ポリシー (CAP) に関する問題」を参照してください。

Databricks Repos と Git プロバイダー間のネットワーク接続

Databricks Repos を機能させるには、Git プロバイダーへのネットワーク接続が必要です。 通常、これはインターネット経由で行われ、すぐに機能します。 しかし、アクセスを制御するための追加の制限を Git プロバイダーに設定している場合があります。 たとえば、IP 許可リストを設定しているか、GitHub Enterprise (GHE)、Bitbucket Server (BBS)、または GitLab セルフマネージドなどのサービスを使用して独自のオンプレミス Git サーバーをホストしている場合があります。 ネットワークのホスティングと構成によっては、Git サーバーにインターネット経由でアクセスできない場合があります。

Note

  • Git サーバーにはインターネットでアクセスできるが、IP 許可リストが設定されている場合 (GitHub 許可リストなど)、Azure Databricks コントロール プレーン NAT IP を Git サーバーの IP 許可リストに追加する必要があります。 リージョン別のコントロール プレーン NAT IP アドレスの一覧については、「Azure Databricks リージョン」を参照してください。 Azure Databricks ワークスペースがあるリージョンの IP を使用します。
  • Git サーバーを非公開でホストしている場合、アクセスのオンボード手順については、「Databricks Repos 用に非公開の Git 接続を設定する」を読むか、Azure Databricks のアカウント チームにお問い合わせください。

Databricks Repos のセキュリティ機能

Databricks Repos には、多くのセキュリティ機能があります。 次のセクションでは、セットアップと使用について説明します。

  • 暗号化された Git 資格情報の使用
  • 許可リスト
  • ワークスペースのアクセス制御
  • 監査ログ
  • シークレットの検出

独自のキーを持ち込む: Git 資格情報を暗号化する

Azure Key Vault を使用して、Git 個人用アクセス トークン (PAT) またはその他の Git 資格情報を暗号化できます。 暗号化サービスからのキーの使用は、カスタマー マネージド キー (CMK) または Bring Your Own Key (BYOK) と呼ばれます。

詳細については、暗号化用のカスタマー マネージド キーを参照してください。

許可リスト内の URL に使用を制限する

Azure DevOps での認証に Microsoft Entra ID を使用する場合、既定の許可リストでは Git URL が次のように制限されます。

  • dev.azure.com
  • visualstudio.com

カスタム CNAMES または Git URL エイリアスを持つ AAD の場合、ワークスペース管理者は次の手順に示すようにカスタム許可リストを構成できます。 カスタム許可リストを使用するときに、dev.azure.comvisualstudio.com の URL を使用する場合は、ワークスペース管理者がそれらの URL を追加する必要があります。

ワークスペース管理者は、ユーザーがクローン、コミット、およびプッシュできるリモート リポジトリを制限できます。 これは、許可リストの制限を有効にした場合、ユーザーがコードを任意のリポジトリにプッシュできないなど、コードの流出を防ぐのに役立ちます。 また、クローン操作を許可されたリポジトリのリストに制限することで、ユーザーがライセンスのないコードを使用できないようにすることもできます。

許可リストを設定するには:

  1. 管理者設定ページに移動します。
  2. [ワークスペースの設定] タブをクリックします。
  3. [Repos] セクションで、[Repos Git Allow List](Repos Git 許可リスト) からオプションを選択します。
    • Disabled (no restrictions) (無効(制限なし)): 許可リストに対するチェックはありません。
    • Restrict clone, commit & push to allowed Git repositories (許可された Git リポジトリに対するクローン、コミット、プッシュに制限する): クローン、コミット、プッシュ操作は、許可リスト内のリポジトリ URL に対してのみ許可されます。
    • Only restrict commit & push to allowed Git repositories (許可された Git リポジトリに対するコミットとプッシュのみに制限する): コミットおよびプッシュ操作は、許可リスト内のリポジトリ URL に対してのみ許可されます。 クローンおよびプル操作は制限されません。
  4. [Repos Git URL Allow List: Empty list](Repos Git URL 許可リスト: 空のリスト) の横のフィールドに、URL プレフィックスのコンマ区切りリストを入力します。
  5. [保存] をクリックします。

Note

  • 一覧を保存すると、保存されている URL プレフィックスの既存のセットが上書きされます。
  • 変更が有効になるまで最大 15 分かかる場合があります。

すべてのリポジトリへのアクセスを許可する

既存の許可リストを無効にし、すべてのリポジトリへのアクセスを許可するには:

  1. 管理者設定ページに移動します。
  2. [ワークスペースの設定] タブをクリックします。
  3. [Repos] セクションの [Repos Git 許可リスト] で、[無効にする (制限なし)] を選択します。

ワークスペース内のリポジトリのアクセスを制御する

Note

アクセス制御は、Premium プランでのみ使用できます。

アクセスを制御するリポジトリのアクセス許可を設定します。 リポジトリのアクセス許可は、そのリポジトリ内のすべてのコンテンツに適用されます。 ファイルには、5 つのアクセス許可レベル (アクセス許可なし、読み取り可能、実行可能、編集可能、管理可能) を割り当てることができます。

Git フォルダーのアクセス許可の詳細については、「Repos のアクセス許可」を参照してください。

(省略可能) エンタープライズ Git サーバーのプロキシを設定する

会社で GitHub Enterprise や Azure DevOps Server などのオンプレミスのエンタープライズ Git サービスを使用している場合は、Git Server Proxy for Databricks Repos を使って、Databricks ワークスペースを提供されるリポジトリに接続できます。

監査ログ

監査ログを有効にすると、Databricks リポジトリを操作したときの監査イベントがログに記録されます。 たとえば、Databricks リポジトリを作成、更新、または削除したとき、ワークスペースに関連付けられているすべての Databricks Repo の一覧を表示したとき、および Databricks リポジトリとリモート Git リポジトリの間で変更を同期したときに、監査イベントがログに記録されます。

シークレットの検出

Databricks Repos は、プレフィックス AKIA で始まるアクセス キー ID をコードでスキャンし、コミットする前にユーザーに警告します。

リポジトリ構成ファイルを使用する

手動で作成した .databricks/commit_outputs ファイル内のリポジトリに、各ノートブックの設定を追加できます。

gitignore パターンと同様のパターンを使用して、出力を含めるノートブックを指定します。

リポジトリ構成ファイルのパターン

ファイルには、正と負のファイル パス パターンが含まれています。 ファイル パス パターンには、.ipynb などのノートブック ファイル名拡張子が含まれます。

  • 正のパターンを使用すると、一致するノートブックに出力を含められます。
  • 負のパターンを使用すると、一致するノートブックに出力は含められません。

パターンは、すべてのノートブックの順序で評価されます。 無効なパスまたは .ipynb ノートブックに解決されないパスは無視されます。

ノートブック パスからの出力を含めるにはfolder/innerfolder/notebook.ipynb、次のパターンを使用します。

**/*
folder/**
folder/innerfolder/note*

ノートブックの出力を除外するには、一致する正のパターンがないことを確認するか、構成ファイルの正しい場所に負のパターンを追加します。 負の (除外) パターンは ! で始まります。

!folder/innerfolder/*.ipynb
!folder/**/*.ipynb
!**/notebook.ipynb

リポジトリをごみ箱に移動 (削除)

ワークスペースからリポジトリを削除するには、次の操作を行います。

  1. リポジトリを右クリックし、[ごみ箱に移動] を選択します。

  2. ダイアログ ボックスに、削除するリポジトリの名前を入力します。 次に、[Confirm & move to trash] (確認してごみ箱に移動) をクリックします。

    [Confirm and move to Trash] (確認してごみ箱に移動) ダイアログ ボックス。

次のステップ