Cosa sono le identità gestite per le risorse di Azure?
Uno dei problemi comuni a cui devono far fronte gli sviluppatori riguarda la gestione di segreti, credenziali, certificati e chiavi per proteggere la comunicazione tra i servizi. Grazie alle identità gestite, gli sviluppatori non devono più gestire queste credenziali.
Anche se gli sviluppatori possono archiviare in modo sicuro i segreti in Azure Key Vault, i servizi necessitano di un modo per accedere ad Azure Key Vault. Le identità gestite forniscono un'identità gestita automaticamente in Microsoft Entra ID per le applicazioni da usare per la connessione alle risorse che supportano l'autenticazione di Microsoft Entra. Le applicazioni possono usare le identità gestite per ottenere i token di Microsoft Entra senza dover gestire le credenziali.
Il video seguente illustra come è possibile usare le identità gestite:
Ecco alcuni vantaggi derivanti dall'uso delle identità gestite:
- Non è necessario gestire le credenziali. Le credenziali non sono neanche accessibili.
- È possibile usare le identità gestite per eseguire l'autenticazione per qualsiasi risorsa che supporti l'autenticazione di Microsoft Entra, incluse le proprie applicazioni.
- Le identità gestite possono essere utilizzate senza costi aggiuntivi.
Nota
Identità gestite per le risorse di Azure è il nuovo nome del servizio precedentemente noto come identità del servizio gestita (MSI).
Tipi di identità gestita
Sono disponibili due tipi di identità gestite:
Assegnata dal sistema. Alcune risorse di Azure, ad esempio le macchine virtuali, consentono di abilitare un'identità gestita direttamente nella risorsa. Quando si abilita un'identità gestita assegnata dal sistema:
- Per l'identità viene creato un'entità servizio di tipo speciale in Microsoft Entra ID. L'entità servizio è associata al ciclo di vita della risorsa di Azure. Quando la risorsa di Azure viene eliminata, Azure elimina automaticamente l'entità servizio.
- Per impostazione predefinita, solo questa specifica risorsa di Azure può usare questa identità per richiedere token ad Microsoft Entra ID.
- L'utente autorizza l'identità gestita ad avere accesso a uno o più servizi.
- Il nome dell'entità servizio assegnato dal sistema è sempre uguale al nome della risorsa di Azure per cui viene creato. Per uno slot di distribuzione, il nome dell'identità assegnata dal sistema è
<app-name>/slots/<slot-name>
.
Assegnata dall'utente. È anche possibile creare un'identità gestita come risorsa di Azure autonoma. È possibile creare un'identità gestita assegnata dall'utente e assegnarla a una o più risorse di Azure. Quando si abilita un'identità gestita assegnata dall'utente:
- Per l'identità viene creato un'entità servizio di tipo speciale in Microsoft Entra ID. L'entità servizio viene gestita separatamente dalle risorse che lo usano.
- Le identità assegnate dall'utente possono essere usate da più risorse.
- L'utente autorizza l'identità gestita ad avere accesso a uno o più servizi.
La tabella seguente illustra le differenze tra i due tipi di identità gestite:
Proprietà | Identità gestita assegnata dal sistema | Identità gestita assegnata dall'utente |
---|---|---|
Creazione | Creato come parte di una risorsa di Azure (ad esempio Macchine virtuali di Azure o Servizio app di Azure). | Creata come risorsa di Azure autonoma. |
Ciclo di vita | Ciclo di vita condiviso con la risorsa di Azure con cui viene creata l'identità gestita. Quando viene eliminata la risorsa padre, viene eliminata anche l'identità gestita. |
Ciclo di vita indipendente. Deve essere eliminata in modo esplicito. |
Condivisione tra risorse di Azure | Non si può condividere. Può essere associata solo a una singola risorsa di Azure. |
Può essere condivisa. La stessa identità gestita assegnata dall'utente può essere associata a più risorse di Azure. |
Casi d'uso comuni | Carichi di lavoro contenuti in una singola risorsa di Azure. I carichi di lavoro necessitano di identità indipendenti. Ad esempio, un'applicazione eseguita in una singola macchina virtuale. |
Carichi di lavoro che vengono eseguiti in più risorse e possono condividere una singola identità. Carichi di lavoro che richiedono la pre-autorizzazione per una risorsa sicura, come parte di un flusso di provisioning. Carichi di lavoro in cui le risorse vengono riciclate frequentemente, ma le autorizzazioni devono rimanere coerenti. Ad esempio, un carico di lavoro in cui più macchine virtuali devono accedere alla stessa risorsa. |
Come usare le identità gestite per le risorse di Azure
È possibile usare le identità gestite seguendo questa procedura:
- Creare un'identità gestita in Azure. È possibile scegliere tra l'identità gestita assegnata dal sistema o l'identità gestita assegnata dall'utente.
- Quando si usa un'identità gestita assegnata all'utente, si assegna l'identità gestita alla risorsa di "origine" di Azure, ad esempio una macchina virtuale, un'app per la logica di Azure o un'app Web di Azure.
- Autorizzare l'identità gestita ad avere accesso al servizio di "destinazione".
- Usare l'identità gestita per accedere a una risorsa. In questo passaggio è possibile usare Azure SDK con la libreria Azure.Identity. Alcune risorse di "origine" offrono connettori che sanno come usare le identità gestite per le connessioni. In tal caso, si usa l'identità come funzionalità della risorsa di "origine".
Servizi di Azure che supportano questa funzionalità
È possibile usare le identità gestite per le risorse di Azure per eseguire l'autenticazione ai servizi che supportano l'autenticazione di Microsoft Entra. Per un elenco dei servizi Azure supportati, vedere Servizi che supportano le identità gestite per le risorse di Azure.
Quali operazioni è possibile eseguire nelle identità gestite?
Le risorse che supportano le identità gestite assegnate dal sistema consentono di:
- Abilitare o disabilitare le identità gestite a livello di risorsa.
- Usare il controllo degli accessi in base al ruolo (RBAC) per concedere le autorizzazioni.
- Visualizzare le operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD) nei log attività di Azure.
- Visualizzare l'attività di accesso nei log di accesso di Microsoft Entra ID.
Se invece si sceglie un'identità gestita assegnata all'utente:
- È possibile creare, leggere, aggiornare ed eliminare le identità.
- È possibile usare il ruolo Controllo degli accessi in base al ruolo per concedere le autorizzazioni.
- Le identità gestite assegnate dall'utente possono essere usate in più di una risorsa.
- Le operazioni CRUD sono disponibili per la revisione nei log attività di Azure.
- Visualizzare l'attività di accesso nei log di accesso di Microsoft Entra ID.
Le operazioni sulle identità gestite possono essere eseguite usando un modello di Azure Resource Manager, il portale di Azure, l'interfaccia della riga di comando di Azure, PowerShell e le API REST.
Passaggi successivi
- Introduzione e linee guida per gli sviluppatori
- Usare un'identità gestita assegnata dal sistema per una macchina virtuale per accedere a Resource Manager
- Come usare le identità gestite nel servizio app e in Funzioni di Azure
- Come usare identità gestite con Istanze di Azure Container
- Implementazione delle identità gestite per le risorse di Microsoft Azure
- Usare federazione delle identità del carico di lavoro per le identità gestite per accedere alle risorse protette di Microsoft Entra senza gestire i segreti