Freigeben über


Anmelden bei Azure mit einem Dienstprinzipal mithilfe der Azure CLI

Dienstprinzipale sind Konten, die nicht an einen bestimmten Benutzer gebunden sind, den Sie Berechtigungen über vordefinierte Rollen zuweisen können. Die Authentifizierung mit einem Dienstprinzipal ist die beste Möglichkeit, sichere Skripts oder Programme zu schreiben. Sie können sowohl Berechtigungseinschränkungen als auch lokal gespeicherte statische Anmeldeinformationen anwenden. Weitere Informationen finden Sie unter Arbeiten mit Azure-Dienstprinzipalen über die Azure CLI.

Für die Anmeldung mit einem Dienstprinzipal benötigen Sie Folgendes:

  • Die URL oder der Name, der dem Dienstprinzipal zugeordnet ist.
  • Der geheime Clientschlüssel des Dienstprinzipals oder das X509-Zertifikat, das zum Erstellen des Dienstprinzipals im PEM-Format verwendet wird.
  • Der dem Dienstprinzipal zugeordnete Mandant als .onmicrosoft.com Domäne oder Microsoft Entra-Mandanten-ID.

Beachten Sie zwei wichtige Punkte beim Arbeiten mit Dienstprinzipalen und der Azure CLI:

  • In einer PEM-Datei muss ein Zertifikat (CERTIFICATE) an den privaten Schlüssel (PRIVATE KEY) angefügt werden. Ein Beispiel für ein PEM-Dateiformat finden Sie unter Zertifikatbasierte Authentifizierung.

  • Falls Ihr Dienstprinzipal ein in Key Vault gespeichertes Zertifikat nutzt, muss der private Schlüssel des Zertifikats verfügbar sein, ohne dass eine Anmeldung bei Azure erforderlich ist. Informationen zum Abrufen des Zertifikats für az login finden Sie unter Abrufen des Zertifikats aus Key Vault.

Verwenden Sie den folgenden Befehl, um sich mit einem geheimen Clientschlüssel anzumelden:

az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID

Verwenden Sie den folgenden Befehl, um sich mit einem Zertifikat anzumelden:

az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID

Wichtig

Verwenden Sie den Befehl read -s unter bash, um die Anzeige Ihres Kennworts auf der Konsole bei interaktiver Verwendung von az login zu vermeiden.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>

Verwenden Sie in PowerShell das Cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>

Siehe auch