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, a cui è possibile assegnare permessi tramite ruoli predefiniti. L'autenticazione con un'entità servizio è il modo migliore per scrivere script o programmi sicuri. Consente di applicare le restrizioni delle autorizzazioni e le informazioni sulle credenziali statiche archiviate in 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 al principale del servizio.
- Segreto client dell'entità servizio o il certificato X509 utilizzato per creare l'entità servizio in formato PEM.
- Tenant associato al principal del servizio, come un dominio
.onmicrosoft.com
o un 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.
Per accedere con un segreto client, usare il comando seguente:
az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID
Per accedere con un certificato, usare il comando seguente:
az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID
Importante
Per evitare di visualizzare la password nella console quando 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