共用方式為


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

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

  1. 收集以下資訊:

    參數 描述
    Tenant ID Microsoft Entra ID 中註冊的相關應用程式的Directory (tenant) ID
    Client ID 相關應用程式在 Microsoft Entra ID 中的 Application (client) ID 註冊。
    Client secret 在 Microsoft Entra ID 中註冊的相關應用程式的客戶端密鑰 Value
  2. 如果您還不知道此標識碼,請執行下列其中一項,取得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'.若要登入正確的租使用者,您必須使用 az login-t 選項再次執行--tenant命令,以指定正確的租使用者標識符。

      您可以透過執行命令 curl -v <per-workspace-URL>/aad/auth 並查看輸出 < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,來取得 Azure Databricks 工作區的租用戶識別碼,其中 00000000-0000-0000-0000-000000000000 是租用戶識別碼。 另請參閱取得 Azure 入口網站 中的訂用帳戶和租用戶標識碼。

      az login -t <tenant-id>
      
  3. 在您擁有 Microsoft Entra ID 服務主體的正確 Azure 租用戶標識碼、用戶端標識碼、用戶端秘密和訂用帳戶標識符之後,使用 Azure CLI 執行 az login 命令來登入 Azure。 使用--service-principal選項,並針對在 Microsoft Entra ID 中註冊的相關應用程式,指定Tenant IDDirectory (tenant) ID)、Client IDApplication (client) ID)、和Client secretValue)參數的值。

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

    az account set -s <subscription-id>