Share via


Accedere con un'entità servizio usando l'interfaccia della riga di comando di Azure

Le entità servizio sono account non associati a un determinato utente, che può avere le autorizzazioni assegnate tramite ruoli predefiniti. L'autenticazione con un'entità servizio rappresenta il modo ottimale per la scrittura di script o programmi sicuri, consentendo di applicare sia limitazioni delle autorizzazioni che informazioni di credenziali statiche archiviate nell'ambiente locale. Per altre informazioni sulle entità servizio, vedere Usare le entità servizio di Azure usando l'interfaccia della riga di comando di Azure.

Per accedere con un'entità servizio è necessario:

  • L'URL o il nome associato all'entità servizio
  • La password dell'entità servizio o il certificato X509 usato per creare l'entità servizio in formato PEM
  • Il tenant associato all'entità servizio, sotto forma di dominio .onmicrosoft.com o di ID oggetto di Azure

Si notino due fatti importanti quando si lavora con le entità servizio e l'interfaccia della riga di comando di Azure:

  • È necessario aggiungere un CERTIFICATO alla CHIAVE PRIVATA in un file PEM. Per un esempio di formato di file PEM, vedere Autenticazione basata su certificati.

  • Se l'entità servizio usa un certificato archiviato in Key Vault, la chiave privata del certificato deve essere disponibile senza accedere ad Azure. Per recuperare il certificato per az login, vedere Recuperare il certificato da Key Vault.

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

Importante

Se si vuole evitare che la password venga visualizzata nella console e si usa az login in modo interattivo, usare il comando read -s in bash.

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

In PowerShell usare il cmdlet Get-Credential.

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

Vedi anche