Autenticazione JWT di Microsoft Entra e autorizzazione di Controllo degli accessi in base al ruolo di Azure per pubblicare o sottoscrivere messaggi MQTT
È possibile autenticare i client MQTT con Microsoft Entra JWT per connettersi allo spazio dei nomi di Griglia di eventi. È possibile usare il controllo degli accessi in base al ruolo di Azure per consentire ai client MQTT, con l'identità Microsoft Entra, di pubblicare o sottoscrivere l'accesso a spazi di argomenti specifici.
Importante
- Questa funzionalità è supportata solo quando si usa la versione del protocollo MQTT v5
- L'autenticazione JWT è supportata solo per le identità gestite e le entità servizio
Prerequisiti
- È necessario uno spazio dei nomi di Griglia di eventi con MQTT abilitato. Informazioni sulla creazione di uno spazio dei nomi di Griglia di eventi
Autenticazione con Microsoft Entra JWT
È possibile usare il pacchetto MQTT v5 CONNECT per fornire il token JWT di Microsoft Entra per autenticare il client ed è possibile usare il pacchetto MQTT v5 AUTH per aggiornare il token.
Nel pacchetto CONNECT è possibile specificare i valori obbligatori nei campi seguenti:
Campo | Valore |
---|---|
Metodo di autenticazione | OAUTH2-JWT |
Dati di autenticazione | Token JWT |
Nel pacchetto AUTH è possibile specificare i valori obbligatori nei campi seguenti:
Campo | Valore |
---|---|
Metodo di autenticazione | OAUTH2-JWT |
Dati di autenticazione | Token JWT |
Codice motivo di autenticazione | 25 |
Autenticare il codice motivo con il valore 25 indica la riautenticazione.
Nota
- Destinatari: l'attestazione "aud" deve essere impostata su "https://eventgrid.azure.net/".
Autorizzazione per concedere le autorizzazioni di accesso
Un client che usa l'autenticazione JWT basata su ID Microsoft Entra deve essere autorizzata a comunicare con lo spazio dei nomi di Griglia di eventi. È possibile assegnare i due ruoli predefiniti seguenti per fornire autorizzazioni di pubblicazione o sottoscrizione ai client con identità Microsoft Entra.
- Usare il ruolo server di pubblicazione EventGrid TopicSpaces per fornire l'accesso al server di pubblicazione dei messaggi MQTT
- Usare il ruolo Sottoscrittore EventGrid TopicSpaces per fornire l'accesso al sottoscrittore di messaggi MQTT
È possibile usare questi ruoli per fornire autorizzazioni nell'ambito della sottoscrizione, del gruppo di risorse, dello spazio dei nomi di Griglia di eventi o dello spazio degli argomenti di Griglia di eventi.
Assegnazione del ruolo di autore all'identità di Microsoft Entra nell'ambito topicspace
- Nella portale di Azure passare allo spazio dei nomi di Griglia di eventi
- Passare allo spazio argomenti a cui si vuole autorizzare l'accesso.
- Passare alla pagina Controllo di accesso (IAM) dello spazio argomenti
- Selezionare la scheda Assegnazioni di ruolo per visualizzare tutte le assegnazioni di ruolo in questo ambito.
- Selezionare + Aggiungi e Aggiungi assegnazione di ruolo.
- Nella scheda Ruolo selezionare il ruolo "Event Grid TopicSpaces Publisher".
- Nella scheda Membri selezionare l'opzione Utente, gruppo o entità servizio per assegnare il ruolo selezionato a una o più entità servizio (applicazioni).
- Seleziona + Seleziona membri.
- Trovare e selezionare le entità servizio.
- Selezionare Avanti.
- Selezionare Rivedi e assegna nella scheda Rivedi e assegna.
Nota
È possibile seguire passaggi simili per assegnare il ruolo predefinito Del Sottoscrittore EventGrid TopicSpaces nell'ambito dello spazio argomenti.
Passaggi successivi
- Vedere Pubblicare e sottoscrivere un messaggio MQTT tramite Griglia di eventi
- Per altre informazioni sul funzionamento delle identità gestite, vedere Come funzionano le identità gestite per le risorse di Azure con le macchine virtuali di Azure - Microsoft Entra
- Per altre informazioni su come ottenere i token da Microsoft Entra ID, è possibile fare riferimento a come ottenere i token di Microsoft Entra
- Per altre informazioni sulla libreria client di Identità di Azure, è possibile fare riferimento all'uso della libreria client di Identità di Azure
- Per altre informazioni sull'implementazione di un'interfaccia per le credenziali che possono fornire un token, è possibile fare riferimento a TokenCredential Interface
- Per altre informazioni su come eseguire l'autenticazione con Identità di Azure, è possibile fare riferimento ad esempi
- Se si preferisce usare ruoli personalizzati, è possibile esaminare il processo per creare un ruolo personalizzato