共用方式為


使用 Unity 目錄服務認證連線到外部雲端服務

重要

這項功能處於公開預覽狀態

本文說明如何使用 Unity 目錄中的服務認證來連線到外部雲端服務。 Unity 目錄中的服務認證物件會封裝長期雲端認證,以提供使用者從 Azure Databricks 連線到的外部雲端服務存取權。

另請參閱:

開始之前

您必須先具備下列專案,才能使用服務認證來連線到外部雲端服務:

  • 已啟用 Unity 目錄的 Azure Databricks 工作區。
  • Databricks Runtime 15.4 LTS 或更新版本的計算資源。 不支援 SQL 倉儲。
  • 在 Unity 目錄中繼存放區中建立的服務認證,可提供雲端服務的存取權。
  • ACCESS服務認證或服務認證的擁有權許可權。

在您的程式代碼中使用服務認證

本節提供在筆記本中使用服務認證的範例。 公開預覽期間僅支援 Python。 取代佔位元值。

範例:將 Azure SDK 用戶端設定為使用特定服務認證

from azure.keyvault.secrets import SecretClient # example Azure SDK client

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

指定計算資源的預設服務認證

您可以藉由設定環境變數,選擇性地指定所有用途或作業計算叢集的預設服務認證。 根據預設,SDK 會在未提供驗證時使用該服務認證。 使用者仍然需要 ACCESS 該服務認證,才能連線到外部雲端服務。 Databricks 不建議使用此方法,因為它可讓您的程式代碼比在程式代碼中命名服務認證更不可攜。

注意

無伺服器計算和 SQL 倉儲不支援環境變數,因此不支援預設服務認證。

  1. 開啟叢集的編輯頁面。

    請參閱 管理計算

  2. 按兩下 頁面底部的 [進階選項 ],然後移至 [Spark] 索引標籤

  3. 在環境變數新增下列專案,並<your-service-credential>取代 :

    DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>

下列程式代碼範例未指定服務認證。 相反地,它會使用環境變數中指定的 DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME 服務認證:

from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

與範例中的範例比較:設定 Azure SDK 用戶端以使用不會匯DefaultAzureCredential入並新增認證規格的特定服務認證

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')