Uso di identità gestite per Azure con Service Fabric
Una sfida comune quando si creano applicazioni cloud è come gestire in modo sicuro le credenziali nel codice per l'autenticazione in vari servizi senza salvarle localmente in una workstation per sviluppatori o nel controllo del codice sorgente. Le identità gestite per Azure risolvono questo problema per tutte le risorse in Microsoft Entra ID fornendo loro identità gestite automaticamente all'interno di Microsoft Entra ID. È possibile usare l'identità di un servizio per eseguire l'autenticazione a qualsiasi servizio che supporti l'autenticazione di Microsoft Entra, incluso Key Vault, senza credenziali archiviate nel codice.
Le identità gestite per le risorse di Azure sono gratuite con l'ID Entra Microsoft per le sottoscrizioni di Azure. Non sono previsti costi aggiuntivi.
Nota
Le identità gestite per Azure sono il nuovo nome del servizio noto in precedenza come identità del servizio gestita.
Concetti
Le identità gestite per Azure si basano su diversi concetti chiave:
ID client: identificatore univoco generato dall'ID Microsoft Entra associato a un'applicazione e a un'entità servizio durante il provisioning iniziale (vedere anche ID applicazione (client).
ID entità servizio: l'ID dell'oggetto entità servizio per l'identità gestita che viene usato per concedere l'accesso basato sul ruolo a una risorsa di Azure.
Entità servizio: un oggetto Microsoft Entra, che rappresenta la proiezione di un'applicazione Microsoft Entra in un determinato tenant (vedere anche l'entità servizio).
Sono disponibili due tipi di identità gestite:
- Un'identità gestita assegnata dal sistema è abilitata direttamente in un'istanza del servizio di Azure. Il ciclo di vita di un'identità assegnata dal sistema è univoco per l'istanza del servizio di Azure su cui è abilitato.
- Un'identità gestita assegnata dall'utente viene creata come risorsa di Azure autonoma. L'identità può essere assegnata a una o più istanze del servizio di Azure e viene gestita separatamente dai cicli di vita di tali istanze.
Per comprendere ulteriormente la differenza tra i tipi di identità gestita, vedere Funzionamento delle identità gestite per le risorse di Azure.
Scenari supportati per le applicazioni di Service Fabric
Le identità gestite per Service Fabric sono supportate solo nei cluster di Service Fabric distribuiti in Azure e solo per le applicazioni distribuite come risorse di Azure. Non è possibile assegnare un'identità a un'applicazione non distribuita come risorsa di Azure. Concettualmente, il supporto per le identità gestite in un cluster di Azure Service Fabric è costituito da due fasi:
Assegnare una o più identità gestite alla risorsa dell'applicazione; A un'applicazione può essere assegnata una singola identità assegnata dal sistema e/o fino a 32 identità assegnate dall'utente, rispettivamente.
All'interno della definizione dell'applicazione eseguire il mapping di una delle identità assegnate all'applicazione a qualsiasi singolo servizio che comprende l'applicazione.
L'identità assegnata dal sistema di un'applicazione è univoca per tale applicazione; un'identità assegnata dall'utente è una risorsa autonoma, che può essere assegnata a più applicazioni. All'interno di un'applicazione, è possibile assegnare una singola identità (assegnata dal sistema o assegnata dall'utente) a più servizi dell'applicazione, ma a ogni singolo servizio può essere assegnata un'unica identità. Infine, a un servizio deve essere assegnata un'identità in modo esplicito per avere accesso a questa funzionalità. In effetti, il mapping delle identità di un'applicazione ai servizi costitutivi consente l'isolamento in-application. Un servizio può usare solo l'identità mappata.
Per questa funzionalità sono supportati gli scenari seguenti:
Distribuire una nuova applicazione con uno o più servizi e una o più identità assegnate
Assegnare una o più identità gestite a un'applicazione esistente (distribuita in Azure) per accedere alle risorse di Azure
Gli scenari seguenti non sono supportati o non sono consigliati. Queste azioni potrebbero non essere bloccate, ma possono causare interruzioni nelle applicazioni:
Rimozione o modifica delle identità assegnate a un'applicazione. Se è necessario apportare modifiche, inviare distribuzioni separate per aggiungere prima una nuova assegnazione di identità e quindi rimuovere una distribuzione assegnata in precedenza. La rimozione di un'identità da un'applicazione esistente può avere effetti indesiderati, inclusa l'uscita dell'applicazione in uno stato non aggiornabile. È possibile eliminare completamente l'applicazione se è necessaria la rimozione di un'identità. L'eliminazione dell'applicazione elimina qualsiasi identità assegnata dal sistema associata all'applicazione e rimuove tutte le associazioni con eventuali identità assegnate dall'utente assegnate all'applicazione.
Service Fabric non supporta le identità gestite in AzureServiceTokenProvider deprecato. Usare invece le identità gestite in Service Fabric usando Azure Identity SDK
Passaggi successivi
- Distribuire un nuovo cluster di Azure Service Fabric con supporto delle identità gestite
- Abilitare il supporto delle identità gestite in un cluster di Azure Service Fabric esistente
- Distribuire un'applicazione di Azure Service Fabric con un'identità gestita assegnata dal sistema
- Distribuire un'applicazione di Azure Service Fabric con un'identità gestita assegnata dall'utente
- Usare l'identità gestita di un'applicazione di Service Fabric dal codice del servizio
- Concedere a un'applicazione di Azure Service Fabric l'accesso ad altre risorse di Azure
- Dichiarazione e uso dei segreti dell'applicazione come KeyVaultReferences