Hämta Microsoft Entra-ID-token för Microsoft Entra ID-tjänstens huvudnamn med hjälp av Azure CLI
Viktigt!
Den här artikeln beskriver hur du manuellt skapar Microsoft Entra-ID-token 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 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.
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.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ättadb-0000000000000000.0.azuredatabricks.net
med namnet på din arbetsyteinstans, exklusivehttps://
. I det här exemplet00000000-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öraaz 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är00000000-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>
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ärdena för parametrarnaTenant ID
för (Directory (tenant) ID
),Client ID
(Application (client) ID
) ochClient secret
(Value
) för det relaterade programmet som registrerats i Microsoft Entra-ID.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
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>
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 är2ff814a6-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 Microsoft Entra ID-åtkomsttoken för ett Microsoft Entra ID-tjänsthuvudnamn. Se Hämta Microsoft Entra-ID-token för tjänstens huvudnamn.