Získání tokenů ID Microsoft Entra pro instanční objekty Microsoft Entra ID pomocí Azure CLI

Důležité

Tento článek popisuje, jak pomocí Azure CLI ručně vytvořit tokeny ID Microsoft Entra pro instanční objekty Microsoft Entra ID.

Spravované instanční objekty Azure Databricks se spravují přímo v Azure Databricks. Spravované instanční objekty Microsoft Entra ID se spravují v MICROSOFT Entra ID, které vyžadují další oprávnění. Databricks doporučuje, abyste ve většině případů používali spravované instanční objekty Azure Databricks. Databricks však doporučuje používat instanční objekty spravované id Microsoft Entra v případech, kdy je nutné provést ověření pomocí Azure Databricks a dalších prostředků Azure najednou.

Pokud chcete vytvořit spravovaný instanční objekt Azure Databricks místo instančního objektu spravovaného id Microsoft Entra, přečtěte si téma Správa instančních objektů.

Databricks nedoporučuje vytvářet tokeny ID Microsoft Entra pro instanční objekty Microsoft Entra ID 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í následující typy ověřování Databricks:

Pomocí Azure CLI můžete získat přístupové tokeny Microsoft Entra ID pro instanční objekty Microsoft Entra ID.

  1. Shromážděte následující informace:

    Parametr Popis
    Tenant ID Pro Directory (tenant) ID související aplikaci zaregistrovanou v Microsoft Entra ID.
    Client ID Pro Application (client) ID související aplikaci zaregistrovanou v Microsoft Entra ID.
    Client secret Tajný Value klíč klienta pro související aplikaci zaregistrovanou v Microsoft Entra ID.
  2. Pokud toto ID ještě neznáte, získejte správné ID předplatného Azure pro instanční objekt Microsoft Entra ID:

    • 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>
      
  3. Jakmile budete mít správné ID tenanta Azure, ID klienta, tajný klíč klienta a ID předplatného instančního objektu Microsoft Entra ID, přihlaste se k Azure pomocí Azure CLI a spusťte příkaz az login . --service-principal Použijte možnost spolu s určením hodnot pro parametry Tenant ID (Directory (tenant) ID), Client ID (Application (client) ID) a Client secret (Value) pro související aplikaci zaregistrovanou v Microsoft Entra ID.

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. Ověřte, že jste přihlášeni ke správnému předplatnému instančního objektu Microsoft Entra ID. 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>
    
  5. Spuštěním příkazu az account get-access-token vygenerujte přístupový token Microsoft Entra ID pro přihlášený instanční objekt Microsoft Entra ID. --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 se vám nedaří ú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 instančního objektu Microsoft Entra ID. Viz Získání tokenů ID Microsoft Entra pro instanční objekty.