Share via


使用 Microsoft Entra ID 服務主體的 Azure CLI 登入

請遵循下列步驟, 使用 Azure CLI 以 Microsoft Entra ID 服務主體登入 Azure Databricks。 如需 Azure Databricks 服務主體的相關信息,請參閱 管理服務主體

  1. 收集以下資訊:

    參數 描述
    Tenant ID Directory (tenant) ID在 Microsoft Entra ID 中註冊之相關應用程式的 。
    Client ID Application (client) ID在 Microsoft Entra ID 中註冊之相關應用程式的 。
    Client secret Value Microsoft Entra ID 中註冊之相關應用程式的用戶端密碼的 。
  2. 如果您還不知道此標識符,請執行下列其中一項,取得 Microsoft Entra ID 服務主體的正確 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>
      
  3. 取得 Microsoft Entra ID 服務主體的正確 Azure 租使用者識別碼、用戶端識別碼、用戶端密碼和訂用帳戶標識碼之後,請使用 Azure CLI 執行 az login 命令來登入 Azure。 使用 --service-principal 選項,並針對在 Microsoft Entra ID 中註冊的相關應用程式,指定 (Directory (tenant) ID)、 Client IDApplication (client) IDClient secretValue) 的參數Tenant ID值。

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. 確認您已登入登入 Microsoft Entra ID 服務主體的正確訂用帳戶。 若要這樣做,請使用 -s--subscription 選項來執行 az account set 命令,以指定正確的訂用帳戶標識碼。

    az account set -s <subscription-id>