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
- Navigieren Sie im Azure-Portal zu Ihrem Event Grid-Namespace.
- Navigieren Sie zu dem Themenbereich, für den Sie den Zugriff autorisieren möchten.
- Wechseln Sie zur Seite „Zugriffssteuerung (IAM)“ des Themenbereichs
- Wählen Sie die Registerkarte Rollenzuweisungen aus, um die Rollenzuweisungen für diesen Bereich anzuzeigen.
- Wählen Sie + Hinzufügen und dann „Rollenzuweisung hinzufügen“ aus.
- Wählen Sie auf der Registerkarte "Rolle" die Rolle "Event Grid TopicSpaces Publisher" aus.
- 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.
- Wählen Sie + Mitglieder auswählen aus.
- Suchen Sie die Dienstprinzipale und wählen Sie sie aus.
- Klicken Sie auf Weiter.
- 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
- Weitere Informationen finden Sie unter Veröffentlichen und Abonnieren von MQTT-Nachrichten mithilfe von Event Grid.
- Weitere Informationen zur Funktionsweise verwalteter Identitäten finden Sie unter Verwendung verwalteter Identitäten für Azure-Ressourcen zusammen mit virtuellen Azure-Computern.
- Weitere Informationen zum Abrufen von Token aus Microsoft Entra ID finden Sie unter Abrufen von Microsoft Entra-Token.
- Weitere Informationen zur Azure-Identitätsclientbibliothek finden Sie unter Abrufen eines Tokens mithilfe der Azure-Identitätsclientbibliothek.
- Weitere Informationen zum Implementieren einer Schnittstelle für Anmeldeinformationen, die ein Token bereitstellen können, finden Sie im Artikel zur TokenCredential-Schnittstelle
- Weitere Informationen zur Authentifizierung mithilfe einer Azure-Identität finden Sie in den Beispielen.
- Wenn Sie benutzerdefinierte Rollen verwenden möchten, können Sie den Prozess überprüfen, um eine benutzerdefinierte Rolle zu erstellen