Delen via


Aanmelden bij Azure met een service-principal met behulp van de Azure CLI

Service-principals zijn accounts die niet zijn gekoppeld aan een bepaalde gebruiker, die u machtigingen kunt toewijzen via vooraf gedefinieerde rollen. Verificatie met een service-principal is de beste manier om beveiligde scripts of programma's te schrijven. Hiermee kunt u zowel machtigingenbeperkingen als lokaal opgeslagen statische referentiegegevens toepassen. Zie Werken met Azure-service-principals met behulp van de Azure CLI voor meer informatie over service-principals.

Als u zich wilt aanmelden met een service-principal, hebt u het volgende nodig:

  • De URL ofwel naam die is gekoppeld aan de service-principal.
  • Het clientgeheim van de serviceprincipal of het X509-certificaat dat wordt gebruikt om de serviceprincipal te maken in PEM-formaat.
  • De tenant die is gekoppeld aan de service-principal, als domein .onmicrosoft.com - of Microsoft Entra-tenant-id.

Let op twee belangrijke feiten bij het werken met service-principals en de Azure CLI:

  • Een CERTIFICAAT moet worden toegevoegd aan de PERSOONLIJKE SLEUTEL in een PEM-bestand. Zie Verificatie op basis van certificaten voor een voorbeeld van een PEM-bestandsindeling.

  • Als uw service-principal een certificaat gebruikt dat is opgeslagen in Key Vault, moet de persoonlijke sleutel van dat certificaat beschikbaar zijn zonder u aan te melden bij Azure. Zie Certificaat az login om het certificaat voor op te halen.

Gebruik de volgende opdracht om u aan te melden met een clientgeheim:

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

Gebruik de volgende opdracht om u aan te melden met een certificaat:

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

Belangrijk

Als u wilt voorkomen dat uw wachtwoord in de console wordt weergegeven wanneer u interactief gebruikt az login , gebruikt u de read -s opdracht onder bash.

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

Gebruik de Get-Credential cmdlet onder PowerShell.

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

Zie ook