Autenticare un'applicazione con Microsoft Entra ID per accedere alle risorse di Hub eventi
Microsoft Azure offre una gestione integrata del controllo di accesso per le risorse e le applicazioni in base all'ID Microsoft Entra. 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 o un'entità servizio) che esegue l'applicazione. Se l'autenticazione ha esito positivo, Microsoft Entra ID restituisce un token di accesso all'applicazione e l'applicazione può quindi usare il token di accesso per autorizzare la richiesta di Hub eventi di Azure risorse.
Quando un ruolo viene assegnato a un'entità di sicurezza Di 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. Una sicurezza di Microsoft Entra può assegnare ruoli a un utente, a un gruppo, a un'entità servizio dell'applicazione o a 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:
- Hub eventi di Azure Proprietario dati: usare questo ruolo per concedere l'accesso completo alle risorse di Hub eventi.
- Hub eventi di Azure Mittente dati: usare questo ruolo per concedere l'accesso alle risorse di Hub eventi.
- Hub eventi di Azure Ricevitore dati: usare questo ruolo per concedere la ricezione dell'accesso alle risorse di Hub eventi.
Per i ruoli predefiniti del Registro schemi, vedere Ruoli del Registro di sistema dello schema.
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 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 OAuth 2.0, vedere Autorizzare l'accesso alle applicazioni Web Microsoft Entra usando il flusso di concessione del codice 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 nella guida introduttiva: 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 ad AD. Microsoft Entra ID fornisce quindi un ID client (detto anche ID applicazione) che è possibile usare per associare l'applicazione al runtime di Microsoft Entra. Per altre informazioni sull'ID client, vedere Oggetti applicazione e 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, verrà 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 con il controllo degli accessi in base al ruolo di Azure e sull'portale di Azure, vedere questo articolo.
Librerie client per l'acquisizione di token
Dopo aver registrato l'applicazione e aver 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 Connessione 1.0. L'applicazione può quindi usare il token di accesso per autorizzare una richiesta a Hub eventi di Azure.
Per gli scenari in cui è supportato 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 che usano 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 Java com.microsoft.azure.eventhubs legacy. È 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.
Passaggi successivi
- Per altre 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 usando i modelli di Azure Resource Manager
Vedere gli articoli correlati seguenti:
- Autenticare un'identità gestita con Microsoft Entra ID per accedere alle risorse di Hub eventi
- Autenticare le richieste di Hub eventi di Azure usando firme di accesso condiviso
- Autorizzare l'accesso alle risorse di Hub eventi usando Microsoft Entra ID
- Autorizzare l'accesso alle risorse di Hub eventi usando firme di accesso condiviso