Configurare le identità gestite per le risorse di Azure in una macchina virtuale di Azure tramite l'interfaccia della riga di comando di Azure
Le identità gestite per le risorse di Azure sono una funzionalità di Microsoft Entra ID. Tutti i servizi di Azure che supportano le identità gestite per le risorse di Azure sono soggetti alla sequenza temporale di tali entità. Prima di iniziare, assicurarsi di esaminare lo stato di disponibilità delle identità gestite per la risorsa e i problemi noti.
Le identità gestite per le risorse di Azure offrono servizi di Azure con un'identità gestita automaticamente in Microsoft Entra ID. È possibile usare questa identità per eseguire l'autenticazione a qualsiasi servizio che supporti l'autenticazione di Microsoft Entra, senza avere credenziali nel codice.
Questo articolo illustra come eseguire le seguenti operazioni relative alle identità gestite per le risorse di Azure in una macchina virtuale di Azure mediante l'interfaccia della riga di comando di Azure:
- Abilitare e disabilitare l'identità gestita assegnata dal sistema in una macchina virtuale di Azure
- Aggiungere e rimuovere un'identità gestita assegnata dall'utente in una macchina virtuale di Azure
Se non si ha un account Azure, registrarsi per ottenere un account gratuito prima di continuare.
Prerequisiti
- Se non si ha familiarità con le identità gestite per le risorse di Azure, vedere Informazioni sulle identità gestite per le risorse di Azure. Per informazioni sui tipi di identità gestite assegnate dal sistema e assegnate dall'utente, vedere Tipi di identità gestita.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Identità gestita assegnata dal sistema
Questa sezione illustra come abilitare e disabilitare l'identità gestita assegnata dal sistema in una macchina virtuale di Azure mediante l'interfaccia della riga di comando di Azure.
Abilitare l'identità gestita assegnata dal sistema durante la creazione di una macchina virtuale di Azure
Per creare una macchina virtuale di Azure con l'identità gestita assegnata dal sistema abilitata, all'account deve essere assegnato il ruolo Collaboratore Macchina virtuale. Non sono necessarie altre assegnazioni di ruolo della directory Microsoft Entra.
Creare un gruppo di risorse per il contenuto e la distribuzione della macchina virtuale e le risorse correlate, usando az group create. Se si dispone già di un gruppo di risorse da usare, è possibile ignorare questo passaggio:
az group create --name myResourceGroup --location westus
Creare una macchina virtuale usando il comando az vm create. L'esempio seguente crea una macchina virtuale denominata myVM con un'identità gestita assegnata dal sistema, come richiesto dal
--assign-identity
parametro , con l'oggetto specificato--role
e--scope
. I parametri--admin-username
e--admin-password
specificano il nome utente e la password dell'account amministrativo per l'accesso alla macchina virtuale. Aggiornare questi valori in base alle esigenze specifiche dell'ambiente:az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
Abilitare l'identità gestita assegnata dal sistema in una macchina virtuale di Azure esistente
Per abilitare l'identità gestita assegnata dal sistema in una macchina virtuale, all'account deve essere assegnato il ruolo Collaboratore Macchina virtuale. Non sono necessarie altre assegnazioni di ruolo della directory Microsoft Entra.
Se si usa l'interfaccia della riga di comando di Azure in una console locale, accedere prima di tutto ad Azure tramite az login. Usare un account associato alla sottoscrizione di Azure che contiene la VM.
az login
Usare az vm identity assign con il comando
identity assign
per abilitare l'identità assegnata dal sistema in una macchina virtuale esistente:az vm identity assign -g myResourceGroup -n myVm
Disabilitare un'identità assegnata dal sistema in una macchina virtuale di Azure
Per disabilitare l'identità gestita assegnata dal sistema in una macchina virtuale, all'account deve essere assegnato il ruolo Collaboratore Macchina virtuale. Non sono necessarie altre assegnazioni di ruolo della directory Microsoft Entra.
Se si dispone di una macchina virtuale che non necessita più dell'identità assegnata dal sistema ma ha ancora bisogno di identità assegnate dall'utente, usare il comando seguente:
az vm update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Se una macchina virtuale non necessita più dell'identità assegnata dal sistema ma non ha identità assegnate dall'utente, usare il comando seguente:
Nota
Il valore none
distingue tra maiuscole e minuscole. Deve essere costituito da caratteri in minuscolo.
az vm update -n myVM -g myResourceGroup --set identity.type="none"
Identità gestita assegnata dall'utente
Questa sezione illustra come aggiungere e rimuovere un'identità gestita assegnata dall'utente da una macchina virtuale di Azure tramite l'interfaccia della riga di comando di Azure. Se si crea l'identità gestita assegnata dall'utente in un gruppo di risorse diverso da quello della macchina virtuale, sarà necessario usare l'URL dell'identità gestita per assegnarlo alla macchina virtuale. Ad esempio:
--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"
Assegnare un'identità gestita assegnata dall'utente durante la creazione di una macchina virtuale di Azure
Per assegnare un'identità assegnata dall'utente a una macchina virtuale durante la creazione, all'account devono essere assegnati i ruoli Collaboratore Macchina virtuale e Operatore di identità gestite. Non sono necessarie altre assegnazioni di ruolo della directory Microsoft Entra.
Se si dispone già di un gruppo di risorse da usare, è possibile ignorare questo passaggio. Creare un gruppo di risorse per contenere e distribuire l'identità gestita assegnata dall'utente mediante az group create. Sostituire i valori dei parametri
<RESOURCE GROUP>
e<LOCATION>
con valori personalizzati. :az group create --name <RESOURCE GROUP> --location <LOCATION>
Creare un'identità gestita assegnata dall'utente tramite az identity create. Il parametro
-g
specifica il gruppo di risorse in cui viene creata l'identità gestita assegnata dall'utente, mentre il parametro-n
ne specifica il nome.Importante
Per la creazione di identità gestite assegnate dall'utente, sono supportati solo caratteri alfanumerici (0-9, a-z, A-Z) e il trattino (-). Per il corretto funzionamento dell'assegnazione a una macchina virtuale o a un set di scalabilità di macchine virtuali, il nome può essere composto da un massimo di 24 caratteri. Per altre informazioni, vedere Domande frequenti e problemi noti.
az identity create -g myResourceGroup -n myUserAssignedIdentity
La risposta contiene i dettagli relativi all'identità gestita assegnata dall'utente creata ed è simile all'esempio seguente. Il valore dell'ID risorsa assegnato all'identità gestita assegnata dall'utente viene usato nel passaggio seguente.
{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<myUserAssignedIdentity>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Creare una macchina virtuale usando il comando az vm create. Nell'esempio seguente viene creata una macchina virtuale associata alla nuova identità assegnata dall'utente, come specificato dal
--assign-identity
parametro , con l'oggetto specificato--role
e--scope
. Assicurarsi di sostituire i valori dei<RESOURCE GROUP>
parametri ,<VM NAME>
<USER NAME>
,<USER ASSIGNED IDENTITY NAME>
<PASSWORD>
, ,<ROLE>
, e<SUBSCRIPTION>
con i propri valori.az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image <SKU linux image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION>
Assegnare un'identità gestita assegnata dall'utente a una macchina virtuale di Azure esistente
Per assegnare un'identità assegnata dall'utente a una macchina virtuale, all'account devono essere assegnati i ruoli Collaboratore Macchina virtuale e Operatore di identità gestite. Non sono necessarie altre assegnazioni di ruolo della directory Microsoft Entra.
Creare un'identità assegnata dall'utente mediante az identity create. Il parametro
-g
specifica il gruppo di risorse in cui viene creata l'identità assegnata dall'utente, mentre il parametro-n
ne specifica il nome. Sostituire i valori dei parametri<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
con valori personalizzati:Importante
La creazione di identità gestite assegnate dall'utente con caratteri speciali (ad esempio il carattere di sottolineatura) nel nome non è attualmente supportata. Usare solo caratteri alfanumerici. Consultarlo a intervalli regolari per eventuali aggiornamenti. Per altre informazioni, vedere Domande frequenti e problemi noti
az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
La risposta contiene i dettagli relativi all'identità gestita assegnata dall'utente creata ed è simile all'esempio seguente.
{ "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz", "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Assegnare l'identità assegnata dall'utente alla macchina virtuale mediante az vm identity assign. Sostituire i valori dei parametri
<RESOURCE GROUP>
e<VM NAME>
con valori personalizzati.<USER ASSIGNED IDENTITY NAME>
è la proprietàname
della risorsa dell'identità gestita assegnata dall'utente creata nel passaggio precedente. Se l'identità gestita assegnata dall'utente è stata creata in un gruppo di risorse diverso da quello della macchina virtuale, sarà necessario usare l'URL dell'identità gestita.az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Rimuovere un'identità gestita assegnata dall'utente da una macchina virtuale di Azure
Per rimuovere un'identità assegnata dall'utente da una macchina virtuale, all'account deve essere assegnato il ruolo Collaboratore Macchina virtuale.
Se è l'unica identità gestita assegnata dall'utente associata alla macchina virtuale, UserAssigned
verrà rimosso dal valore del tipo di identità. Sostituire i valori dei parametri <RESOURCE GROUP>
e <VM NAME>
con valori personalizzati. <USER ASSIGNED IDENTITY>
sarà la proprietà name
dell'identità assegnata dall'utente, che si può trovare nella sezione relativa all'identità della macchina virtuale usando az vm identity show
:
az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
Se la macchina virtuale non ha un'identità assegnata dal sistema e si vuole rimuovere tutte le identità gestite assegnate dall'utente al suo interno, usare il comando seguente:
Nota
Il valore none
distingue tra maiuscole e minuscole. Deve essere costituito da caratteri in minuscolo.
az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Se la macchina virtuale ha identità sia assegnate dal sistema che assegnate dall'utente, è possibile rimuovere tutte le identità assegnate dall'utente iniziando a usare solo identità assegnate dal sistema. Utilizza il seguente comando:
az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Passaggi successivi
- Panoramica delle identità gestite per le risorse di Azure
- Per le guide introduttive complete per la creazione di macchine virtuali di Azure, vedere: