Configurare identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali
Identità gestite per le risorse di Azure è 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 ai servizi di Azure 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.
Per informazioni sulla definizione e i dettagli di Criteri di Azure, vedere Usare Criteri di Azure per assegnare le identità gestite (anteprima).
Questo articolo illustra come eseguire le operazioni relative alle identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali usando il portale di Azure:
Se non si ha familiarità con le identità gestite per le risorse di Azure, vedere la sezione sulla panoramica.
Se non si ha un account Azure, registrarsi per ottenere un account gratuito prima di continuare.
Per eseguire le operazioni di gestione illustrate in questo articolo, l'account deve avere le assegnazioni di ruolo di Azure seguenti:
Nota
Non sono necessarie altre assegnazioni di ruolo della directory di Microsoft Entra.
- Collaboratore Macchina virtuale per abilitare e rimuovere l'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali.
Identità gestita assegnata dal sistema
Questa sezione descriverà come abilitare e disabilitare un'identità gestita assegnata dal sistema tramite il portale di Azure.
Abilitare l'identità gestita assegnata dal sistema durante la creazione di un set di scalabilità di macchine virtuali
Attualmente il portale di Azure non supporta l'abilitazione dell'identità gestita assegnata dal sistema durante la creazione di un set di scalabilità di macchine virtuali. In alternativa, consultare la guida introduttiva seguente per creare prima un set di scalabilità di macchine virtuali e quindi proseguire con la sezione successiva per informazioni dettagliate sull'abilitazione dell'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali:
Abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali esistente
Suggerimento
I passaggi descritti in questo articolo possono variare leggermente in base al portale da cui si inizia.
Per abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di cui è stato originariamente eseguito il provisioning senza tale identità:
Accedere al portale di Azure usando un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.
Passare al set di scalabilità di macchine virtuali desiderato.
In Assegnata dal sistema, Stato, selezionare Abilita e quindi fare clic su Salva:
Rimuovere un'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali
Se è disponibile un set di scalabilità di macchine virtuali per cui non è più necessaria un'identità gestita assegnata dal sistema:
Accedere al portale di Azure usando un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali. Assicurarsi anche che l'account appartenga a un ruolo che fornisce le autorizzazioni di scrittura nel set di scalabilità di macchine virtuali.
Passare al set di scalabilità di macchine virtuali desiderato.
In Assegnata dal sistema, Stato, selezionare Disabilita e quindi fare clic su Salva:
Identità gestita assegnata dall'utente
Questa sezione illustra come aggiungere e rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali usando il portale di Azure.
Assegnare un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali
Attualmente il portale di Azure non supporta l'associazione di un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali. In alternativa, consultare la guida introduttiva seguente per creare prima un set di scalabilità di macchine virtuali e quindi proseguire con la sezione successiva per informazioni dettagliate sull'associazione di un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali:
Associare l'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali esistente
Accedere al portale di Azure usando un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.
Passare al set di scalabilità di macchine virtuali desiderato e fare clic su Identità, Assegnata dall'utente e quindi su +Aggiungi.
Fare clic sull'identità assegnata dall'utente da aggiungere al set di scalabilità di macchine virtuali e quindi su Aggiungi.
Rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali
Accedere al portale di Azure usando un account associato alla sottoscrizione di Azure che contiene la VM.
Passare al set di scalabilità di macchine virtuali desiderato e selezionare Identità, Assegnata dall'utente e il nome dell'identità gestita assegnata dall'utente da eliminare e quindi fare clic su Rimuovi (scegliere Sì nel riquadro di conferma).
Passaggi successivi
- Tramite il portale di Azure, concedere all'identità gestita del set di scalabilità di macchine virtuali l'accesso a un'altra risorsa di Azure.
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 altre assegnazioni di ruolo della directory di Microsoft Entra.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su 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, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. 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. L'esempio seguente crea un set di scalabilità di macchine virtuali denominato myVMSS con un'identità gestita assegnata dal sistema, come richiesto dal parametro
--assign-identity
con i valori di--role
e--scope
specificati. 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": "00001111-aaaa-2222-bbbb-3333cccc4444", "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=00001111-aaaa-2222-bbbb-3333cccc4444", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY NAME>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }
Creare un set di scalabilità di macchine virtuali. L'esempio seguente crea un set di scalabilità di macchine virtuali associato alla nuova identità gestita assegnata dall'utente, come specificato dal parametro
--assign-identity
con i valori di--role
e--scope
specificati. Sostituire i valori dei parametri<RESOURCE GROUP>
,<VMSS NAME>
,<USER NAME>
,<PASSWORD>
,<USER ASSIGNED IDENTITY>
,<ROLE>
e<SUBSCRIPTION>
con i valori desiderati.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": "00001111-aaaa-2222-bbbb-3333cccc4444", "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=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>", "location": "westcentralus", "name": "<USER ASSIGNED IDENTITY>", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceGroup": "<RESOURCE GROUP>", "tags": {}, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "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 associata al set di scalabilità di macchine virtuali, UserAssigned
verrà rimosso 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à name
dell'identità gestita assegnata dall'utente, che si può trovare nella sezione Identità 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 al suo interno, 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
Questo articolo illustra come eseguire le operazioni relative alle identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali mediante PowerShell:
- Abilitare e disabilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali
- Aggiungere e rimuovere un'identità gestita assegnata dall'utente in un set di scalabilità di macchine virtuali
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Prerequisiti
Se non si ha familiarità con le identità gestite per le risorse di Azure, vedere la sezione sulla panoramica. Assicurarsi di conoscere la differenza tra identità assegnata dal sistema e identità gestita assegnata dall'utente.
Se non si ha un account Azure, registrarsi per ottenere un account gratuito prima di continuare.
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:
Nota
Non sono necessarie altre assegnazioni di ruolo della directory di Microsoft Entra.
- 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.
Per eseguire gli script di esempio, sono disponibili due opzioni:
- Usare Azure Cloud Shell, che è possibile aprire con il pulsante Prova nell'angolo in alto a destra dei blocchi di codice.
- Eseguire gli script in locale installando l'ultima versione di Azure PowerShell, quindi accedere ad Azure usando
Connect-AzAccount
.
Identità gestita assegnata dal sistema
Questa sezione descrive come abilitare e rimuovere un'identità gestita assegnata dal sistema mediante Azure PowerShell.
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:
Vedere l'esempio 1 nell'articolo di riferimento sul cmdlet New-AzVmssConfig per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema. Aggiungere il parametro
-IdentityType SystemAssigned
al cmdletNew-AzVmssConfig
:$VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
Abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure esistente
Se è necessario abilitare un'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure esistente:
Assicurarsi che l'account Azure in uso appartenga a un ruolo che fornisce autorizzazioni di scrittura per il set di scalabilità di macchine virtuali, ad esempio "Collaboratore macchina virtuale".
Recuperare le proprietà del set di scalabilità di macchine virtuali usando il cmdlet
Get-AzVmss
. Per abilitare un'identità gestita assegnata dal sistema, usare l'opzione-IdentityType
nel cmdlet Update-AzVmss:Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
Disabilitare l'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 cmdlet seguente:
Assicurarsi che l'account appartenga a un ruolo che fornisce autorizzazioni di scrittura per il set di scalabilità di macchine virtuali, ad esempio "Collaboratore macchina virtuale".
Eseguire il cmdlet seguente:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
Se un set di scalabilità di macchine virtuali non necessita più dell'identità gestita assegnata dal sistema e non ha identità gestite assegnate dall'utente, usare il comando seguente:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
Identità gestita assegnata dall'utente
Questa sezione illustra come aggiungere e rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali tramite Azure PowerShell.
Assegnare un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali di Azure
Attualmente non è possibile creare un nuovo set di scalabilità di macchine virtuali con un'identità gestita assegnata dall'utente tramite PowerShell. Per informazioni sull'aggiunta di un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali esistente, vedere la sezione successiva. Consultarlo a intervalli regolari per eventuali aggiornamenti.
Assegnare un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali di Azure esistente
Per assegnare un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali di Azure esistente:
Assicurarsi che l'account appartenga a un ruolo che fornisce autorizzazioni di scrittura per il set di scalabilità di macchine virtuali, ad esempio "Collaboratore macchina virtuale".
Recuperare le proprietà del set di scalabilità di macchine virtuali usando il cmdlet
Get-AzVM
. Quindi, per assegnare un'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali di Azure, usare le opzioni-IdentityType
e-IdentityID
nel cmdlet Update-AzVmss. Sostituire<VM NAME>
,<SUBSCRIPTION ID>
,<RESROURCE GROUP>
,<USER ASSIGNED ID1>
,USER ASSIGNED ID2
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.
Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
Rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali di Azure
Se il set di scalabilità di macchine virtuali ha più identità gestite assegnate dall'utente, è possibile rimuoverle tutte tranne l'ultima tramite i comandi seguenti. Sostituire i valori dei parametri <RESOURCE GROUP>
e <VIRTUAL MACHINE SCALE SET NAME>
con valori personalizzati. <USER ASSIGNED IDENTITY NAME>
è la proprietà del nome dell'identità gestita assegnata dall'utente, che deve rimanere nel set di scalabilità di macchine virtuali. È possibile trovare queste informazioni nella sezione relativa all'identità del set di scalabilità di macchine virtuali usando az vmss show
:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"
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 al suo interno, usare il comando seguente:
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
Se il set di scalabilità di macchine virtuali ha identità gestite sia assegnate dal sistema che assegnate dall'utente, è possibile rimuovere tutte le identità gestite assegnate dall'utente iniziando a usare solo identità gestite assegnate dal sistema.
Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"
Passaggi successivi
Per la guida introduttiva completa sulla creazione di VM di Azure, vedere:
Questo articolo illustra come eseguire le seguenti operazioni di identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali di Azure mediante il modello di distribuzione Azure Resource Manager:
- 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
Prerequisiti
Se non si ha familiarità con le identità gestite per le risorse di Azure, vedere la sezione sulla panoramica. Assicurarsi di conoscere la differenza tra identità assegnata dal sistema e identità gestita assegnata dall'utente.
Se non si ha un account Azure, registrarsi per ottenere un account gratuito prima di continuare.
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:
Nota
Non sono necessarie altre assegnazioni di ruolo della directory di Microsoft Entra.
- 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.
Modelli di Azure Resource Manager
Analogamente al portale di Azure e all'esecuzione dello script, i modelli di gestione di Azure Resource Manager offrono la possibilità di distribuire risorse nuove o modificate definite da un gruppo di risorse di Azure. Diverse opzioni sono disponibili per la modifica e la distribuzione dei modelli, sia in locale che basati sul portale incluso quanto segue:
- Usare un modello personalizzato di Azure Marketplace, che consente di creare un modello nuovo o di usare come base un modello comune esistente o un modello di avvio rapido.
- Derivazione da un gruppo di risorse esistente, tramite l'esportazione di un modello da una distribuzione originale o dallo stato attuale della distribuzione.
- Usare un editor JSON, ad esempio il codice di Visual Studio, locale e di caricarlo e distribuirlo tramite PowerShell o l'interfaccia della riga di comando.
- Usare il progetto del gruppo di risorse di Azure di Visual Studio per creare e distribuire un modello.
Indipendentemente dall'opzione scelta, la sintassi dei modelli è la stessa durante la distribuzione iniziale e la ridistribuzione. L'abilitazione delle identità gestite per le risorse di Azure in una macchina virtuale nuova o esistente viene eseguita allo stesso modo. Per impostazione predefinita Azure Resource Manager esegue inoltre un aggiornamento incrementale per le distribuzioni.
Identità gestita assegnata dal sistema
In questa sezione si abiliterà e disabiliterà l'identità gestita assegnata dal sistema tramite un modello di Azure Resource Manager.
Abilitare l'identità gestita assegnata dal sistema durante la creazione di un set di scalabilità di macchine virtuali o per un set di scalabilità di macchine virtuali esistente
Se si accede ad Azure localmente o tramite il portale di Azure, usare un account che sia associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.
Per abilitare l'identità gestita assegnata dal sistema, caricare il modello in un editor, individuare la risorsa
Microsoft.Compute/virtualMachinesScaleSets
interessata nella sezione risorse e aggiungere la proprietàidentity
allo stesso livello della proprietà"type": "Microsoft.Compute/virtualMachinesScaleSets"
. Usare la sintassi seguente:"identity": { "type": "SystemAssigned" }
Al termine, le sezioni seguenti dovrebbero essere aggiunte alla sezione risorse del modello e dovrebbero avere un aspetto simile all'esempio mostrato di seguito:
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", }, "properties": { //other resource provider properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Disabilitare un'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali di Azure
Se è disponibile un set di scalabilità di macchine virtuali per cui non è più necessaria un'identità gestita assegnata dal sistema:
Se si accede ad Azure localmente o tramite il portale di Azure, usare un account che sia associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.
Caricare il modello in un editor e individuare
Microsoft.Compute/virtualMachineScaleSets
la risorsa interessataresources
all'interno della sezione. Se si dispone di una macchina virtuale con solo un'identità gestita assegnata dal sistema, è possibile disabilitarla modificando il tipo di identità e impostandolo suNone
.Microsoft.Compute/virtualMachineScaleSets versione API 2018-06-01
Se la versione API è
2018-06-01
e la macchina virtuale ha identità gestite assegnate sia dal sistema sia dall'utente, rimuovereSystemAssigned
dal tipo di identità e mantenereUserAssigned
insieme ai valori di dizionario userAssignedIdentities.Microsoft.Compute/virtualMachineScaleSets versione API 2018-06-01
Se la versione API è
2017-12-01
e il set di scalabilità di macchine virtuali ha identità gestite assegnate sia dal sistema sia dall'utente, rimuovereSystemAssigned
dal tipo di identità e mantenereUserAssigned
insieme alla matriceidentityIds
delle identità gestite assegnate dall'utente.L'esempio seguente mostra come rimuovere un'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali senza identità gestite assegnate dall'utente:
{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "None" } }
Identità gestita assegnata dall'utente
In questa sezione verrà associata un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali mediante il modello di Azure Resource Manager.
Nota
Per creare un'identità gestita assegnata dall'utente usando un modello di Azure Resource Manager, vedere Creare un'identità gestita assegnata dall'utente.
Associare l'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali
Nell'elemento
resources
aggiungere la voce seguente per associare un'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali. Assicurarsi di sostituire<USERASSIGNEDIDENTITY>
con il nome dell'identità gestita assegnata dall'utente che è stata creata.Microsoft.Compute/virtualMachineScaleSets versione API 2018-06-01
Se la versione API è
2018-06-01
, le identità gestite assegnate dall'utente vengono archiviate nel formato dizionariouserAssignedIdentities
e il valore<USERASSIGNEDIDENTITYNAME>
deve essere archiviato in una variabile definita nella sezionevariables
del modello.{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachineScaleSets versione API 2017-12-01
Se
apiVersion
è2017-12-01
o una versione precedente, le identità gestite assegnate dall'utente vengono archiviate nella matriceidentityIds
e il valore<USERASSIGNEDIDENTITYNAME>
deve essere archiviato in una variabile definita nella sezione variabili del modello.{ "name": "[variables('vmssName')]", "apiVersion": "2017-03-30", "location": "[parameters(Location')]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]" ] } }
Al termine il modello dovrebbe essere simile al seguente:
Microsoft.Compute/virtualMachineScaleSets versione API 2018-06-01
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "UserAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } }, "properties": { //other virtual machine properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Microsoft.Compute/virtualMachines versione API 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachineScaleSets", "name": "[variables('vmssName')]", "location": "[resourceGroup().location]", "identity": { "type": "UserAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] }, "properties": { //other virtual machine properties... "virtualMachineProfile": { //other virtual machine profile properties... } } } ]
Rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali di Azure
Se è disponibile un set di scalabilità di macchine virtuali per cui non è più necessaria un'identità gestita assegnata dall'utente:
Se si accede ad Azure localmente o tramite il portale di Azure, usare un account che sia associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.
Caricare il modello in un editor e individuare
Microsoft.Compute/virtualMachineScaleSets
la risorsa interessataresources
all'interno della sezione. Se si dispone di un set di scalabilità di macchine virtuali con solo un'identità gestita assegnata dall'utente, è possibile disabilitarla modificando il tipo di identità e impostandolo suNone
.L'esempio seguente illustra come rimuovere tutte le identità gestite assegnate dall'utente da una macchina virtuale senza identità gestite assegnate dal sistema:
{ "name": "[variables('vmssName')]", "apiVersion": "2018-06-01", "location": "[parameters(Location')]", "identity": { "type": "None" } }
Microsoft.Compute/virtualMachineScaleSets versione API 2018-06-01
Per rimuovere una singola identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali, rimuoverla dal dizionario
userAssignedIdentities
.Se si dispone di un'identità assegnata dal sistema, mantenerla nel valore
type
del valoreidentity
.Microsoft.Compute/virtualMachineScaleSets versione API 2017-12-01
Per rimuovere una singola identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali, rimuoverla dalla matrice
identityIds
.Se si dispone di un'identità gestita assegnata dal sistema, mantenerla nel valore
type
del valoreidentity
.
Passaggi successivi
Questo articolo illustra come eseguire le operazioni relative alle identità gestite per le risorse di Azure seguenti in un set di scalabilità di macchine virtuali di Azure usando CURL per eseguire le chiamate all'endpoint REST di Azure Resource Manager:
- 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 deve avere le assegnazioni di 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à assegnata dall'utente da e verso un set di scalabilità di macchine virtuali.
Nota
Non sono necessarie altre assegnazioni di ruolo della directory di Microsoft Entra.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su 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, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. 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 attivare e disattivare le identità gestite assegnate dal sistema in set di scalabilità di macchine virtuali, usando CURL per eseguire chiamate all'endpoint REST di Azure Resource Manager.
Abilitare l'identità gestita assegnata dal sistema durante la creazione di un set di scalabilità di macchine virtuali
Per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema abilitata, è necessario creare un set di scalabilità di macchine virtuali e recuperare un token di accesso per usare CURL per chiamare l'endpoint di Resource Manager con il valore del tipo dell'identità gestita assegnata dal sistema.
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'interfaccia di rete per il set di scalabilità di macchine virtuali:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
In Azure Cloud Shell creare un set di scalabilità di macchine virtuali usando CURL per chiamare l'endpoint REST di Azure Resource Manager. L'esempio seguente crea un set di scalabilità di macchine virtuali denominato myVMSS in myResourceGroup, con un'identità gestita assegnata dal sistema, come indicato nel corpo della richiesta dal valore
"identity":{"type":"SystemAssigned"}
. Sostituire<ACCESS TOKEN>
con il valore ricevuto nel passaggio precedente relativo alla richiesta di un token bearer di accesso e il valore<SUBSCRIPTION ID>
appropriato per l'ambiente.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "sku":{ "tier":"Standard", "capacity":3, "name":"Standard_D1_v2" }, "location":"eastus", "identity":{ "type":"SystemAssigned" }, "properties":{ "overprovision":true, "virtualMachineProfile":{ "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "createOption":"FromImage" } }, "osProfile":{ "computerNamePrefix":"myVMSS", "adminUsername":"azureuser", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaceConfigurations":[ { "name":"myVMSS", "properties":{ "primary":true, "enableIPForwarding":true, "ipConfigurations":[ { "name":"myVMSS", "properties":{ "subnet":{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" } } } ] } } ] } }, "upgradePolicy":{ "mode":"Manual" } } }
Abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali esistente
Per abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali esistente, è necessario acquisire un token di accesso e quindi usare CURL per chiamare l'endpoint REST di Gestione risorse per aggiornare il tipo di identità.
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
Usare il comando CURL seguente per chiamare l'endpoint REST di Azure Resource Manager per abilitare l'identità gestita assegnata dal sistema sul set di scalabilità di macchine virtuali, come indicato dal valore
{"identity":{"type":"SystemAssigned"}
nel corpo della richiesta per un set di scalabilità di macchine virtuali denominato myVMSS. Sostituire<ACCESS TOKEN>
con il valore ricevuto nel passaggio precedente relativo alla richiesta di un token bearer di accesso e il valore<SUBSCRIPTION ID>
appropriato per l'ambiente.Importante
Per verificare di non eliminare alcuna identità gestita assegnata dall'utente associata al set di scalabilità di macchine virtuali, è necessario elencare le identità gestite assegnate dall'utente tramite questo comando CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Se vi sono eventuali identità gestite assegnate dall'utente associate al set di scalabilità di macchine virtuali come indicato nel valoreidentity
della risposta, passare al passaggio 3 dove viene illustrato come mantenere le identità gestite assegnate dall'utente durante l'abilitazione dell'identità gestita assegnata dal sistema sul set di scalabilità di macchine virtuali.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned" } }
Per abilitare l'identità gestita assegnata dal sistema su un set di scalabilità di macchine virtuali con le identità gestite assegnate dall'utente presenti, è necessario aggiungere
SystemAssigned
al valoretype
.Se, ad esempio, il set di scalabilità di macchine virtuali presenta identità gestite assegnate dall'utente
ID1
eID2
assegnate al set stesso e si intende aggiungere un'identità gestita assegnata dal sistema al set di scalabilità di macchine virtuali, usare la chiamata di CURL seguente. Sostituire<ACCESS TOKEN>
e<SUBSCRIPTION ID>
con i valori appropriati all'ambiente.La versione dell'API
2018-06-01
archivia le identità gestite assegnate dall'utente nel valoreuserAssignedIdentities
in formato dizionario anziché nel valoreidentityIds
in formato matrice usato nella versione dell'API2017-12-01
.VERSIONE API 01/06/2018
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
VERSIONE API 01-12-2017
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Disabilitare un'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali
Per disabilitare l'identità assegnata dal sistema in un set di scalabilità di macchine virtuali esistente, è necessario acquisire un token di accesso e quindi usare CURL per chiamare l'endpoint REST di Gestione risorse per aggiornare il tipo di identità a None
.
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
Aggiornare il set di scalabilità di macchine virtuali usando CURL per chiamare l'endpoint REST di Azure Resource Manager e disabilitare l'identità gestita assegnata dal sistema. L'esempio seguente disabilita un'identità gestita assegnata dal sistema, come indicato nel corpo della richiesta dal valore
{"identity":{"type":"None"}}
da un set di scalabilità di macchine virtuali denominato myVMSS. Sostituire<ACCESS TOKEN>
con il valore ricevuto nel passaggio precedente relativo alla richiesta di un token bearer di accesso e il valore<SUBSCRIPTION ID>
appropriato per l'ambiente.Importante
Per verificare di non eliminare alcuna identità gestita assegnata dall'utente associata al set di scalabilità di macchine virtuali, è necessario elencare le identità gestite assegnate dall'utente tramite questo comando CURL:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
. Se sono presenti eventuali identità gestite assegnate dall'utente associate al set di scalabilità di macchine virtuali, passare al passaggio 3 dove viene illustrato come mantenere le identità gestite assegnate dall'utente durante la rimozione dell'identità gestita assegnata dal sistema sul set di scalabilità di macchine virtuali.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"None" } }
Per rimuovere l'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali con identità gestite assegnate dall'utente, rimuovere
SystemAssigned
dal valore{"identity":{"type:" "}}
mantenendo il valoreUserAssigned
e i valori di dizionariouserAssignedIdentities
, se si usa la versione dell'API 01/06/2018. Se invece si usa la versione dell'API 01/12/2017 o precedenti, mantenere la matriceidentityIds
.
Identità gestita assegnata dall'utente
Questa sezione illustra come aggiungere e rimuovere le identità gestite assegnate dall'utente in un set di scalabilità di macchine virtuali, usando CURL per effettuare chiamate all'endpoint REST di Azure Resource Manager.
Assegnare un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
Creare un'interfaccia di rete per il set di scalabilità di macchine virtuali:
az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
Creare un'identità gestita assegnata dall'utente usando le istruzioni disponibili qui: Creare un'identità gestita assegnata dall'utente.
Creare un set di scalabilità di macchine virtuali usando CURL per chiamare l'endpoint REST di Azure Resource Manager. L'esempio seguente crea un set di scalabilità di macchine virtuali denominato myVMSS nel gruppo di risorse myResourceGroup, con un'identità gestita assegnata dall'utente €
ID1
, come indicato nel corpo della richiesta dal valore"identity":{"type":"UserAssigned"}
. Sostituire<ACCESS TOKEN>
con il valore ricevuto nel passaggio precedente relativo alla richiesta di un token bearer di accesso e il valore<SUBSCRIPTION ID>
appropriato per l'ambiente.VERSIONE API 01/06/2018
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "sku":{ "tier":"Standard", "capacity":3, "name":"Standard_D1_v2" }, "location":"eastus", "identity":{ "type":"UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } }, "properties":{ "overprovision":true, "virtualMachineProfile":{ "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "createOption":"FromImage" } }, "osProfile":{ "computerNamePrefix":"myVMSS", "adminUsername":"azureuser", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaceConfigurations":[ { "name":"myVMSS", "properties":{ "primary":true, "enableIPForwarding":true, "ipConfigurations":[ { "name":"myVMSS", "properties":{ "subnet":{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" } } } ] } } ] } }, "upgradePolicy":{ "mode":"Manual" } } }
VERSIONE API 01-12-2017
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "sku":{ "tier":"Standard", "capacity":3, "name":"Standard_D1_v2" }, "location":"eastus", "identity":{ "type":"UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] }, "properties":{ "overprovision":true, "virtualMachineProfile":{ "storageProfile":{ "imageReference":{ "sku":"2016-Datacenter", "publisher":"MicrosoftWindowsServer", "version":"latest", "offer":"WindowsServer" }, "osDisk":{ "caching":"ReadWrite", "managedDisk":{ "storageAccountType":"StandardSSD_LRS" }, "createOption":"FromImage" } }, "osProfile":{ "computerNamePrefix":"myVMSS", "adminUsername":"azureuser", "adminPassword":"myPassword12" }, "networkProfile":{ "networkInterfaceConfigurations":[ { "name":"myVMSS", "properties":{ "primary":true, "enableIPForwarding":true, "ipConfigurations":[ { "name":"myVMSS", "properties":{ "subnet":{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet" } } } ] } } ] } }, "upgradePolicy":{ "mode":"Manual" } } }
Assegnare un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali di Azure esistente
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
Creare un'identità gestita assegnata dall'utente usando le istruzioni disponibili qui: Creare un'identità gestita assegnata dall'utente.
Per verificare di non eliminare le identità esistenti assegnate dall'utente o dal sistema associate al set di scalabilità di macchine virtuali, è necessario elencare i tipi di identità assegnati al set di scalabilità di macchine virtuali tramite il comando CURL seguente. Se sono state gestite identità assegnate al set di scalabilità di macchine virtuali, queste vengono elencate di seguito nel valore
identity
.curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Se non si dispone di identità gestite assegnate dall'utente o dal sistema associate al set di scalabilità di macchine virtuali, usare il comando CURL seguente per chiamare l'endpoint REST di Azure Resource Manager e assegnare la prima identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali. Se sono presenti eventuali identità gestite assegnate dall'utente o dal sistema associate al set di scalabilità di macchine virtuali, passare al passaggio 5 dove viene illustrato come aggiungere le identità gestite assegnate dall'utente a un set di scalabilità di macchine virtuali, conservando allo stesso tempo l'identità gestita assegnata dal sistema.
L'esempio seguente assegna un'identità gestita assegnate dall'utente
ID1
a un set di scalabilità di macchine virtuali denominato myVMSS nel gruppo di risorse myResourceGroup. Sostituire<ACCESS TOKEN>
con il valore ricevuto nel passaggio precedente relativo alla richiesta di un token bearer di accesso e il valore<SUBSCRIPTION ID>
appropriato per l'ambiente.VERSIONE API 01/06/2018
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"userAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ } } } }
VERSIONE API 01-12-2017
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"userAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Se si dispone di un'identità gestita assegnata dall'utente o dal sistema associata al set di scalabilità di macchine virtuali:
VERSIONE API 01/06/2018
Aggiungere l'identità gestita assegnata dall'utente al valore di dizionario
userAssignedIdentities
.Se ad esempio il set di scalabilità di macchine virtuali dispone già di identità gestite assegnate dal sistema e assegnate dall'utente
ID1
e si intende aggiungervi l'identità gestita assegnata dall'utenteID2
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{ }, "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{ } } } }
VERSIONE API 01-12-2017
Quando si aggiunge la nuova identità gestita assegnata dall'utente, mantenere le identità gestite assegnate dall'utente desiderate nel valore di matrice
identityIds
.Se ad esempio il set di scalabilità di macchine virtuali dispone già di identità assegnate dal sistema e assegnate dall'utente
ID1
e si intende aggiungervi l'identità gestita assegnata dall'utenteID2
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned, UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1", "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2" ] } }
Rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali
Recuperare un bearer token di accesso, necessario nel passaggio successivo nell'intestazione dell'autorizzazione per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.
az account get-access-token
Per verificare di non eliminare alcuna identità gestita assegnata dall'utente che si intende mantenere associata al set di scalabilità di macchine virtuali o di non rimuovere le identità gestite assegnate dal sistema, è necessario elencare i tipi di identità assegnati alla macchina virtuale tramite il comando CURL seguente:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Se sono state gestite identità assegnate alla macchina virtuale, sono elencate nella risposta nel valore
identity
.Se ad esempio si dispone di identità gestite assegnate dall'utente
ID1
eID2
assegnate al set di scalabilità di macchine virtuali e si vuole solamente mantenere assegnatoID1
e mantenere l'identità gestita assegnata dal sistema:VERSIONE API 01/06/2018
Aggiungere
null
all'identità gestita assegnata dall'utente che si intende rimuovere:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null } } }
VERSIONE API 01-12-2017
Mantenere solo le identità gestite assegnate dall'utente desiderate nella matrice
identityIds
:curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta Descrizione Content-Type Obbligatorio. Impostare su application/json
.Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer
valido.Testo della richiesta
{ "identity":{ "type":"SystemAssigned,UserAssigned", "identityIds":[ "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1" ] } }
Se il set di scalabilità di macchine virtuali ha identità gestite sia assegnate dal sistema che assegnate dall'utente, è possibile rimuovere tutte le identità gestite assegnate dall'utente iniziando a usare solo identità assegnate dal sistema, usando il comando seguente:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta | Descrizione |
---|---|
Content-Type | Obbligatorio. Impostare su application/json . |
Autorizzazione | Obbligatorio. Impostare su un token di accesso Bearer valido. |
Testo della richiesta
{
"identity":{
"type":"SystemAssigned"
}
}
Se il set di scalabilità di macchine virtuali presenta solo identità gestite assegnate dall'utente e si intende rimuoverle tutte, usare il comando seguente:
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
Intestazioni delle richieste
Intestazione della richiesta | Descrizione |
---|---|
Content-Type | Obbligatorio. Impostare su application/json . |
Autorizzazione | Obbligatorio. Impostare su un token di accesso Bearer valido. |
Testo della richiesta
{
"identity":{
"type":"None"
}
}
Passaggi successivi
Per informazioni su come creare, elencare o eliminare le identità gestite assegnate dall'utente usando REST, vedere: