Delen via


Microsoft Entra ID-tokens ophalen voor service-principals van Microsoft Entra ID met behulp van de Azure CLI

Belangrijk

In dit artikel wordt beschreven hoe u handmatig Microsoft Entra ID-tokens maakt voor Service-principals voor Microsoft Entra ID met behulp van de Azure CLI.

Beheerde Azure Databricks-service-principals worden rechtstreeks binnen Azure Databricks beheerd. Beheerde service-principals van Microsoft Entra ID worden beheerd in Microsoft Entra-id, waarvoor aanvullende machtigingen zijn vereist. Databricks raadt u aan om beheerde service-principals van Azure Databricks te gebruiken voor de meeste gebruiksvoorbeelden. Databricks raadt u echter aan om beheerde service-principals van Microsoft Entra ID te gebruiken in gevallen waarin u zich tegelijkertijd moet verifiëren met Azure Databricks en andere Azure-resources.

Als u een door Azure Databricks beheerde service-principal wilt maken in plaats van een door Microsoft Entra ID beheerde service-principal, raadpleegt u Service-principals beheren.

Databricks raadt u niet aan om Handmatig Microsoft Entra ID-tokens te maken voor Microsoft Entra ID-service-principals. Dit komt doordat elk Microsoft Entra ID-token kort duurt, meestal binnen één uur verloopt. Na deze tijd moet u handmatig een vervangend Microsoft Entra ID-token genereren. Gebruik in plaats daarvan een van de deelnemende hulpprogramma's of SDK's die de geïntegreerde verificatiestandaard van de Databricks-client implementeren. Deze hulpprogramma's en SDK's genereren en vervangen automatisch verlopen Microsoft Entra ID-tokens voor u, waarbij gebruik wordt gemaakt van de volgende Databricks-verificatietypen:

U kunt de Azure CLI gebruiken om toegangstokens voor Microsoft Entra ID op te halen voor service-principals van Microsoft Entra ID.

  1. Verzamel de volgende informatie:

    Parameter Description
    Tenant ID De Directory (tenant) ID voor de gerelateerde toepassing die is geregistreerd in Microsoft Entra-id.
    Client ID De Application (client) ID voor de gerelateerde toepassing die is geregistreerd in Microsoft Entra-id.
    Client secret Het Value clientgeheim voor de gerelateerde toepassing die is geregistreerd in Microsoft Entra-id.
  2. Haal de juiste Azure-abonnements-id op voor de Microsoft Entra ID-service-principal, als u deze id nog niet kent, door een van de volgende handelingen uit te voeren:

    • Klik in de bovenste navigatiebalk van uw Azure Databricks-werkruimte op uw gebruikersnaam en klik vervolgens op Azure Portal. Klik op de resourcepagina van de Azure Databricks-werkruimte die wordt weergegeven op Overzicht in de zijbalk. Zoek vervolgens naar het veld Abonnements-id , dat de abonnements-id bevat.

    • Gebruik de Azure CLI om de opdracht az databricks workspace list uit te voeren met behulp van de --query en -o of --output opties om de resultaten te verfijnen. Vervang door adb-0000000000000000.0.azuredatabricks.net de naam van uw werkruimte-exemplaar, niet inclusief de https://. In dit voorbeeld is het 00000000-0000-0000-0000-000000000000 na /subscriptions/ in de uitvoer de abonnements-id.

      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
      

      Als het volgende bericht wordt weergegeven, bent u aangemeld bij de verkeerde tenant: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. als u zich wilt aanmelden bij de juiste tenant, moet u de az login opdracht opnieuw uitvoeren met de -t of --tenant optie om de juiste tenant-id op te geven.

      U kunt de tenant-id voor een Azure Databricks-werkruimte ophalen door de opdracht curl -v <per-workspace-URL>/aad/auth uit te voeren en in de uitvoer < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000te kijken, waar 00000000-0000-0000-0000-000000000000 is de tenant-id. Zie ook Abonnements- en tenant-id's ophalen in Azure Portal.

      az login -t <tenant-id>
      
  3. Nadat u de juiste Azure-tenant-id, client-id, clientgeheim en abonnements-id voor uw Microsoft Entra ID-service-principal hebt, meldt u zich aan bij Azure met behulp van de Azure CLI om de az-aanmeldingsopdracht uit te voeren. Gebruik de --service-principal optie samen met het opgeven van de waarden voor de parameters van Tenant ID (Directory (tenant) ID), Client ID () en Client secret (Application (client) IDValue) voor de gerelateerde toepassing die is geregistreerd in Microsoft Entra-id.

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. Controleer of u bent aangemeld bij het juiste abonnement voor uw aangemelde Microsoft Entra ID-service-principal. Voer hiervoor de opdracht az account set uit met behulp van de -s of --subscription optie om de juiste abonnements-id op te geven.

    az account set -s <subscription-id>
    
  5. Genereer het Microsoft Entra ID-toegangstoken voor de aangemelde Microsoft Entra ID-service-principal door de opdracht az account get-access-token uit te voeren. Gebruik de --resource optie om de unieke resource-id voor de Azure Databricks-service op te geven.2ff814a6-3304-4ab8-85cb-cd0e6f879c1d U kunt alleen de waarde van het Microsoft Entra ID-token weergeven in de uitvoer van de opdracht met behulp van de --query en -o of --output opties.

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

Notitie

De OP MSAL gebaseerde Azure CLI maakt gebruik van Microsoft Authentication Library (MSAL) als de onderliggende verificatiebibliotheek. Als u het Microsoft Entra ID-toegangstoken dat door de Azure CLI wordt gegenereerd, niet kunt gebruiken, kunt u msal ook rechtstreeks proberen om een Microsoft Entra ID-toegangstoken op te halen voor een Microsoft Entra ID-service-principal. Zie Tokens voor Microsoft Entra-id's ophalen voor service-principals.