Logga in med tjänstens huvudnamn med Hjälp av Azure CLI

Tjänstens huvudnamn är konton som inte är knutna till någon viss användare, som kan ha behörigheter för dem tilldelade via fördefinierade roller. Det bästa sättet att skriva säkra skript eller program är att autentisera med ett huvudnamn för tjänsten eftersom du då kan använda både behörighetsbegränsningar och lokalt lagrade statiska autentiseringsuppgifter. Mer information om tjänstens huvudnamn finns i Arbeta med Azure-tjänstens huvudnamn med hjälp av Azure CLI.

Om du vill logga in med ett huvudnamn för tjänsten behöver du:

  • Den URL eller det namn som associeras med tjänstens huvudnamn
  • Lösenordet för tjänstens huvudnamn eller X509-certifikatet som används för att skapa tjänstens huvudnamn i PEM-format
  • Klientorganisationen som associeras med tjänstens huvudnamn, som en .onmicrosoft.com-domän eller ett Azure-objekt-ID

Observera två viktiga fakta när du arbetar med tjänstens huvudnamn och Azure CLI:

  • Ett CERTIFIKAT måste läggas till i DEN PRIVATA NYCKELN i en PEM-fil. Ett exempel på ett PEM-filformat finns i Certifikatbaserad autentisering.

  • Om tjänstens huvudnamn använder ett certifikat som lagras i Key Vault måste certifikatets privata nyckel vara tillgänglig utan att logga in på Azure. Information om hur du hämtar certifikatet för az loginfinns i Hämta certifikat från Key Vault.

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

Viktigt!

Om du vill undvika att visa lösenordet i konsolen och använder az login interaktivt använder du kommandot read -s under bash.

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

Använd cmdleten Get-Credential under PowerShell.

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

Se även