Databricks Git フォルダー (Repos) を設定する

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

ユーザー設定を構成する

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

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

Git フォルダーは既定で有効になっています。 Git フォルダーのサポートを有効または無効にする方法の詳細については、「Databricks Git フォルダー機能を有効または無効にする」を参照してください。

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

重要

Databricks Git フォルダーでは、ワークスペースごとに、ユーザーごとに 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 Git フォルダーと Git プロバイダー間のネットワーク接続

Git フォルダーを機能させるには、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 Git フォルダー (Repos) のプライベート Git 接続の設定」を読むか、Azure Databricks のアカウント チームにお問い合わせください。

Git フォルダーのセキュリティ機能

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

  • 暗号化された 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. [開発] セクションで、[Git URL 許可リストのアクセス許可] からオプションを選びます。

    • Disabled (no restrictions) (無効(制限なし)): 許可リストに対するチェックはありません。
    • 許可された Git リポジトリに対するクローン、コミット、プッシュに制限する: クローン、コミット、プッシュ操作は、許可リスト内のリポジトリ URL に対してのみ許可されます。
    • 許可された Git リポジトリに対するコミットとプッシュのみに制限する: コミットおよびプッシュ操作は、許可リスト内のリポジトリ URL に対してのみ許可されます。 クローンおよびプル操作は制限されません。

    ユーザーの Git アクセスを設定するために使用される管理者設定の下の [開発] ペイン

  4. [Git URL 許可リスト: 空のリスト] の横にある [編集] ボタンをクリックし、URL プレフィックスのコンマ区切りリストを入力します。

    開発管理者設定の許可リストの [編集] ボタン

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

Note

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

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

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

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

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

Note

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

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

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

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

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

監査ログ

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

シークレットの検出

Git フォルダーでは、プレフィックス AKIA で始まるアクセス キー ID についてコードがスキャンされ、コミットする前にユーザーに警告されます。

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

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

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

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

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

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

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

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

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

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

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

Git フォルダーをごみ箱に移動する (削除)

ワークスペースから Git フォルダーを削除するには:

  1. Git フォルダーを右クリックし、[ごみ箱に移動] を選択します。

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

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

次のステップ