Configurare identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali tramite l'interfaccia della riga di comando di Azure

Le identità gestite per le risorse di Azure sono una funzionalità di Microsoft Entra ID. Tutti i servizi di Azure che supportano le identità gestite per le risorse di Azure sono soggetti alla sequenza temporale di tali entità. Prima di iniziare, assicurarsi di esaminare lo stato di disponibilità delle identità gestite per la risorsa e i problemi noti.

Le identità gestite per le risorse di Azure offrono servizi di Azure con un'identità gestita automaticamente in Microsoft Entra ID. È possibile usare questa identità per l'autenticazione in qualsiasi servizio che supporta l'autenticazione di Microsoft Entra senza dover immettere le credenziali nel codice.

Questo articolo descrive come eseguire le operazioni seguenti per le identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali di Azure tramite l'interfaccia della riga di comando di Azure:

  • Abilitare e disabilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure
  • Aggiungere e rimuovere un'identità gestita assegnata dall'utente in un set di scalabilità di macchine virtuali di Azure

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

Prerequisiti

  • Se non si ha familiarità con le identità gestite per le risorse di Azure, vedere Informazioni sulle identità gestite per le risorse di Azure. Per informazioni sui tipi di identità gestite assegnate dal sistema e assegnate dall'utente, vedere Tipi di identità gestita.

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

    • Collaboratore macchina virtuale per creare un set di scalabilità di macchine virtuali e abilitare e rimuovere da un set di scalabilità di macchine virtuali l'identità gestita assegnata dal sistema e/o dall'utente.

    • Collaboratore di identità gestite per creare un'identità gestita assegnata dall'utente.

    • Operatore identità gestita per assegnare e rimuovere un'identità gestita assegnata dall'utente da e verso un set di scalabilità di macchine virtuali.

    Nota

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

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:

  1. 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
    
  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 l'oggetto specificato --role e --scope. I parametri --admin-username e --admin-password specificano il nome utente e la password dell'account amministrativo per l'accesso alla macchina virtuale. Aggiornare questi valori in base alle esigenze specifiche dell'ambiente:

    az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
    

Abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure esistente

Se è necessario abilitare l'identità gestita assegnata dal sistema in un set di scalabilità di macchine virtuali di Azure esistente:

az vmss identity assign -g myResourceGroup -n myVMSS

Disabilitare un'identità gestita assegnata dal sistema da un set di scalabilità di macchine virtuali di Azure

Se un set di scalabilità di macchine virtuali non necessità più dell'identità gestita assegnata dal sistema ma necessita ancora delle identità gestite assegnate dall'utente, usare il comando seguente:

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

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

Nota

Il valore none distingue tra maiuscole e minuscole. Deve essere costituito da caratteri in minuscolo.

az vmss update -n myVM -g myResourceGroup --set identity.type="none"

Identità gestita assegnata dall'utente

Questa sezione descrive come abilitare e rimuovere un'identità gestita assegnata dall'utente mediante l'interfaccia della riga di comando di Azure.

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

Questa sezione descrive come creare un set di scalabilità di macchine virtuali e assegnare un'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali. Se si dispone già di un set di scalabilità di macchine virtuali che si intende usare, ignorare questa sezione e procedere alla successiva.

  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 (_). Per il corretto funzionamento dell'assegnazione a una macchina virtuale o a un set di scalabilità di macchine virtuali, il nome può essere composto da un massimo di 24 caratteri. Per altre informazioni, vedere Domande frequenti e problemi noti.

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    La risposta contiene i dettagli relativi all'identità gestita assegnata dall'utente creata ed è simile all'esempio seguente. Il valore id della risorsa assegnato all'identità gestita assegnata dall'utente viene usato nel passaggio seguente.

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY NAME>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  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, come specificato dal --assign-identity parametro , con l'oggetto e --scopespecificato--role. Assicurarsi di sostituire i valori dei <RESOURCE GROUP>parametri , <VMSS NAME><USER NAME>, <USER ASSIGNED IDENTITY><PASSWORD>, , <ROLE>, e <SUBSCRIPTION> con i propri valori.

    az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
    

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

  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": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  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à name della risorsa dell'identità assegnata dall'utente creata nel passaggio precedente:

    az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
    

Rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali di Azure

Per rimuovere un'identità gestita assegnata dall'utente da un set di scalabilità di macchine virtuali, usare az vmss identity remove. Se si tratta dell'unica identità gestita assegnata dall'utente assegnata al set di scalabilità di macchine virtuali, UserAssigned viene rimossa dal valore del tipo di identità. Sostituire i valori dei parametri <RESOURCE GROUP> e <VIRTUAL MACHINE SCALE SET NAME> con valori personalizzati. <USER ASSIGNED IDENTITY> è la proprietà dell'identità name gestita assegnata dall'utente, disponibile nella sezione Identity del set di scalabilità di macchine virtuali usando az vmss identity show:

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

Se il set di scalabilità di macchine virtuali non ha un'identità gestita assegnata dal sistema e si vuole rimuovere tutte le identità gestite assegnate dall'utente, usare il comando seguente:

Nota

Il valore none distingue tra maiuscole e minuscole. Deve essere costituito da caratteri in minuscolo.

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

Se il set di scalabilità di macchine virtuali ha identità gestite sia assegnate dal sistema che assegnate dall'utente, è possibile rimuovere tutte le identità assegnate dall'utente iniziando a usare solo identità gestite assegnate dal sistema. Utilizza il seguente comando:

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

Passaggi successivi