Condividi tramite


Configurare le identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali

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).

In questo articolo, usando il portale di Azure, si apprenderà come eseguire le identità gestite seguenti per le operazioni sulle risorse di Azure in un set di scalabilità di macchine virtuali:

  • Se non si ha familiarità con le identità gestite per le risorse di Azure, consulta la sezione panoramica .

  • Se non si ha un account Azure, registrarsi per ottenere un account gratuito prima di continuare.

  • Per eseguire le operazioni di gestione descritte in questo articolo, l'account deve avere le assegnazioni di ruolo di Azure seguenti:

    Annotazioni

    Non sono necessarie assegnazioni di ruolo aggiuntive alla directory di Microsoft Entra.

Identità gestita assegnata dal sistema

In questa sezione si apprenderà come abilitare e disabilitare l'identità gestita assegnata dal sistema usando 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. Creare prima un set di scalabilità di macchine virtuali , quindi abilitare un'identità gestita assegnata dal sistema per il set di scalabilità.

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 di cui è stato originariamente effettuato il provisioning senza di essa:

  1. Accedere al portale di Azure usando un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.

  2. Passare al set di scalabilità di macchine virtuali desiderato.

  3. In Assegnata dal sistema, Stato, selezionare Abilita e quindi fare clic su Salva:

    Lo screenshot mostra la pagina

Rimuovere l'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali

Se si dispone di un set di scalabilità di macchine virtuali che non necessita più di un'identità gestita assegnata dal sistema:

  1. 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 concede autorizzazioni di scrittura per il set di scalabilità di macchine virtuali.

  2. Passare al set di scalabilità di macchine virtuali desiderato.

  3. In Assegnata dal sistema, Stato, selezionare Disabilita e quindi fare clic su Salva:

    Screenshot che mostra la pagina di configurazione.

Identità gestita assegnata dall'utente

In questa sezione si apprenderà 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'assegnazione di un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali. Innanzitutto, creare un set di scalabilità di macchine virtuali , quindi assegnare un'identità gestita dall'utente al set di scalabilità.

Assegnare un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali esistente

  1. Accedere al portale di Azure usando un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.

  2. Passare al set di scalabilità di macchine virtuali desiderato e fare clic su Sicurezza>Identità, Utente assegnato e quindi +Aggiungi.

  3. Selezionare dall'elenco l'identità gestita assegnata all'utente creata in precedenza.

    Screenshot che mostra la pagina Identità con l'utente assegnato selezionato e il pulsante Aggiungi evidenziato.

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 fare clic su Identità, Utente assegnato, il nome dell'identità gestita assegnata dall'utente che si vuole eliminare, quindi fare clic su Rimuovi (fare clic su nel riquadro di conferma).

Screenshot che illustra come rimuovere l'identità assegnata dall'utente da un set di scalabilità di macchine virtuali.

Passaggi successivi

In questo articolo si apprenderà come eseguire le identità gestite seguenti per le operazioni sulle risorse di Azure in un set di scalabilità di macchine virtuali di Azure, usando 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 descritte in questo articolo, l'account deve disporre delle assegnazioni di controllo degli accessi in base al ruolo di Azure seguenti:

    Annotazioni

    Non sono necessarie assegnazioni di ruolo aggiuntive alla directory di Microsoft Entra.

Identità gestita assegnata dal sistema

In questa sezione si apprenderà come abilitare e disabilitare l'identità gestita assegnata dal sistema per un set di scalabilità di macchine virtuali di Azure usando 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:

  1. Creare un gruppo di risorse per il contenimento e la distribuzione del set di scalabilità di macchine virtuali e delle risorse correlate, usando az group create. È possibile ignorare questo passaggio se si dispone già di un gruppo di risorse che si vuole usare:

    az group create --name myResourceGroup --location westus
    
  2. 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 i valori specificati --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 l'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali di Azure

Se si dispone di un set di scalabilità di macchine virtuali che non richiede più l'identità gestita assegnata dal sistema, ma necessita ancora di identità gestite assegnate dall'utente, usare il comando seguente:

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

Se si dispone di una macchina virtuale che non necessita più di un'identità gestita assegnata dal sistema e non dispone di identità gestite assegnate dall'utente, utilizzare il comando seguente:

Annotazioni

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

In questa sezione si apprenderà come abilitare e rimuovere un'identità gestita assegnata dall'utente usando 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 illustra la creazione di un set di scalabilità di macchine virtuali e l'assegnazione di 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 vuole usare, ignorare questa sezione e passare alla successiva.

  1. 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>
    
  2. 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 (_). Affinché l'assegnazione a una macchina virtuale o a un set di scalabilità di macchine virtuali funzioni correttamente, il nome è limitato a 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 della risorsa id 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/<SUBSCRIPTION 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"    
    }
    
  3. 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 --assign-identity , come specificato dal parametro, con i valori specificati --role e --scope. 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>
    

Assegnare un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali esistente

  1. 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/<SUBSCRIPTION 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"    
    }
    
  2. 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à della risorsa name dell'identità assegnata dall'utente, come creato 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. Si <USER ASSIGNED IDENTITY> tratta della name proprietà dell'identità gestita assegnata dall'utente, che può essere trovata 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 dispone di un'identità gestita assegnata dal sistema e si desidera rimuovere tutte le identità gestite assegnate dall'utente, usare il comando seguente:

Annotazioni

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 dispone di identità gestite assegnate dal sistema e assegnate dall'utente, è possibile rimuovere tutte le identità assegnate dall'utente passando all'uso solo dell'identità gestita assegnata dal sistema. Utilizza il seguente comando:

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

Passaggi successivi

In questo articolo, usando PowerShell, si apprenderà come eseguire le identità gestite per le operazioni delle risorse di Azure in un set di scalabilità di macchine virtuali:

  • 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

Annotazioni

È 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, consulta la sezione panoramica . Assicurarsi di esaminare la differenza tra un'identità assegnata dal sistema e un'identità assegnata gestita dall'utente.

  • Se non si ha un account Azure, registrarsi per ottenere un account gratuito prima di continuare.

  • Per eseguire le operazioni di gestione descritte in questo articolo, l'account deve disporre delle assegnazioni di controllo degli accessi in base al ruolo di Azure seguenti:

    Annotazioni

    Non sono necessarie assegnazioni di ruolo aggiuntive alla directory di Microsoft Entra.

  • 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

In questa sezione si apprenderà come abilitare e rimuovere un'identità gestita assegnata dal sistema usando 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:

  1. Per creare un set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema, vedere l'esempio 1 nell'articolo di riferimento sul cmdlet New-AzVmssConfig . Aggiungere il parametro -IdentityType SystemAssigned al New-AzVmssConfig cmdlet:

    $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:

  1. Assicurarsi che l'account Azure in uso appartenga a un ruolo che concede le autorizzazioni di scrittura per il set di scalabilità di macchine virtuali, ad esempio "Collaboratore macchina virtuale".

  2. Recuperare le proprietà del set di scalabilità di macchine virtuali usando il Get-AzVmss cmdlet. Quindi, per abilitare un'identità gestita assegnata dal sistema, usare l'opzione -IdentityType sul 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 si dispone di un set di scalabilità di macchine virtuali che non richiede più l'identità gestita assegnata dal sistema, ma necessita ancora di identità gestite assegnate dall'utente, usare il cmdlet seguente:

  1. Assicurarsi che l'account appartenga a un ruolo che concede autorizzazioni di scrittura per il set di scalabilità di macchine virtuali, ad esempio "Collaboratore macchina virtuale".

  2. Eseguire il cmdlet seguente:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
    
  3. Se si dispone di un set di scalabilità di macchine virtuali che non richiede più l'identità gestita assegnata dal sistema e non dispone di identità gestite assegnate dall'utente, usare il comando seguente:

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
    

Identità gestita assegnata dall'utente

In questa sezione si apprenderà come aggiungere e rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali usando Azure PowerShell.

Assegnare un'identità gestita assegnata dall'utente durante la creazione di un set di scalabilità di macchine virtuali di Azure

La creazione di un nuovo set di scalabilità di macchine virtuali con un'identità gestita assegnata dall'utente non è attualmente supportata tramite PowerShell. Vedere la sezione successiva su come aggiungere un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali esistente. 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:

  1. Assicurarsi che l'account appartenga a un ruolo che concede autorizzazioni di scrittura per il set di scalabilità di macchine virtuali, ad esempio "Collaboratore macchina virtuale".

  2. Recuperare le proprietà del set di scalabilità di macchine virtuali usando il Get-AzVM cmdlet. Quindi, per assegnare un'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali, usare e -IdentityType-IdentityID attivare il cmdlet Update-AzVmss . Sostituisci <VM NAME>, <SUBSCRIPTION ID>, <RESOURCE GROUP>, <USER ASSIGNED ID1>, con USER ASSIGNED ID2 i tuoi valori.

    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 (_). Affinché l'assegnazione a una macchina virtuale o a un set di scalabilità di macchine virtuali funzioni correttamente, il nome è limitato a 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 dispone di più identità gestite assegnate dall'utente, è possibile rimuoverle tutte tranne l'ultima usando 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à name dell'identità gestita assegnata dall'utente, che deve rimanere nel set di scalabilità di macchine virtuali. Queste informazioni sono disponibili 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 dispone di un'identità gestita assegnata dal sistema e si desidera rimuovere tutte le identità gestite assegnate dall'utente, usare il comando seguente:

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None

Se il set di scalabilità di macchine virtuali dispone di identità gestite assegnate dal sistema e assegnate dall'utente, è possibile rimuovere tutte le identità gestite assegnate dall'utente passando all'uso solo dell'identità gestita assegnata dal sistema.

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"

Passaggi successivi

In questo articolo si apprenderà come eseguire le identità gestite seguenti per le operazioni sulle risorse di Azure in un set di scalabilità di macchine virtuali di Azure, usando il modello di distribuzione 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

Prerequisiti

Modelli di Azure Resource Manager

Come per il portale di Azure e gli script, i modelli 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:

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 nello 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 si disabiliterà l'identità gestita assegnata dal sistema usando 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 di un set di scalabilità di macchine virtuali esistente

  1. Indipendentemente dal fatto che si acceda ad Azure in locale o tramite il portale di Azure, usare un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.

  2. Per abilitare l'identità gestita assegnata dal sistema, caricare il modello in un editor, individuare la Microsoft.Compute/virtualMachinesScaleSets risorsa di interesse all'interno della sezione delle risorse e aggiungere la identity proprietà allo stesso livello della "type": "Microsoft.Compute/virtualMachinesScaleSets" proprietà. Usare la sintassi seguente:

    "identity": {
        "type": "SystemAssigned"
    }
    
  3. Al termine, le sezioni seguenti dovrebbero essere aggiunte alla sezione delle risorse del modello e dovrebbero essere simili all'esempio illustrato 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 si dispone di un set di scalabilità di macchine virtuali che non necessita più di un'identità gestita assegnata dal sistema:

  1. Indipendentemente dal fatto che si acceda ad Azure in locale o tramite il portale di Azure, usare un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.

  2. Caricare il modello in un editor e individuare Microsoft.Compute/virtualMachineScaleSetsla 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 su None.

    API Microsoft.Compute/virtualMachineScaleSets versione 2018-06-01

    Se apiVersion è 2018-06-01 e la macchina virtuale dispone di identità gestite assegnate sia dal sistema che dall'utente, rimuoverla SystemAssigned dal tipo di identità e mantenerla UserAssigned insieme ai valori del dizionario userAssignedIdentities.

    API Microsoft.Compute/virtualMachineScaleSets versione 2018-06-01

    Se apiVersion è 2017-12-01 e il set di scalabilità di macchine virtuali dispone di identità gestite assegnate sia dal sistema che dall'utente, rimuoverlo SystemAssigned dal tipo di identità e mantenere UserAssigned la identityIds matrice delle identità gestite assegnate dall'utente.

    L'esempio seguente illustra 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 viene assegnata un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali usando il modello di Azure Resource Manager.

Annotazioni

Per creare un'identità gestita assegnata dall'utente usando un modello di Azure Resource Manager, vedere Creare un'identità gestita assegnata dall'utente.

Assegnare un'identità gestita assegnata dall'utente a un set di scalabilità di macchine virtuali

  1. Sotto l'elemento resources aggiungere la voce seguente per assegnare 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.

    API Microsoft.Compute/virtualMachineScaleSets versione 2018-06-01

    Se apiVersion è 2018-06-01, le identità gestite assegnate dall'utente vengono archiviate nel formato dizionario userAssignedIdentities e il <USERASSIGNEDIDENTITYNAME> valore deve essere archiviato in una variabile definita nella variables sezione del modello.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
            }
        }
    
    }
    

    API Microsoft.Compute/virtualMachineScaleSets versione 2017-12-01

    Se si apiVersion tratta 2017-12-01 di una o di una versione precedente, le identità gestite assegnate dall'utente vengono archiviate nella identityIds matrice e il <USERASSIGNEDIDENTITYNAME> valore deve essere archiviato in una variabile definita nella sezione variables del modello.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2017-03-30",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]"
            ]
        }
    }
    
  2. Al termine, il modello dovrebbe essere simile al seguente:

    API Microsoft.Compute/virtualMachineScaleSets versione 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 API versione 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 l'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali di Azure

Se si dispone di un set di scalabilità di macchine virtuali che non richiede più un'identità gestita assegnata dall'utente:

  1. Indipendentemente dal fatto che si acceda ad Azure in locale o tramite il portale di Azure, usare un account associato alla sottoscrizione di Azure che contiene il set di scalabilità di macchine virtuali.

  2. Caricare il modello in un editor e individuare Microsoft.Compute/virtualMachineScaleSetsla risorsa interessataresources all'interno della sezione. Se si dispone di un set di scalabilità di macchine virtuali che dispone solo di identità gestita assegnata dall'utente, è possibile disabilitarlo modificando il tipo di identità in None.

    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"
         }
    }
    

    API Microsoft.Compute/virtualMachineScaleSets versione 2018-06-01

    Per rimuovere una singola identità gestita assegnata da un utente da un set di scalabilità di macchine virtuali, rimuoverla dal userAssignedIdentities dizionario.

    Se si dispone di un'identità assegnata dal sistema, mantenerla nel valore sotto il typeidentity valore.

    API Microsoft.Compute/virtualMachineScaleSets versione 2017-12-01

    Per rimuovere una singola identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali, rimuoverla dall'array identityIds .

    Se si dispone di un'identità gestita assegnata dal sistema, mantenerla nel valore type all'interno del valore identity.

Passaggi successivi

In questo articolo, usando CURL per effettuare chiamate all'endpoint REST di Azure Resource Manager, si apprenderà come eseguire le identità gestite seguenti per le operazioni sulle risorse di Azure in un set di scalabilità di macchine virtuali:

  • 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 descritte in questo articolo, l'account deve avere le assegnazioni di ruolo di Azure seguenti:

    Annotazioni

    Non sono necessarie assegnazioni di ruolo aggiuntive alla directory di Microsoft Entra.

Identità gestita assegnata dal sistema

In questa sezione si apprenderà come abilitare e disabilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali usando CURL per effettuare 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 l'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 di identità gestita assegnato dal sistema.

  1. Creare un gruppo di risorse per il contenimento 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
    
  2. 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
    
  3. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  4. Usando Azure Cloud Shell, creare un set di scalabilità di macchine virtuali usando CURL per chiamare l'endpoint REST di Azure Resource Manager. Nell'esempio seguente viene creato un set di scalabilità di macchine virtuali denominato myVMSS in myResourceGroup con un'identità gestita assegnata dal sistema, come identificato nel corpo della richiesta dal valore "identity":{"type":"SystemAssigned"}. Sostituire <ACCESS TOKEN> con il valore ricevuto nel passaggio precedente, quando è stato richiesto un token di accesso Bearer, e <SUBSCRIPTION ID> con il valore 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 Resource Manager per aggiornare il tipo di identità.

  1. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  2. Usare il comando CURL seguente per chiamare l'endpoint REST di Azure Resource Manager per abilitare l'identità gestita assegnata dal sistema nel set di scalabilità di macchine virtuali, come identificato nel corpo della richiesta dal valore {"identity":{"type":"SystemAssigned"} per un set di scalabilità di macchine virtuali denominato myVMSS. Sostituire <ACCESS TOKEN> con il valore ricevuto nel passaggio precedente, quando è stato richiesto un token di accesso Bearer, e <SUBSCRIPTION ID> con il valore appropriato per l'ambiente.

    Importante

    Per assicurarsi di non eliminare le identità gestite assegnate dall'utente esistenti assegnate al set di scalabilità di macchine virtuali, è necessario elencare le identità gestite assegnate dall'utente usando 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 si dispone di identità gestite assegnate dall'utente al set di scalabilità di macchine virtuali, come identificato nel identity valore nella risposta, andare al passaggio 3 che illustra come mantenere le identità gestite assegnate dall'utente abilitando al contempo l'identità gestita assegnata dal sistema nel 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo della richiesta

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. Per abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali con identità gestite assegnate dall'utente esistenti, è necessario aggiungere SystemAssigned valore type .

    Ad esempio, se il set di scalabilità di macchine virtuali dispone di identità ID1 gestite assegnate dall'utente e ID2 si vuole aggiungere l'identità gestita assegnata dal sistema al set di scalabilità di macchine virtuali, usare la chiamata 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 valore userAssignedIdentities in formato dizionario anziché nel valore identityIds in formato matrice usato nella versione dell'API 2017-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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 l'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali

Per disabilitare un'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 Resource Manager per aggiornare il tipo di identità a None.

  1. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  2. Aggiornare il set di scalabilità di macchine virtuali usando CURL per chiamare l'endpoint REST di Azure Resource Manager per disabilitare l'identità gestita assegnata dal sistema. Nell'esempio seguente viene disabilitata l'identità gestita assegnata dal sistema, identificata nel corpo della richiesta dal valore {"identity":{"type":"None"}} di un set di scalabilità di macchine virtuali denominato myVMSS. Sostituire <ACCESS TOKEN> con il valore ricevuto nel passaggio precedente, quando è stato richiesto un token di accesso Bearer, e <SUBSCRIPTION ID> con il valore appropriato per l'ambiente.

    Importante

    Per assicurarsi di non eliminare le identità gestite assegnate dall'utente esistenti assegnate al set di scalabilità di macchine virtuali, è necessario elencare le identità gestite assegnate dall'utente usando 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 al set di scalabilità di macchine virtuali è assegnata un'identità gestita assegnata dall'utente, andare al passaggio 3 che illustra come mantenere le identità gestite assegnate dall'utente rimuovendo l'identità gestita assegnata dal sistema dal 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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, rimuoverla SystemAssigned dal valore mantenendo il {"identity":{"type:" "}} valore e i valori del UserAssigned dizionario se si usa userAssignedIdentities. Se invece si usa la versione dell'API 01/12/2017 o precedenti, mantenere la matrice identityIds.

Identità gestita assegnata dall'utente

In questa sezione si apprenderà come aggiungere e rimuovere l'identità gestita assegnata 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

  1. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  2. 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
    
  3. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  4. Creare un'identità gestita assegnata dall'utente usando le istruzioni disponibili qui: Creare un'identità gestita assegnata dall'utente.

  5. Creare un set di scalabilità di macchine virtuali usando CURL per chiamare l'endpoint REST di Azure Resource Manager. Nell'esempio seguente viene creato un set di scalabilità di macchine virtuali denominato myVMSS nel gruppo di risorse myResourceGroup con un'identità ID1gestita assegnata dall'utente, identificata nel corpo della richiesta dal valore "identity":{"type":"UserAssigned"}. Sostituire <ACCESS TOKEN> con il valore ricevuto nel passaggio precedente, quando è stato richiesto un token di accesso Bearer, e <SUBSCRIPTION ID> con il valore 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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

  1. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  2. Creare un'identità gestita assegnata dall'utente usando le istruzioni disponibili qui: Creare un'identità gestita assegnata dall'utente.

  3. Per assicurarsi di non eliminare le identità gestite assegnate all'utente o al sistema esistenti assegnate al set di scalabilità di macchine virtuali, è necessario elencare i tipi di identità assegnati al set di scalabilità di macchine virtuali usando il comando CURL seguente. Se sono state assegnate identità gestite al set di scalabilità di macchine virtuali, queste sono elencate nel identity valore.

    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 della richiesta

    Header di richiesta Descrizione
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.
  4. Se al set di scalabilità di macchine virtuali non sono assegnate identità gestite assegnate da un utente o dal sistema, usare il comando CURL seguente per chiamare l'endpoint REST di Azure Resource Manager per assegnare la prima identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali. Se al set di scalabilità di macchine virtuali è assegnata una o più identità gestite assegnate da un utente o dal sistema, andare al passaggio 5 che illustra come aggiungere più identità gestite assegnate dall'utente a un set di scalabilità di macchine virtuali, mantenendo al contempo l'identità gestita assegnata dal sistema.

    Nell'esempio seguente viene assegnata un'identità ID1 gestita assegnata dall'utente 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, quando è stato richiesto un token di accesso Bearer, e <SUBSCRIPTION ID> con il valore 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo della richiesta

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. Se al set di scalabilità di macchine virtuali è assegnata un'identità gestita assegnata da un utente o dal sistema esistente:

    VERSIONE API 01/06/2018

    Aggiungi l'identità gestita assegnata dall'utente al valore del dizionario userAssignedIdentities.

    Ad esempio, se si dispone di un'identità gestita assegnata dal sistema e dell'identità ID1 gestita assegnata dall'utente attualmente assegnata alla bilancia per macchine virtuali e si vuole aggiungere l'identità ID2 gestita assegnata dall'utente:

    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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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

    Mantenere le identità gestite assegnate dall'utente che si desidera conservare nell'array identityIds mentre si aggiunge la nuova identità gestita assegnata dall'utente.

    Ad esempio, se si dispone di un'identità assegnata dal sistema e dell'identità ID1 gestita assegnata dall'utente attualmente assegnata al set di scalabilità di macchine virtuali e si vuole aggiungere l'identità ID2 gestita assegnata dall'utente:

    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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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

  1. Recuperare un token di accesso Bearer, che verrà usato nel passaggio successivo nell'intestazione Authorization per creare il set di scalabilità di macchine virtuali con un'identità gestita assegnata dal sistema.

    az account get-access-token
    
  2. Per assicurarsi di non eliminare le identità gestite assegnate dall'utente esistenti che si desidera mantenere assegnate al set di scalabilità di macchine virtuali o rimuovere l'identità gestita assegnata dal sistema, è necessario elencare le identità gestite usando 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 della richiesta

    Header di 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.

    Ad esempio, se si dispone di identità ID1 gestite assegnate dall'utente e ID2 assegnate al set di scalabilità di macchine virtuali e si vuole mantenere ID1 assegnata e mantenere solo 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 della richiesta

    Header di richiesta Descrizione
    Tipo di contenuto Obbligatorio. Impostare su application/json.
    Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

    Corpo 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 dispone di identità gestite assegnate dal sistema e assegnate dall'utente, è possibile rimuovere tutte le identità gestite assegnate dall'utente passando all'uso solo assegnato 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 della richiesta

Header di richiesta Descrizione
Tipo di contenuto Obbligatorio. Impostare su application/json.
Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

Corpo della richiesta

{
   "identity":{
      "type":"SystemAssigned"
   }
}

Se il set di scalabilità di macchine virtuali ha solo identità gestite assegnate dall'utente e si vuole 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 della richiesta

Header di richiesta Descrizione
Tipo di contenuto Obbligatorio. Impostare su application/json.
Autorizzazione Obbligatorio. Impostare su un token di accesso Bearer valido.

Corpo della richiesta

{
   "identity":{
      "type":"None"
   }
}

Passaggi successivi

Per informazioni su come creare, elencare o eliminare le identità gestite assegnate dall'utente usando REST, vedere: