使用 Azure CLI 取得使用者的 Microsoft Entra ID 權杖
重要
本文說明如何使用 Azure CLI 為用戶手動建立Microsoft Entra 識別碼令牌。
Databricks 不建議手動為 Azure Databricks 使用者建立Microsoft Entra ID 令牌。 這是因為每個Microsoft Entra ID 令牌都是短期的,通常會在一小時內到期。 在此之後,您必須手動生成取代的 Microsoft Entra ID 權杖。 請改用其中一個參與的工具或 SDK 來實 作 Databricks 用戶端統一驗證 標準。 這些工具和 SDK 會自動為您產生並取代過期的 Microsoft Entra ID 令牌,利用 Azure CLI 驗證 。
您可以使用 Azure CLI,為使用者取得Microsoft Entra ID 存取令牌。
注意
您也可以在 Azure Active Directory 中定義服務主體,然後取得該服務主體的 Microsoft Entra ID 存取令牌,而非針對使用者。 如需服務主體的 Microsoft Entra ID 權杖,請參閱 。
如果您還不知道此標識碼,請執行下列其中一項,取得使用者帳戶的正確 Azure 訂用帳戶標識碼:
在 Azure Databricks 工作區的頂端導覽列中,按兩下您的使用者名稱,然後按兩下 [Azure 入口網站]。 在出現的 [Azure Databricks 工作區資源] 頁面上,按兩下 提要欄位中的 [概觀 ]。 然後尋找 [ 訂用帳戶標識符 ] 字段,其中包含訂用帳戶標識符。
使用
Azure CLI 來執行 az databricks workspace list 命令,使用 和 或 選項來縮小結果範圍。 adb-0000000000000000.0.azuredatabricks.net
取代為工作區實例的名稱,不包括https://
。 在此範例中,00000000-0000-0000-0000-000000000000
輸出中的 後面/subscriptions/
是訂用帳戶標識碼。az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
如果出現下列訊息,表示您已登入錯誤的租使用者:
The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'.
若要登入正確的租使用者,您必須使用-t
或--tenant
選項再次執行az login
命令,以指定正確的租使用者標識符。您可以透過執行命令
curl -v <per-workspace-URL>/aad/auth
來取得 Azure Databricks 工作區的租戶識別碼,並檢視輸出< location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000
,其中00000000-0000-0000-0000-000000000000
是租戶識別碼。 另請參閱 Azure 入口網站中的訂用帳戶和租用者識別碼的取得。az login -t <tenant-id>
為使用者帳戶設定正確的 Azure 訂用帳戶標識碼之後,請使用 Azure CLI 執行 az login 命令來開始登入 Azure。 執行此命令之後,請遵循螢幕上的指示,以使用您的帳戶完成登入。
az login
確認您登入的使用者已登入正確的訂用帳戶。 若要這樣做,請執行 az account set 命令,並使用
-s
或--subscription
選項來指定正確的訂用帳戶標識符。az account set -s <subscription-id>
執行 az account get-access-token 命令,以產生您的
Microsoft Entra ID 存取令牌。 --resource
使用 選項來指定 Azure Databricks 服務的唯一資源識別碼,也就是2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
。 您可以使用 和-o
或--output
選項,在命令--query
的輸出中只顯示Microsoft Entra ID 令牌的值。az account get-access-token \ --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \ --query "accessToken" \ -o tsv
注意
以 MSAL 為基礎的 Azure CLI 會使用 Microsoft 驗證連結庫 (MSAL) 作為基礎驗證連結庫。 如果您無法成功使用 Azure CLI 產生的Microsoft Entra ID 存取令牌,或者您可以嘗試直接使用 MSAL 來取得使用者的Microsoft Entra ID 存取令牌。 請參閱 使用 MSAL取得使用者的 Microsoft Entra ID 令牌。