Microsoft Entra JWT-autentisering och Azure RBAC-auktorisering för att publicera eller prenumerera på MQTT-meddelanden
Du kan autentisera MQTT-klienter med Microsoft Entra JWT för att ansluta till Event Grid-namnområdet. Du kan använda rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att göra det möjligt för MQTT-klienter med Microsoft Entra-identitet att publicera eller prenumerera på åtkomst till specifika ämnesutrymmen.
Viktigt!
- Den här funktionen stöds endast när du använder MQTT v5-protokollversion
- JWT-autentisering stöds endast för hanterade identiteter och tjänstens huvudnamn
Förutsättningar
- Du behöver ett Event Grid-namnområde med MQTT aktiverat. Lär dig mer om att skapa Event Grid-namnområde
Autentisering med Microsoft Entra JWT
Du kan använda MQTT v5 CONNECT-paketet för att tillhandahålla Microsoft Entra JWT-token för att autentisera klienten, och du kan använda MQTT v5 AUTH-paketet för att uppdatera token.
I CONNECT-paket kan du ange nödvändiga värden i följande fält:
Fält | Värde |
---|---|
Autentiseringsmetod | OAUTH2-JWT |
Autentiseringsdata | JWT-token |
I AUTH-paket kan du ange nödvändiga värden i följande fält:
Fält | Värde |
---|---|
Autentiseringsmetod | OAUTH2-JWT |
Autentiseringsdata | JWT-token |
Kod för autentiseringsorsak | 25 |
Autentisera orsakskod med värdet 25 innebär omautentisering.
Kommentar
- Målgrupp: "aud"-anspråk måste anges till "https://eventgrid.azure.net/".
Auktorisering för att bevilja åtkomstbehörigheter
En klient som använder Microsoft Entra ID-baserad JWT-autentisering måste ha behörighet att kommunicera med Event Grid-namnområdet. Du kan tilldela följande två inbyggda roller för att ge antingen publicerings- eller prenumerationsbehörigheter till klienter med Microsoft Entra-identiteter.
- Använd rollen EventGrid TopicSpaces Publisher för att ge MQTT-meddelandeutgivaren åtkomst
- Använd rollen EventGrid TopicSpaces-prenumerant för att ge MQTT-meddelandeprenumerant åtkomst
Du kan använda de här rollerna för att ge behörigheter för prenumeration, resursgrupp, Event Grid-namnområde eller Event Grid-ämnesområdesomfång.
Tilldela utgivarrollen till din Microsoft Entra-identitet i ämnesområdesomfånget
- Gå till Event Grid-namnområdet i Azure-portalen
- Navigera till det ämnesområde som du vill auktorisera åtkomst till.
- Gå till sidan Åtkomstkontroll (IAM) i ämnesområdet
- Välj fliken Rolltilldelningar om du vill visa rolltilldelningarna i det här omfånget.
- Välj + Lägg till och Lägg till rolltilldelning.
- På fliken Roll väljer du rollen "Event Grid TopicSpaces Publisher".
- På fliken Medlemmar för Tilldela åtkomst till väljer du Alternativet Användare, grupp eller tjänstens huvudnamn för att tilldela den valda rollen till ett eller flera tjänsthuvudnamn (program).
- Välj + Välj medlemmar.
- Leta upp och välj tjänstens huvudnamn.
- Välj Nästa
- Välj Granska + tilldela på fliken Granska + tilldela.
Kommentar
Du kan följa liknande steg för att tilldela den inbyggda rollen EventGrid TopicSpaces-prenumerant i ämnesområdesomfånget.
Nästa steg
- Se Publicera och prenumerera på MQTT-meddelande med Event Grid
- Mer information om hur hanterade identiteter fungerar finns i Så här fungerar hanterade identiteter för Azure-resurser med virtuella Azure-datorer – Microsoft Entra
- Mer information om hur du hämtar token från Microsoft Entra-ID finns i hämta Microsoft Entra-token
- Mer information om Azure Identity-klientbiblioteket finns i använda Azure Identity-klientbiblioteket
- Mer information om hur du implementerar ett gränssnitt för autentiseringsuppgifter som kan tillhandahålla en token finns i TokenCredential Interface
- Mer information om hur du autentiserar med Hjälp av Azure Identity finns i exempel
- Om du föredrar att använda anpassade roller kan du granska processen för att skapa en anpassad roll