Accedere ad Azure 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
- Segreto client dell'entità servizio o certificato X509 usato per creare l'entità servizio in formato PEM
- Tenant associato all'entità servizio, come
.onmicrosoft.com
dominio o ID tenant di Microsoft Entra
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.
Accedere con il segreto client:
az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID
Accedere con il certificato:
az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID
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 --username <app-id> --password $AZ_PASS --tenant <tenant>
In PowerShell usare il cmdlet Get-Credential
.
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>
Vedi anche
- Scheda di onboarding dell'interfaccia della riga di comando di Azure
- Gestire le sottoscrizioni di Azure con l'interfaccia della riga di comando di Azure
- Creare un'entità servizio di Azure usando l'interfaccia della riga di comando di Azure
- Trovare esempi dell'interfaccia della riga di comando di Azure e documentazione pubblicata