Autenticare un'applicazione con Microsoft Entra ID per accedere a 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 è necessario archiviare le credenziali nel codice. Richiedere invece 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 e i tenant. Per i client di Kafka, la risorsa da usare per richiedere un token è https://<namespace>.servicebus.windows.net. Microsoft Entra autentica l'entità di sicurezza, ad esempio un utente, un gruppo, un'entità servizio o un'identità gestita, che esegue l'applicazione. Se l'autenticazione ha esito positivo, Microsoft Entra ID restituisce un token di accesso all'applicazione, che può quindi usare il token per autorizzare le richieste alle risorse di Hub eventi di Azure.

Quando assegni un ruolo a un security principal di Microsoft Entra, Azure concede a tale security principal l'accesso a tali risorse. Puoi definire l'ambito di accesso per la sottoscrizione, il gruppo di risorse, lo spazio dei nomi di Event Hubs o qualsiasi risorsa al suo interno. Un'entità di sicurezza di Microsoft Entra può assegnare ruoli a un utente, a un gruppo, a un principale di servizio dell'applicazione o a un'identità gestita per le risorse di Azure.

Note

Una definizione di ruolo è una raccolta di autorizzazioni. Il controllo degli accessi in base al ruolo di Azure applica queste autorizzazioni tramite l'assegnazione di ruolo. Un'assegnazione di ruolo include tre elementi: principale di sicurezza, definizione del ruolo e ambito. Per altre informazioni, vedere Informazioni sui diversi ruoli.

Prerequisiti

Ruoli predefiniti per Hub eventi di Azure

Azure fornisce questi ruoli predefiniti per autorizzare l'accesso ai dati di Hub eventi usando Microsoft Entra ID e OAuth:

Per i ruoli predefiniti del Registro schemi, vedere Ruoli del Registro di sistema dello schema.

Important

La versione di anteprima supportava l'aggiunta di privilegi di accesso ai dati di Hub eventi al ruolo Proprietario o Collaboratore. Tuttavia, questi privilegi non vengono più rispettati. Se si usa il ruolo Proprietario o Collaboratore, passare al ruolo Proprietario dati di Hub eventi di Azure.

Eseguire l'autenticazione da un'applicazione

Un vantaggio fondamentale dell'uso di Microsoft Entra ID con Hub eventi è che non è necessario archiviare le credenziali nel codice. Richiedere invece 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 un'applicazione nativa o un'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 un'applicazione con Microsoft Entra ID

Il primo passo per utilizzare Microsoft Entra ID per autorizzare le risorse degli Event Hub è registrare un'applicazione client con un tenant Microsoft Entra nel Interfaccia di amministrazione di Microsoft Entra. 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 un ID client, detto anche ID applicazione, 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.

Note

Se si registra l'applicazione come applicazione nativa, specificare qualsiasi URI valido per l'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 in cui vengono forniti i token.

Dopo aver registrato l'applicazione, viene visualizzato l'ID applicazione (client) in Impostazioni:

Screenshot della pagina di registrazione dell'app portale di Azure con l'ID applicazione evidenziato.

Creare un segreto client per l'autenticazione

L'applicazione richiede un segreto client per dimostrare la propria identità quando si richiede un token. Seguire la procedura descritta in Aggiungere un segreto client per creare un segreto client per l'app in Microsoft Entra ID.

Assegna ruoli Azure utilizzando il portale Azure

Assegnare uno dei ruoli di Hub eventi all'entità servizio dell'applicazione nell'ambito desiderato, come spazio dei nomi di Hub eventi, gruppo di risorse o sottoscrizione. Per i passaggi dettagliati, vedere Assegnare ruoli di Azure usando il portale di Azure.

Dopo aver definito il ruolo e il suo ambito, testa questo comportamento con campioni disponibili in questa posizione GitHub. Per saperne di più sulla gestione dell'accesso alle risorse Azure utilizzando il controllo degli accessi basati sui ruoli (RBAC) di Azure e il portale Azure, consulta questo articolo.

Usare le librerie client per acquisire i token

Dopo aver registrato la tua applicazione e averle concesso i permessi di inviare o ricevere dati in Hub eventi di Azure, aggiungi codice alla tua applicazione per autenticare un security principal e acquisire un token OAuth 2.0. Per autenticare e acquisire il token, usare una delle librerie di autenticazione di Microsoft Identity Platform o un'altra libreria open source che supporta OpenID 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 Libreria di Autenticazione Microsoft (MSAL) per .NET .

Samples

Vedere gli articoli correlati seguenti: