Uwierzytelnianie microsoft Entra JWT i autoryzacja RBAC platformy Azure do publikowania lub subskrybowania komunikatów MQTT
Możesz uwierzytelnić klientów MQTT za pomocą usługi Microsoft Entra JWT, aby nawiązać połączenie z przestrzenią nazw usługi Event Grid. Możesz użyć kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby umożliwić klientom MQTT korzystanie z tożsamości Microsoft Entra w celu publikowania lub subskrybowania dostępu do określonych obszarów tematów.
Ważne
- Ta funkcja jest obsługiwana tylko w przypadku korzystania z wersji protokołu MQTT v5
- Uwierzytelnianie JWT jest obsługiwane tylko w przypadku tożsamości zarządzanych i jednostek usługi
Wymagania wstępne
- Potrzebna jest przestrzeń nazw usługi Event Grid z włączonym MQTT. Dowiedz się więcej o tworzeniu przestrzeni nazw usługi Event Grid
Uwierzytelnianie przy użyciu usługi Microsoft Entra JWT
Możesz użyć pakietu MQTT v5 CONNECT, aby udostępnić token Microsoft Entra JWT do uwierzytelniania klienta, a pakiet UWIERZYTELNIANIA MQTT v5 można odświeżyć token.
W pakiecie CONNECT można podać wymagane wartości w następujących polach:
Pole | Wartość |
---|---|
Metoda uwierzytelniania | OAUTH2-JWT |
Dane uwierzytelniania | Token JWT |
W pakiecie AUTH można podać wymagane wartości w następujących polach:
Pole | Wartość |
---|---|
Metoda uwierzytelniania | OAUTH2-JWT |
Dane uwierzytelniania | Token JWT |
Kod przyczyny uwierzytelniania | 25 |
Uwierzytelnij kod przyczyny z wartością 25 oznacza ponowne uwierzytelnienie.
Uwaga
- Odbiorcy: oświadczenie "aud" musi być ustawione na "https://eventgrid.azure.net/".
Autoryzacja w celu udzielenia uprawnień dostępu
Klient korzystający z uwierzytelniania JWT opartego na identyfikatorze Entra firmy Microsoft musi być autoryzowany do komunikowania się z przestrzenią nazw usługi Event Grid. Do klientów z tożsamościami firmy Microsoft Entra można przypisać następujące dwie wbudowane role w celu zapewnienia uprawnień do publikowania lub subskrybowania.
- Użyj roli Wydawca EventGrid TopicSpaces, aby zapewnić dostęp wydawcy komunikatów MQTT
- Użyj roli subskrybenta EventGrid TopicSpaces, aby zapewnić dostęp subskrybenta komunikatów MQTT
Te role umożliwiają udostępnianie uprawnień w zakresie subskrypcji, grupy zasobów, przestrzeni nazw usługi Event Grid lub przestrzeni tematów usługi Event Grid.
Przypisywanie roli wydawcy do tożsamości firmy Microsoft Entra w zakresie przestrzeni tematów
- W witrynie Azure Portal przejdź do przestrzeni nazw usługi Event Grid
- Przejdź do przestrzeni tematów, do której chcesz autoryzować dostęp.
- Przejdź do strony Kontrola dostępu (Zarządzanie dostępem i tożsamościami) w przestrzeni tematu
- Wybierz kartę Przypisania ról, aby wyświetlić przypisania ról w tym zakresie.
- Wybierz pozycję + Dodaj i Dodaj przypisanie roli.
- Na karcie Rola wybierz rolę "Event Grid TopicSpaces Publisher".
- Na karcie Członkowie w obszarze Przypisz dostęp do wybierz opcję Użytkownik, grupa lub jednostka usługi, aby przypisać wybraną rolę do co najmniej jednej jednostki usługi (aplikacji).
- Wybierz pozycję + Wybierz członków.
- Znajdź i wybierz jednostki usługi.
- Wybierz Dalej
- Wybierz pozycję Przejrzyj i przypisz na karcie Przeglądanie i przypisywanie.
Uwaga
Możesz wykonać podobne kroki, aby przypisać wbudowaną rolę subskrybenta EventGrid TopicSpaces w zakresie przestrzeni tematów.
Następne kroki
- Zobacz Publikowanie i subskrybowanie komunikatu MQTT przy użyciu usługi Event Grid
- Aby dowiedzieć się więcej o sposobie działania tożsamości zarządzanych, zobacz Jak tożsamości zarządzane dla zasobów platformy Azure działają z maszynami wirtualnymi platformy Azure — Microsoft Entra
- Aby dowiedzieć się więcej na temat uzyskiwania tokenów z identyfikatora Entra firmy Microsoft, możesz zapoznać się z uzyskiwaniem tokenów firmy Microsoft Entra
- Aby dowiedzieć się więcej na temat biblioteki klienta tożsamości platformy Azure, zapoznaj się z tematem Korzystanie z biblioteki klienta usługi Azure Identity
- Aby dowiedzieć się więcej na temat implementowania interfejsu dla poświadczeń, które mogą zapewnić token, możesz zapoznać się z tematem TokenCredential Interface (Interfejs tokenu)
- Aby dowiedzieć się więcej o sposobie uwierzytelniania przy użyciu usługi Azure Identity, możesz zapoznać się z przykładami
- Jeśli wolisz używać ról niestandardowych, możesz przejrzeć proces tworzenia roli niestandardowej