設定 Databricks Git 資料夾 (Repos)

瞭解如何設定 Databricks Git 資料夾 (先前稱為 Repos) 以進行版本控制。 在 Databricks 中設定 Git 資料夾之後,您可以從 Databricks UI 執行常見的 Git 作業,例如複製、簽出、認可、推送、提取和分支管理。 當您使用 Databricks 中的筆記本和檔案進行開發時,您也可以看到所做變更的差異。

設定使用者設定

Databricks Git 資料夾會使用個人存取令牌 (PAT) 或對等認證向 Git 提供者進行驗證,以執行複製、推送、提取等作業。若要使用 Git 資料夾,您必須先將 Git PAT 和 Git 提供者使用者名稱新增至 Databricks。 請參閱 設定 Git 認證和將遠端存放庫連線到 Azure Databricks

您可以複製沒有 Git 認證的公用遠端存放庫(個人存取令牌和使用者名稱)。 若要修改公用遠端存放庫,或複製或修改私人遠端存放庫,您必須擁有 Git 提供者使用者名稱和 PAT,並具有 遠端存放庫的寫入 許可權(或更高許可權)。

預設會啟用 Git 資料夾。 如需啟用或停用 Git 資料夾支援的詳細資訊,請參閱 啟用或停用 Databricks Git 資料夾功能

在 Databricks 中新增或編輯 Git 認證

重要

Databricks Git 資料夾僅支援每個使用者、每個工作區的一個 Git 認證。

  1. 選取畫面右上方帳戶名稱旁的向下箭號,然後選取 [設定]。

  2. 選取 [連結帳戶] 索引標籤

  3. 如果您是第一次新增認證,請按照畫面上的指示。

    如果您先前已輸入認證,請按兩下 [設定>編輯],然後移至下一個步驟。

  4. 在 Git 提供者 下拉清單中,選擇提供者名稱。

  5. 輸入您的 Git 使用者名稱或電子郵件。

  6. 在 [ 令牌 ] 字段中,新增來自 Git 提供者的個人存取令牌 (PAT) 或其他認證。 如需詳細資訊,請參閱 設定 Git 認證和將遠端存放庫連線至 Azure Databricks

    重要

    Databricks 建議您為所有個人存取令牌設定到期日。

    針對 Azure DevOps,如果您未輸入令牌或應用程式密碼,Git 整合預設會使用您的 Microsoft Entra ID(先前稱為 Azure Active Directory) 令牌。 如果您輸入 Azure DevOps 個人存取令牌,Git 整合會改用它。 請參閱使用令牌 連線 至 Azure DevOps 存放庫。

    注意

    更新 Azure 密碼之後,如果您需要新的驗證立即運作,請使用 Azure Databricks 重新驗證。 如果您未重新驗證,Azure DevOps 連線可能無法驗證最多 24 小時。

    如果您的組織已在 GitHub 中啟用 SAML SSO,請授權您的個人 SSO 存取令牌。

  7. [Git 提供者使用者名稱] 字段中輸入您的用戶名稱

  8. 按一下 [檔案] 。

您也可以使用 Databricks Repos API 將 Git PAT 令牌和使用者名稱儲存至 Azure Databricks。

如果您無法複製存放庫,且您使用 Azure DevOps 搭配 Microsoft Entra 標識符驗證,請參閱 Microsoft Entra ID 的條件式存取原則問題(先前稱為 Azure Active Directory)。

Databricks Git 資料夾與 Git 提供者之間的網路連線

Git 資料夾需要與 Git 提供者的網路連線才能運作。 通常,這是通過互聯網,並現裝運作。 不過,您可能已在 Git 提供者上設定其他限制,以控制存取。 例如,您可能會有IP允許清單,或者您可能會使用 GitHub Enterprise (GHE)、Bitbucket Server (BBS) 或 Gitlab 自我管理等服務來裝載自己的內部部署 Git 伺服器。 根據您的網路裝載和設定,您的 Git 伺服器可能無法透過因特網存取。

注意

Git 資料夾中的安全性功能

Databricks Git 資料夾有許多安全性功能。 下列各節將逐步引導您完成其設定和使用:

  • 使用加密的 Git 認證
  • 允許清單
  • 工作區存取控制
  • 稽核記錄
  • 秘密偵測

攜帶您自己的金鑰:加密 Git 認證

您可以使用 Azure 金鑰保存庫 來加密 Git 個人存取權杖 (PAT) 或其他 Git 認證。 使用加密服務的金鑰稱為客戶自控金鑰(CMK)或自備密鑰(BYOK)。

如需詳細資訊,請參閱 客戶管理的加密金鑰。

限制使用允許清單中的URL

如果您使用 Microsoft Entra ID 向 Azure DevOps 進行驗證,默認允許列表會將 Git URL 限制為:

  • dev.azure.com
  • visualstudio.com

針對具有自定義 CNAMES 或 Git URL 別名的 AAD,您的工作區管理員可以設定自訂允許清單,如下列步驟所示。 如果您使用自訂允許清單,則如果您要使用這些網址,您的工作區管理員必須新增這些網址: dev.azure.comvisualstudio.com

工作區管理員可以限制使用者可以複製的遠端存放庫,並認可並推送至該存放庫。 這有助於防止程式代碼外洩;例如,如果您已開啟允許清單限制,使用者就無法將程式代碼推送至任意存放庫。 您也可以將複製作業限制為允許的存放庫清單,以防止使用者使用未授權的程式代碼。

若要設定允許清單:

  1. 移至 [ 設定] 頁面
  2. 按兩下 [ 工作區管理員] 索引標籤(預設為開啟)。
  3. 在 [開發] 區段中,從 Git URL 允許清單權限中選擇選項:
    • 已停用 (沒有限制):對允許清單沒有檢查。
    • 限制複製、認可和推送至允許的 Git 存放庫:複製、認可和推送作業只允許允許清單中的存放庫 URL。
    • 只有限制認可和推送至允許的 Git 存放庫:認可和推送作業只允許允許清單中的存放庫 URL。 複製和提取作業不受限制。

用於設定使用者 Git 存取權的 [管理員 設定] 底下的 [開發] 窗格

  1. 按兩下 Git URL 允許清單旁的 [編輯] 按鈕:空白清單,然後輸入以逗號分隔的URL前置詞清單。

開發系統管理員設定中的 [編輯允許清單] 按鈕

  1. 按一下 [儲存]。

注意

  • 您儲存的清單會覆寫現有的已儲存 URL 前置詞集。
  • 變更最多可能需要 15 分鐘才會生效。

允許存取所有存放庫

若要停用現有的允許清單,並允許存取所有存放庫:

  1. 移至 [ 設定] 頁面
  2. 按兩下 [ 工作區管理員] 索引標籤。
  3. 在 [開發] 區段中的 [Git URL 允許列表許可權]底下:選取 [停用] (沒有限制)。

控制工作區中存放庫的存取權

注意

訪問控制僅適用於 進階版方案

設定存放庫的許可權以控制存取權。 存放庫的許可權會套用至該存放庫中的所有內容。 您可以將五個許可權層級指派給檔案:沒有許可權、可以讀取、可以執行、可以編輯及管理。

如需 Git 資料夾權限的詳細資訊,請參閱 Git 資料夾 ACL

(選擇性)設定企業 Git 伺服器的 Proxy

如果您的公司使用內部部署企業 Git 服務,例如 GitHub Enterprise 或 Azure DevOps Server,您可以使用 Databricks Git Server Proxy 將 Databricks 工作區連線到其所服務的存放庫。

稽核記錄

啟用稽核記錄,當您與 Git 資料夾互動時,會記錄稽核事件。 例如,當您建立、更新或刪除 Git 資料夾、列出與工作區相關聯的所有 Git 資料夾,以及同步處理 Git 資料夾與遠端 Git 存放庫之間的變更時,就會記錄稽核事件。

秘密偵測

Git 資料夾會掃描程式代碼,以存取開頭為前置 AKIA 詞的存取密鑰標識碼,並在認可之前警告使用者。

使用存放庫組態檔

您可以在手動建立的檔案中,將每個筆記本的 .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 資料夾名稱。 然後,按兩下 [ 確認] 並移至垃圾桶。

    確認 [移至垃圾桶] 對話框。

下一步