Hämta Microsoft Entra-ID-token för användare med hjälp av Azure CLI

Viktigt!

Den här artikeln beskriver hur du manuellt skapar Microsoft Entra-ID-token för användare med hjälp av Azure CLI.

Databricks rekommenderar inte att du skapar Microsoft Entra-ID-token för Azure Databricks-användare 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 automatiskt förfallna Microsoft Entra-ID-token åt dig, vilket utnyttjar Azure CLI-autentisering.

Du kan använda Azure CLI för att hämta Åtkomsttoken för Microsoft Entra-ID för användare.

Kommentar

Du kan också definiera ett huvudnamn för tjänsten i Azure Active Directory och sedan hämta en Microsoft Entra ID-åtkomsttoken för tjänstens huvudnamn i stället för för för en användare. Se Hämta Microsoft Entra-ID-token för tjänstens huvudnamn.

  1. Hämta rätt Azure-prenumerations-ID för ditt användarkonto, 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>
      
  2. När du har rätt Azure-prenumerations-ID för ditt användarkonto börjar du logga in på Azure med hjälp av Azure CLI för att köra kommandot az login . När du har kört det här kommandot följer du anvisningarna på skärmen för att slutföra inloggningen med ditt konto.

    az login
    
  3. Bekräfta att du är inloggad på rätt prenumeration för den inloggade användaren. 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>
    
  4. Generera din Microsoft Entra ID-åtkomsttoken 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-token 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 Åtkomsttoken för Microsoft Entra-ID för en användare. Se Hämta Microsoft Entra-ID-token för användare med hjälp av MSAL.