Share via


使用 Azure CLI 取得使用者的 Microsoft Entra 識別碼 (先前稱為 Azure Active Directory) 令牌

重要

本文說明如何使用 Azure CLI 為使用者手動建立 Microsoft Entra ID(先前稱為 Azure Active Directory) 令牌。

Databricks 不建議您手動為 Azure Databricks 使用者建立 Microsoft Entra ID (先前稱為 Azure Active Directory) 令牌。 這是因為每個 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 識別碼(先前稱為 Azure Active Directory) 令牌。

  1. 如果您還不知道此標識碼,請執行下列其中一項,取得使用者帳戶的正確 Azure 訂用帳戶標識碼:

    • 在 Azure Databricks 工作區的頂端導覽列中,按兩下您的使用者名稱,然後按兩下 [Azure 入口網站]。 在出現的 [Azure Databricks 工作區資源] 頁面上,按兩下 提要欄位中的 [概觀 ]。 然後尋找 [ 訂用帳戶標識符 ] 字段,其中包含訂用帳戶標識符。

    • 使用 Azure CLI 來執行 az databricks workspace list 命令,並使用 --query-o--output 選項來縮小結果範圍。 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 並查看輸出 < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,其中 00000000-0000-0000-0000-000000000000 是租用戶標識碼,以取得 Azure Databricks 工作區的租使用者標識碼。 另請參閱取得 Azure 入口網站 中的訂用帳戶和租用戶標識碼。

      az login -t <tenant-id>
      
  2. 為使用者帳戶設定正確的 Azure 訂用帳戶標識碼之後,請使用 Azure CLI 執行 az login 命令來開始登入 Azure。 執行此命令之後,請遵循螢幕上的指示,以使用您的帳戶完成登入。

    az login
    
  3. 確認您登入的使用者已登入正確的訂用帳戶。 若要這樣做,請使用 -s--subscription 選項來執行 az account set 命令,以指定正確的訂用帳戶標識碼。

    az account set -s <subscription-id>
    
  4. 執行 az account get-access-token 命令,以產生 您的 Microsoft Entra ID (先前稱為 Azure Active Directory) 存取令牌--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 識別碼(先前稱為 Azure Active Directory) 令牌。