Abrufen von Microsoft Entra-ID-Token (früher Azure Active Directory) für Benutzer mithilfe der Azure CLI

Wichtig

In diesem Artikel wird beschrieben, wie Sie Microsoft Entra ID-Token (ehemals Azure Active Directory) manuell für Benutzer mithilfe der Azure CLI erstellen.

Databricks empfiehlt nicht, Microsoft Entra ID-Token (ehemals Azure Active Directory) für Azure Databricks-Benutzer manuell zu erstellen. Der Grund dafür ist, dass jedes Microsoft Entra ID-Token kurzlebig ist und normalerweise innerhalb einer Stunde abläuft. Nach diesem Zeitpunkt müssen Sie manuell ein Microsoft Entra ID-Ersatztoken generieren. Verwenden Sie stattdessen eines der teilnehmenden Tools oder SDKs, die den Databricks-Clientstandard für die einheitliche Authentifizierung implementieren. Diese Tools und SDKs generieren und ersetzen automatisch abgelaufene Microsoft Entra ID-Token für Sie, wobei die Azure CLI-Authentifizierung genutzt wird.

Sie können die Azure CLI verwenden, um Microsoft Entra ID-Zugriffstoken für Benutzer abzurufen.

Hinweis

Sie können auch einen Dienstprinzipal in Azure Active Directory definieren und dann ein Microsoft Entra ID-Zugriffstoken für diesen Serviceprinzipal anstatt für einen Benutzer zu erhalten. Siehe Abrufen von Microsoft Entra ID-Token (ehemals Azure Active Directory) für Dienstprinzipale.

  1. Rufen Sie die richtige Azure-Abonnement-ID für Ihr Benutzerkonto ab, wenn Sie diese ID noch nicht kennen. Gehen Sie dazu wie folgt vor:

    • Klicken Sie auf der oberen Navigationsleiste Ihres Azure Databricks-Arbeitsbereichs auf Ihren Benutzernamen, und wählen Sie Azure-Portal aus. Klicken Sie auf der angezeigten Ressourcenseite des Azure Databricks-Arbeitsbereichs in der Seitenleiste auf Übersicht. Suchen Sie dann nach dem Feld Abonnement-ID, das die Abonnement-ID enthält.

    • Verwenden Sie die Azure CLI, um den Befehl az databricks workspace list auszuführen, indem Sie die Optionen --query und -o oder --output verwenden, um die Ergebnisse einzugrenzen. Ersetzen Sie adb-0000000000000000.0.azuredatabricks.net durch den Namen Ihrer Arbeitsbereichsinstanz ohne https://. In diesem Beispiel ist 00000000-0000-0000-0000-000000000000 nach /subscriptions/ in der Ausgabe die Abonnement-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
      

      Wenn die folgende Meldung angezeigt wird, sind Sie bei dem falschen Mandanten angemeldet: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Um sich bei dem richtigen Mandanten anzumelden, müssen Sie den az login-Befehl erneut ausführen und dabei die Option -t oder --tenant verwenden, um die richtige Mandanten-ID anzugeben.

      Sie können die Mandanten-ID für einen Azure Databricks-Arbeitsbereich abrufen, indem Sie den Befehl curl -v <per-workspace-URL>/aad/auth ausführen und in der Ausgabe nach < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000 suchen, wobei 00000000-0000-0000-0000-000000000000 die Mandanten-ID ist. Siehe auch Abrufen von Abonnement- und Mandanten-IDs im Azure-Portal.

      az login -t <tenant-id>
      
  2. Wenn Sie über die richtige Azure-Abonnement-ID für Ihr Benutzerkonto verfügen, melden Sie sich mit der Azure CLI bei Azure an, um den Befehl az login auszuführen. Nachdem Sie diesen Befehl ausgeführt haben, folgen Sie den Anweisungen auf dem Bildschirm, um die Anmeldung mit Ihrem Konto abzuschließen.

    az login
    
  3. Vergewissern Sie sich, dass Sie beim richtigen Abonnement für Ihren angemeldeten Benutzer angemeldet sind. Führen Sie dazu den Befehl az account set aus. Verwenden Sie dabei die Option -s oder --subscription, um die richtige Abonnement-ID anzugeben.

    az account set -s <subscription-id>
    
  4. Generieren Sie Ihr Microsoft Entra ID-Zugriffstoken (ehemals Azure Active Directory), indem Sie den Befehl az account get-access-token ausführen. Verwenden Sie die --resource-Option, um die eindeutige Ressourcen-ID für den Azure Databricks-Dienst anzugeben, nämlich 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Sie können nur den Wert des Microsoft Entra ID-Token in der Ausgabe des Befehls anzeigen, indem Sie die Optionen --query und -o oder --outputverwenden.

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

Hinweis

Die MSAL-basierte Azure CLI verwendet Microsoft Authentication Library (MSAL) als die zugrunde liegende Authentifizierungsbibliothek. Wenn Sie das Microsoft Entra ID-Zugriffstoken, das die Azure-Befehlszeilenschnittstelle generiert, nicht erfolgreich verwenden können, können Sie als Alternative versuchen, MSAL zu verwenden, um ein Microsoft Entra ID-Zugriffstoken für einen Benutzer abzurufen. Siehe Abrufen von Microsoft Entra ID-Token (früher Azure Active Directory) für Benutzer mithilfe von MSAL.