Autenticare un'applicazione con Microsoft Entra ID per accedere alle risorse di Hub eventi
Microsoft Azure offre la gestione integrata del controllo di accesso per le risorse e le applicazioni basata su Microsoft Entra ID. Un vantaggio fondamentale dell'uso di Microsoft Entra ID con Hub eventi di Azure è che non è più necessario archiviare le credenziali nel codice. È invece possibile richiedere un token di accesso OAuth 2.0 da Microsoft Identity Platform. Il nome della risorsa per richiedere un token è https://eventhubs.azure.net/
ed è lo stesso per tutti i cloud/tenant (per i client Kafka, la risorsa per richiedere un token è https://<namespace>.servicebus.windows.net
). Microsoft Entra autentica l'entità di sicurezza (un utente, un gruppo, un'entità servizio o un'identità gestita) che esegue l'applicazione. Se l'autenticazione riesce, Microsoft Entra ID restituisce un token di accesso all'applicazione e questa può quindi usare il token di accesso per autorizzare le richieste a Hub eventi di Azure.
Quando un ruolo viene assegnato a un'entità di sicurezza Microsoft Entra, Azure concede l'accesso a tali risorse per tale entità di sicurezza. L'accesso può essere limitato al livello di sottoscrizione, al gruppo di risorse, allo spazio dei nomi di Hub eventi o a qualsiasi risorsa al suo interno. Un'entità di sicurezza di Microsoft Entra può assegnare ruoli a un utente, un gruppo, un'entità servizio dell'applicazione o un'identità gestita per le risorse di Azure.
Nota
Una definizione di ruolo è una raccolta di autorizzazioni, Il controllo degli accessi in base al ruolo di Azure controlla il modo in cui queste autorizzazioni vengono applicate tramite l'assegnazione di ruolo. Un'assegnazione di ruolo è costituita da tre elementi: entità di sicurezza, definizione del ruolo e ambito. Per altre informazioni, vedere Informazioni sui diversi ruoli.
Ruoli predefiniti per Hub eventi di Azure
Azure prevede i seguenti ruoli predefiniti per l'autorizzazione dell'accesso ai dati di Hub eventi tramite Microsoft Entra ID e OAuth:
- Proprietario dati di Hub eventi di Azure: usare questo ruolo per concedere l'accesso completo alle risorse di Hub eventi.
- Mittente dati di Hub eventi di Azure: un'entità di sicurezza assegnata a questo ruolo può inviare eventi a un hub eventi specifico o a tutti gli hub eventi in uno spazio dei nomi.
- Destinatario dati di Hub eventi di Azure: un'entità di sicurezza assegnata a questo ruolo può ricevere eventi da un hub eventi specifico o da tutti gli hub eventi in uno spazio dei nomi.
Per i ruoli predefiniti del Registro schemi, vedere Ruoli del Registro schemi.
Importante
La versione di anteprima supporta l'aggiunta dei privilegi di accesso ai dati di Hub eventi al ruolo Proprietario o Collaboratore. Tuttavia, i privilegi di accesso ai dati per il ruolo Proprietario e Collaboratore non vengono più rispettati. Se si usa il ruolo Proprietario o Collaboratore, passare all'uso del ruolo Proprietario dati di Hub eventi di Azure.
Eseguire l'autenticazione da un'applicazione
Uno dei vantaggi principali dell'utilizzo di Microsoft Entra ID con Hub eventi è che le credenziali non devono più essere archiviate nel codice. È invece possibile richiedere un token di accesso OAuth 2.0 da Microsoft Identity Platform. Microsoft Entra esegue l'autenticazione dell'entità di sicurezza (un utente, un gruppo o un'entità servizio) che esegue l'applicazione. Se l'autenticazione va a buon fine, Microsoft Entra ID restituisce il token di accesso all'applicazione, che può usarlo per autorizzare le richieste a Hub eventi di Azure.
Le sezioni seguenti illustrano come configurare l'applicazione nativa o l'applicazione Web per l'autenticazione con Microsoft Identity Platform 2.0. Per altre informazioni su Microsoft Identity Platform 2.0, vedere Panoramica di Microsoft Identity Platform (v2.0).
Per una panoramica del flusso di concessione del codice di OAuth 2.0, vedere Autorizzare l'accesso ad applicazioni Web di Microsoft Entra mediante il flusso di concessione di OAuth 2.0.
Registrare l'applicazione con un tenant di Microsoft Entra
Il primo passaggio nell'uso di Microsoft Entra ID per autorizzare le risorse di Hub eventi consiste nel registrare l'applicazione client con un tenant di Microsoft Entra dal portale di Azure. Seguire la procedura descritta in Avvio rapido: Registrare un'applicazione con Microsoft Identity Platform per registrare un'applicazione in Microsoft Entra ID che rappresenta l'applicazione che tenta di accedere alle risorse di Hub eventi.
Quando si registra l'applicazione client, si forniscono informazioni sull'applicazione. Microsoft Entra ID fornisce quindi un ID client (detto anche ID applicazione) che si può usare per associare l'applicazione al runtime di Microsoft Entra. Per altre informazioni sull'ID client, vedere Oggetti applicazione e oggetti entità servizio in Microsoft Entra ID.
Nota
Se si registra l'applicazione come applicazione nativa, è possibile specificare qualsiasi URI valido come URI di reindirizzamento. Per le applicazioni native, questo valore non deve essere un URL reale. Per le applicazioni Web, l'URI di reindirizzamento deve essere un URI valido, perché specifica l'URL a cui vengono forniti i token.
Dopo aver registrato l'applicazione, viene visualizzato l'ID applicazione (client) in Impostazioni:
Creare un segreto client
L'applicazione deve avere un segreto client per dimostrare la propria identità quando richiede un token. Seguire la procedura descritta in Aggiungere un segreto client per creare un segreto client per l'app in Microsoft Entra ID.
Assegnare ruoli di Azure usando il portale di Azure
Assegnare uno dei ruoli di Hub eventi all'entità servizio dell'applicazione nell'ambito desiderato (spazio dei nomi di Hub eventi, gruppo di risorse, sottoscrizione). Per la procedura dettagliata, vedere Assegnare ruoli di Azure usando il portale di Azure.
Dopo aver definito il ruolo e il relativo ambito, è possibile testare questo comportamento con esempi in questa posizione di GitHub. Per altre informazioni sulla gestione dell'accesso alle risorse di Azure tramite il controllo degli accessi in base al ruolo di Azure e il portale di Azure, vedere questo articolo.
Librerie client per l'acquisizione di token
Dopo aver registrato l'applicazione e concesso le autorizzazioni per inviare/ricevere dati in Hub eventi di Azure, è possibile aggiungere codice all'applicazione per autenticare un'entità di sicurezza e acquisire il token OAuth 2.0. Per autenticare e acquisire il token, è possibile usare una delle librerie di autenticazione di Microsoft Identity Platform o un'altra libreria open source che supporta OpenID o Connect 1.0. L'applicazione può quindi usare il token di accesso per autorizzare una richiesta in Hub eventi di Azure.
Per gli scenari in cui è supportata l'acquisizione dei token, vedere la sezione Scenari del repository GitHub Microsoft Authentication Library (MSAL) per .NET .
Esempi
- Esempi di controllo degli accessi in base al ruolo usando il pacchetto legacy .NET Microsoft.Azure.EventHubs. Si sta lavorando alla creazione di una nuova versione di questo esempio usando il pacchetto Azure.Messaging.EventHubs più recente. Vedere l'identità gestita già convertita.
- Esempio di controllo degli accessi in base al ruolo usando il pacchetto legacy Java com.microsoft.azure.eventhubs. È possibile usare la guida alla migrazione per eseguire la migrazione di questo esempio per usare il nuovo pacchetto (
com.azure.messaging.eventhubs
). Per altre informazioni sull'uso del nuovo pacchetto in generale, vedere gli esempi qui.
Contenuto correlato
- Per ulteriori informazioni sul controllo degli accessi in base al ruolo di Azure, vedere Che cos'è il controllo degli accessi in base al ruolo di Azure?
- Per informazioni su come assegnare e gestire le assegnazioni di ruolo di Azure con Azure PowerShell, l'interfaccia della riga di comando di Azure o l'API REST, vedere gli articoli seguenti:
- Aggiungere o rimuovere assegnazioni di ruolo di Azure con Azure PowerShell
- Aggiungere o rimuovere assegnazioni di ruolo di Azure tramite l'interfaccia della riga di comando di Azure
- Aggiungere o rimuovere assegnazioni di ruolo di Azure tramite l'API REST
- Aggiungere assegnazioni di ruolo di Azure tramite modelli di Azure Resource Manager
Vedere gli articoli correlati seguenti:
- Eseguire l'autenticazione di un'identità gestita con Microsoft Entra ID per accedere alle risorse di Hub eventi
- Eseguire l'autenticazione delle richieste di Hub eventi tramite firme di accesso condiviso
- Autorizzare l'accesso alle risorse di Hub eventi usando Microsoft Entra ID
- Autorizzare l'accesso alle risorse di Hub eventi tramite firme di accesso condiviso