Configurare identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali 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 l'autenticazione in qualsiasi servizio che supporta l'autenticazione di Microsoft Entra senza dover immettere le credenziali nel codice.
Questo articolo descrive come eseguire le operazioni seguenti per le identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali di Azure tramite l'interfaccia della riga di comando di Azure:
- Abilitare e disabilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure
- Aggiungere e rimuovere un'identità gestita assegnata dall'utente in un set di scalabilità di macchine virtuali 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.
Per eseguire le operazioni di gestione illustrate in questo articolo, l'account necessita delle assegnazioni di controllo degli accessi in base al ruolo di Azure seguenti:
Collaboratore macchina virtuale per creare un set di scalabilità di macchine virtuali e abilitare e rimuovere da un set di scalabilità di macchine virtuali l'identità gestita assegnata dal sistema e/o dall'utente.
Collaboratore di identità gestite per creare un'identità gestita assegnata dall'utente.
Operatore identità gestita per assegnare e rimuovere un'identità gestita assegnata dall'utente da e verso un set di scalabilità di macchine virtuali.
Nota
Non sono necessarie assegnazioni di ruolo della directory Microsoft Entra aggiuntive.
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 tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo utilizzo. 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 descrive come abilitare e disabilitare l'identità gestita assegnata dal sistema per un set di scalabilità di macchine virtuali di Azure mediante l'interfaccia della riga di comando di Azure.
Abilitare l'identità gestita assegnata dal sistema durante la creazione di un set di scalabilità di macchine virtuali di Azure
Per creare un set di scalabilità di macchine virtuali con l'identità gestita assegnata dal sistema abilitata:
Creare un gruppo di risorse per il contenuto e la distribuzione del set di scalabilità di macchine virtuali e delle 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 un set di scalabilità di macchine virtuali. Nell'esempio seguente viene creato un set di scalabilità di macchine virtuali denominato myVMSS 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 vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
Abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure esistente
Se è necessario abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure esistente:
az vmss identity assign -g myResourceGroup -n myVMSS
Disabilitare un'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali di Azure
Se un set di scalabilità di macchine virtuali non necessità più dell'identità gestita assegnata dal sistema ma necessita ancora delle identità gestite assegnate dall'utente, usare il comando seguente:
az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned'
Se si ha una macchina virtuale che non ha più bisogno dell'identità gestita assegnata dal sistema e non dispone di identità gestite assegnate dall'utente, usare il comando seguente:
Nota
Il valore none
distingue tra maiuscole e minuscole. Deve essere costituito da caratteri in minuscolo.
az vmss update -n myVM -g myResourceGroup --set identity.type="none"
Identità gestita assegnata dall'utente
Questa sezione descrive come abilitare e rimuovere un'identità gestita assegnata dall'utente mediante l'interfaccia della riga di comando di Azure.
Assegnare un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali
Questa sezione descrive come creare un set di scalabilità di macchine virtuali e assegnare un'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali. Se si dispone già di un set di scalabilità di macchine virtuali che si intende usare, ignorare questa sezione e procedere alla successiva.
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. Sostituire i valori dei parametri<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
con valori personalizzati:Importante
Quando si creano identità gestite assegnate dall'utente, il nome deve iniziare con una lettera o un numero e può includere una combinazione di caratteri alfanumerici, trattini (-) e caratteri di sottolineatura (_). 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 <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. Il valore
id
della 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/<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" }
Creare un set di scalabilità di macchine virtuali. Nell'esempio seguente viene creato un set di scalabilità di macchine virtuali associato alla nuova identità gestita assegnata dall'utente, come specificato dal
--assign-identity
parametro , con l'oggetto e--scope
specificato--role
. Assicurarsi di sostituire i valori dei<RESOURCE GROUP>
parametri ,<VMSS NAME>
<USER NAME>
,<USER ASSIGNED IDENTITY>
<PASSWORD>
, ,<ROLE>
, e<SUBSCRIPTION>
con i propri valori.az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
Associare l'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali esistente
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. Sostituire i valori dei parametri<RESOURCE GROUP>
e<USER ASSIGNED IDENTITY NAME>
con valori personalizzati: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 >/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>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY>", "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Assegnare l'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali. Sostituire i valori dei parametri
<RESOURCE GROUP>
e<VIRTUAL MACHINE SCALE SET NAME>
con valori personalizzati.<USER ASSIGNED IDENTITY>
è la proprietàname
della risorsa dell'identità assegnata dall'utente creata nel passaggio precedente:az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali di Azure
Per rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali, usare az vmss identity remove
. Se si tratta dell'unica identità gestita assegnata dall'utente assegnata al set di scalabilità di macchine virtuali, UserAssigned
viene rimossa dal valore del tipo di identità. Sostituire i valori dei parametri <RESOURCE GROUP>
e <VIRTUAL MACHINE SCALE SET NAME>
con valori personalizzati. <USER ASSIGNED IDENTITY>
è la proprietà dell'identità name
gestita assegnata dall'utente, disponibile nella sezione Identity del set di scalabilità di macchine virtuali usando az vmss identity show
:
az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
Se il set di scalabilità di macchine virtuali non ha un'identità gestita assegnata dal sistema e si vuole rimuovere tutte le identità gestite assegnate dall'utente, usare il comando seguente:
Nota
Il valore none
distingue tra maiuscole e minuscole. Deve essere costituito da caratteri in minuscolo.
az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null
Se il set di scalabilità di macchine virtuali ha identità gestite sia assegnate dal sistema che assegnate dall'utente, è possibile rimuovere tutte le identità assegnate dall'utente iniziando a usare solo identità gestite assegnate dal sistema. Utilizza il seguente comando:
az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null
Passaggi successivi
- Panoramica delle identità gestite per le risorse di Azure
- Per la guida di avvio rapido completa sulla creazione di set di scalabilità di macchine virtuali di Azure, vedere Creare un set di scalabilità di macchine virtuali con l'interfaccia della riga di comando