Microsoft Entra JWT-Authentifizierung und Azure RBAC-Autorisierung für das Veröffentlichen oder Abonnieren von MQTT-Nachrichten

Sie können MQTT-Clients mit Microsoft Entra JWT authentifizieren, um eine Verbindung mit einem Event Grid-Namespace herzustellen. Sie können die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC) verwenden, um MQTT-Clients mit Microsoft Entra-Identität das Veröffentlichen oder Abonnieren des Zugriffs auf bestimmte Themenbereiche zu ermöglichen.

Wichtig

  • Dieses Feature wird nur bei Verwendung der MQTT v5-Protokollversion unterstützt
  • JWT-Authentifizierung wird nur für Managed Identities und Dienstprinzipale unterstützt

Voraussetzungen

  • Sie benötigen einen Event Grid-Namespace mit MQTT-Aktivierung. Hier erfahren Sie mehr über das Erstellen eines Event Grid-Namespace.

Authentifizierung mit Microsoft Entra JWT

Sie können das MQTT v5 CONNECT-Paket verwenden, um das Microsoft Entra JWT-Token zur Authentifizierung Ihres Clients bereitzustellen, und Sie können das MQTT v5 AUTH-Paket verwenden, um das Token zu aktualisieren.

Im CONNECT-Paket können Sie die erforderlichen Werte in den folgenden Feldern angeben:

Feld Wert
Authentifizierungsmethode OAUTH2-JWT
Authentifizierungsdaten JWT-Token

Im AUTH-Paket können Sie die erforderlichen Werte in den folgenden Feldern angeben:

Feld Wert
Authentifizierungsmethode OAUTH2-JWT
Authentifizierungsdaten JWT-Token
Ursachencode für die Authentifizierung 25

Der Authentifizierungsursachencode mit dem Wert 25 bedeutet eine erneute Authentifizierung.

Hinweis

  • Zielgruppe: Der Anspruch „aud“ muss auf „https://eventgrid.azure.net/"“ festgelegt werden.

Autorisierung zum Erteilen von Zugriffsberechtigungen

Ein Client, der die Microsoft Entra ID-basierte JWT-Authentifizierung verwendet, muss für die Kommunikation mit dem Event Grid-Namespace autorisiert werden. Sie können den Clients mit Microsoft Entra-Identitäten die folgenden zwei integrierten Rollen zuweisen, um entweder Veröffentlichungs- oder Abonnementberechtigungen bereitzustellen.

  • Verwenden der Rolle EventGrid TopicSpaces Publisher zum Bereitstellen des Zugriffs auf MQTT-Herausgeber
  • Verwenden der Rolle EventGrid TopicSpaces Subscriber zum Bereitstellen des MQTT-Abonnentenzugriffs

Sie können diese Rollen verwenden, um Berechtigungen für Abonnement, Ressourcengruppe, Event Grid-Namespace oder Event Grid-Themenbereich bereitzustellen.

Zuweisen der Herausgeberrolle zu Ihrer Microsoft Entra-Identität im Themenbereich

  1. Navigieren Sie im Azure-Portal zu Ihrem Event Grid-Namespace.
  2. Navigieren Sie zu dem Themenbereich, für den Sie den Zugriff autorisieren möchten.
  3. Wechseln Sie zur Seite „Zugriffssteuerung (IAM)“ des Themenbereichs
  4. Wählen Sie die Registerkarte Rollenzuweisungen aus, um die Rollenzuweisungen für diesen Bereich anzuzeigen.
  5. Wählen Sie + Hinzufügen und dann „Rollenzuweisung hinzufügen“ aus.
  6. Wählen Sie auf der Registerkarte "Rolle" die Rolle "Event Grid TopicSpaces Publisher" aus.
  7. Wählen Sie auf der Registerkarte „Mitglieder“ für Zugriff zuweisen die Option „Benutzer, Gruppe oder Dienstprinzipal“ aus, um die ausgewählte Rolle mindestens einem Dienstprinzipal (Anwendung) zuzuweisen.
  8. Wählen Sie + Mitglieder auswählen aus.
  9. Suchen Sie die Dienstprinzipale und wählen Sie sie aus.
  10. Klicken Sie auf Weiter.
  11. Wählen Sie auf der Registerkarte Überprüfen + zuweisen die Registerkarte „Überprüfen + zuweisen“ aus.

Hinweis

Sie können ähnliche Schritte ausführen, um die integrierte Rolle „EventGrid TopicSpaces Subscriber“ im Bereich Themenbereich zuzuweisen.

Nächste Schritte