Dela via


Logga in på Azure med tjänstens huvudnamn med hjälp av Azure CLI

Tjänstekonton är konton som inte är kopplade till en specifik användare, och du kan tilldela behörigheter till dem med fördefinierade roller. Att autentisera med tjänstens huvudnamn är det bästa sättet att skriva säkra skript eller program. Du kan använda både behörighetsbegränsningar och lokalt lagrad statisk autentiseringsinformation. 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:

  • URL:en eller namnet som är associerat med tjänstens huvudnamn.
  • Klienthemligheten för tjänstens huvudnamn eller X509-certifikatet som används för att skapa tjänstens huvudnamn i PEM-format.
  • Klientorganisationen som är associerad med tjänstens huvudnamn, antingen som en .onmicrosoft.com domän eller Microsoft Entra-klientorganisations-ID.

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

  • Ett CERTIFIKAT måste bifogas 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.

Om du vill logga in med en klienthemlighet använder du följande kommando:

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

Om du vill logga in med ett certifikat använder du följande kommando:

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

Viktigt!

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

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

Använd cmdleten Get-Credential under PowerShell.

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

Se även