Dela via


Hämta Microsoft Entra-ID-token (tidigare Azure Active Directory) för Microsoft Entra ID-tjänstens huvudnamn med hjälp av Azure CLI

Viktigt!

I den här artikeln beskrivs hur du manuellt skapar Microsoft Entra-ID-token (tidigare Azure Active Directory) för Microsoft Entra ID-tjänstens huvudnamn med hjälp av Azure CLI.

Azure Databricks-hanterade tjänstens huvudnamn hanteras direkt i Azure Databricks. Microsoft Entra ID managed service principals hanteras i Microsoft Entra-ID, vilket kräver ytterligare behörigheter. Databricks rekommenderar att du använder Azure Databricks-tjänstens huvudnamn för de flesta användningsfall. Databricks rekommenderar dock att du använder Microsoft Entra ID managed service principals i fall där du måste autentisera med Azure Databricks och andra Azure-resurser samtidigt.

Information om hur du skapar ett huvudnamn för en hanterad Azure Databricks-tjänst i stället för ett hanterat Microsoft Entra-ID-huvudnamn finns i Hantera tjänstens huvudnamn.

Databricks rekommenderar inte att du skapar Microsoft Entra-ID-token (tidigare Azure Active Directory) för Microsoft Entra ID-tjänstens huvudnamn manuellt. Detta beror på att varje Microsoft Entra-ID-token är kortlivad och vanligtvis upphör att gälla inom en timme. Efter den här tiden måste du manuellt generera en ersättningstoken för Microsoft Entra-ID. Använd i stället något av de deltagande verktygen eller SDK:erna som implementerar Databricks-klientens enhetliga autentiseringsstandard . Dessa verktyg och SDK:er genererar och ersätter förfallna Microsoft Entra-ID-token åt dig, med hjälp av följande Typer av Databricks-autentisering:

Du kan använda Azure CLI för att hämta Microsoft Entra ID-åtkomsttoken för Microsoft Entra ID-tjänstens huvudnamn.

  1. Samla in följande information:

    Parameter Description
    Tenant ID Directory (tenant) ID För det relaterade programmet som registrerats i Microsoft Entra-ID.
    Client ID Application (client) ID För det relaterade programmet som registrerats i Microsoft Entra-ID.
    Client secret Klienthemligheten Value för det relaterade programmet som registrerats i Microsoft Entra-ID.
  2. Hämta rätt Azure-prenumerations-ID för tjänstens huvudnamn för Microsoft Entra-ID om du inte redan känner till det här ID:t genom att göra något av följande:

    • I azure Databricks-arbetsytans övre navigeringsfält klickar du på ditt användarnamn och klickar sedan på Azure-portalen. På resurssidan för Azure Databricks-arbetsytan som visas klickar du på Översikt i sidofältet. Leta sedan efter fältet Prenumerations-ID, som innehåller prenumerations-ID:t.

    • Använd Azure CLI för att köra kommandot az databricks workspace list med hjälp av --query alternativen och -o för --output att begränsa resultatet. Ersätt adb-0000000000000000.0.azuredatabricks.net med namnet på din arbetsyteinstans, exklusive https://. I det här exemplet 00000000-0000-0000-0000-000000000000 är efter /subscriptions/ i utdata prenumerations-ID:t.

      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
      

      Om följande meddelande visas är du inloggad på fel klientorganisation: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Om du vill logga in på rätt klientorganisation måste du köra az login kommandot igen med hjälp av -t alternativet eller --tenant för att ange rätt klientorganisations-ID.

      Du kan hämta klientorganisations-ID:t för en Azure Databricks-arbetsyta genom att köra kommandot curl -v <per-workspace-URL>/aad/auth och titta i utdata < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, där 00000000-0000-0000-0000-000000000000 är klientorganisations-ID:t. Se även Hämta prenumerations- och klient-ID:t i Azure-portalen.

      az login -t <tenant-id>
      
  3. När du har rätt Azure-klient-ID, klient-ID, klienthemlighet och prenumerations-ID för tjänstens huvudnamn för Microsoft Entra loggar du in på Azure med hjälp av Azure CLI för att köra kommandot az login . Använd alternativet --service-principal tillsammans med att ange värden för parametrarna Tenant ID för (Directory (tenant) ID), Client ID (Application (client) ID) och Client secret (Value) för det relaterade programmet som registrerats i Microsoft Entra-ID (tidigare Azure Active Directory).

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. Bekräfta att du är inloggad på rätt prenumeration för ditt inloggade Microsoft Entra ID-tjänsthuvudnamn. Det gör du genom att köra kommandot az account set med hjälp av -s alternativet eller --subscription för att ange rätt prenumerations-ID.

    az account set -s <subscription-id>
    
  5. Generera Microsoft Entra ID-åtkomsttoken för det inloggade Microsoft Entra ID-tjänstens huvudnamn genom att köra kommandot az account get-access-token . Använd alternativet --resource för att ange det unika resurs-ID:t för Azure Databricks-tjänsten, som är 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Du kan bara visa värdet för Microsoft Entra-ID:t (tidigare Azure Active Directory) i kommandots utdata med hjälp --query av alternativen och-o.--output

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

Kommentar

MSAL-baserade Azure CLI använder Microsoft Authentication Library (MSAL) som underliggande autentiseringsbibliotek. Om du inte kan använda åtkomsttoken för Microsoft Entra-ID som Azure CLI genererar kan du som ett alternativ prova att använda MSAL direkt för att hämta en Microsoft Entra ID-åtkomsttoken för ett Microsoft Entra ID-tjänsthuvudnamn. Se Hämta Microsoft Entra-ID-token (tidigare Azure Active Directory) för tjänstens huvudnamn.