Získání tokenů Microsoft Entra ID (dříve Azure Active Directory) pro uživatele pomocí Azure CLI

Důležité

Tento článek popisuje, jak ručně vytvořit tokeny Microsoft Entra ID (dříve Azure Active Directory) pro uživatele pomocí Azure CLI.

Databricks nedoporučuje vytvářet tokeny Microsoft Entra ID (dříve Azure Active Directory) pro uživatele Azure Databricks ručně. Důvodem je to, že každý token Microsoft Entra ID je krátkodobý, obvykle vyprší do jedné hodiny. Po této době musíte ručně vygenerovat náhradní token Microsoft Entra ID. Místo toho použijte jeden z zúčastněných nástrojů nebo sad SDK, které implementují jednotný ověřovací standard klienta Databricks. Tyto nástroje a sady SDK automaticky generují a nahrazují tokeny Microsoft Entra ID pro vás a využívají ověřování Azure CLI.

Pomocí Azure CLI můžete získat přístupové tokeny Microsoft Entra ID pro uživatele.

Poznámka:

Můžete také definovat instanční objekt v Azure Active Directory a pak získat přístupový token Microsoft Entra ID pro tento instanční objekt místo pro uživatele. Viz Získání tokenů Microsoft Entra ID (dříve Azure Active Directory) pro instanční objekty.

  1. Pokud toto ID ještě neznáte, získejte správné ID předplatného Azure pro váš uživatelský účet:

    • V horním navigačním panelu pracovního prostoru Azure Databricks klikněte na své uživatelské jméno a potom klikněte na Azure Portal. Na stránce prostředku pracovního prostoru Azure Databricks, která se zobrazí, klikněte na bočním panelu na Přehled . Pak vyhledejte pole ID předplatného, které obsahuje ID předplatného.

    • Pomocí Azure CLI spusťte příkaz az databricks workspace list a pomocí --query možností a -o--output zúžíte výsledky. Nahraďte adb-0000000000000000.0.azuredatabricks.net názvem vaší instance pracovního prostoru, nikoli názvem https://. V tomto příkladu 00000000-0000-0000-0000-000000000000/subscriptions/ následuje ve výstupu ID předplatného.

      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
      

      Pokud se zobrazí následující zpráva, jste přihlášeni k nesprávnému tenantovi: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Pokud se chcete přihlásit ke správnému tenantovi, musíte příkaz spustit az login znovu pomocí -t možnosti nebo --tenant zadat správné ID tenanta.

      ID tenanta pro pracovní prostor Azure Databricks můžete získat spuštěním příkazu curl -v <per-workspace-URL>/aad/auth a vyhledáním ve výstupu < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, kde 00000000-0000-0000-0000-000000000000 je ID tenanta. Viz také Získání ID předplatného a tenanta na webu Azure Portal.

      az login -t <tenant-id>
      
  2. Jakmile budete mít správné ID předplatného Azure pro uživatelský účet, začněte se k Azure přihlašovat pomocí Azure CLI a spusťte příkaz az login. Po spuštění tohoto příkazu dokončete přihlášení pomocí účtu podle pokynů na obrazovce.

    az login
    
  3. Ověřte, že jste přihlášeni ke správnému předplatnému přihlášeného uživatele. Provedete to spuštěním příkazu az account set pomocí -s možnosti nebo --subscription zadáním správného ID předplatného.

    az account set -s <subscription-id>
    
  4. Spuštěním příkazu az account get-access-token vygenerujte přístupový token Microsoft Entra ID (dříve Azure Active Directory). --resource Pomocí možnosti zadejte jedinečné ID prostředku pro službu Azure Databricks, což je 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Hodnotu tokenu Microsoft Entra ID můžete zobrazit ve výstupu příkazu pomocí --query a -o nebo --output možností.

    az account get-access-token \
    --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \
    --query "accessToken" \
    -o tsv
    

Poznámka:

Azure CLI založené na MSAL používá knihovnu Microsoft Authentication Library (MSAL) jako podkladovou knihovnu ověřování. Pokud nemůžete úspěšně použít přístupový token Microsoft Entra ID, který azure CLI vygeneruje, jako alternativu můžete zkusit použít MSAL přímo k získání přístupového tokenu Microsoft Entra ID pro uživatele. Viz Získání tokenů Microsoft Entra ID (dříve Azure Active Directory) pro uživatele pomocí knihovny MSAL.