共用方式為


將資源新增至 Databricks 應用程式

Databricks 應用程式可以與各種 Azure Databricks 平臺功能整合,例如 Databricks SQL 來查詢數據、用於數據擷取和處理的 Lakeflow 作業、馬賽克 AI 模型服務來存取產生 AI 模型,以及用於管理敏感性資訊的 Azure Databricks 秘密。 在應用程式的內容中,這些平臺功能稱為 資源

為什麼要使用資源?

若要讓應用程式保持可攜式且安全,請避免硬式編碼資源標識碼。 例如,不要在應用程式程式碼中內嵌固定的 SQL 倉儲識別碼,而是透過 Databricks Apps UI 將 SQL 倉儲設定為資源。

使用 Databricks Apps 資源,而不是直接 API 呼叫,有數個優點:

  • 自動管理憑證和權限,從而消除程式碼中的手動權杖處理。
  • 自動處理資源路徑、端點和連線詳細資料。
  • 提供安全且受管理的存取,而不是要求自我管理的憑證來進行直接的 API 呼叫。
  • 讓應用程式在環境之間保持可攜性,而無需變更程式碼。

支援的資源類型

下表列出您可以新增至 Databricks 應用程式的所有資源類型:

資源類型 Description 預設資源金鑰 可用權限
Genie 空間 AI 驅動的自然語言查詢分析界面 genie-space
  • 可檢視
  • 可以運行
  • 可以編輯
  • 可以管理
Lakebase 資料庫 用於資料儲存和查詢的 Unity 目錄資料庫 database
  • 可以連接和創造
Lakeflow 作業 資料擷取和處理工作流程 job
  • 可檢視
  • 可以管理運行
  • 可以管理
MLflow 實驗 機器學習實驗追蹤與模型生命週期管理 experiment
  • 能讀
  • 可以編輯
  • 可以管理
模型服務端點 推斷請求的機器學習模型部署 serving-endpoint
  • 可檢視
  • 可以進行查詢
  • 可以管理
祕密 安全儲存 API 金鑰和權杖等敏感值 secret
  • 能讀
  • 會寫
  • 可以管理
SQL 倉儲 執行 SQL 查詢的運算資源 sql-warehouse
  • 可使用
  • 可以管理
Unity 目錄連結 與外部資料來源的管理連線 connection
  • 使用連線
使用者自訂函式 Unity 目錄中的註冊 SQL 與 Python 函式 function
  • 可以執行
Unity 目錄磁碟區 Unity 目錄中應用程式工件和資料的檔案儲存體 volume
  • 能讀
  • 能讀寫
向量搜尋索引 語意搜尋與基於相似性的向量嵌入檢索 vector-search-index
  • 可以選擇

先決條件

若要將資源新增至應用程式,必須符合下列條件:

  • 資源必須存在。
  • 新增資源的用戶必須具有 Can manage 資源和應用程式的許可權。

應用程式會以最低許可權執行,並依賴 Azure Databricks 平臺內的現有資源。 部署時,應用程式的服務主體會存取這些資源,而且必須具有必要的許可權,例如 SQL 查詢的數據表層級存取權或秘密的讀取許可權。 請參閱 在 Databricks 應用程式中設定授權

設定應用程式的資源

資源可讓您的應用程式安全地連線到其相依的服務,而不需要硬式編碼敏感性或環境特定值。

當您建立或編輯應用程式時,請直接在 Databricks Apps UI 中新增資源。

  1. 當你建立或編輯應用程式時,請切換到 「配置 」步驟。
  2. 應用程式資源 區塊,點擊 + 新增資源
  3. 選取您要新增的資源類型。
  4. 設定資源上應用程式服務主體的許可權。
  5. 將索引鍵指派給資源,並在檔案中 app.yaml 參考該索引鍵。

在UI中將SQL倉儲新增為應用程式資源

管理資源的應用程式存取權

每個應用程式都有專用 的服務主體。 請遵循這些最佳做法,安全地管理存取。

  • 使用應用程式的服務主體進行驗證。 切勿在程式碼中硬式編碼個人存取權杖 (PAT)。 存取認證會自動插入為環境變數:
    • DATABRICKS_CLIENT_ID
    • DATABRICKS_CLIENT_SECRET
  • 請勿在應用程式或跨用戶之間共用服務主體認證。 每個應用程式都應該使用自己的專用認證來隔離和安全性。
  • 套用最小權限原則。 只授與應用程式服務主體所需的最低許可權。 例如:
    • 如果應用程式只需要執行查詢,請在 SQL 倉儲上授予 CAN USE
    • CAN QUERY如果應用程式只傳送推斷要求,則授與服務端點。
    • 根據應用程式的數據存取需求,授予 SELECTMODIFY 權限至 Unity Catalog 的數據表。

後續步驟

將資源新增至應用程式之後,請在應用程式組態的 env 區段中使用 valueFrom 欄位來參考這些資源。 如需指示,請參閱 在 Databricks 應用程式中定義環境變數