Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Mit Zugriffssteuerung können Sie die Autorisierung von Clients zum Veröffentlichen oder Abonnieren von Themen mithilfe eines rollenbasierten Zugriffssteuerungsmodells verwalten. Angesichts des enormen Umfangs von IoT-Umgebungen ist das Zuweisen von Berechtigungen für jeden Client zu jedem Thema unglaublich mühselig. Das MQTT Vermittler-Feature von Azure Event Grid löst diese Skalierungsaufgabe, indem Clients und Themen in Clientgruppen und Themenbereiche gruppiert werden.
Die wichtigsten Komponenten des Zugriffssteuerungsmodells sind:
Ein Client stellt das Gerät oder die Anwendung dar, das bzw. die MQTT-Themen veröffentlichen und/oder abonnieren muss.
Eine Clientgruppe besteht aus einer Gruppe von Clients, die denselben Zugriff benötigen, um denselben Satz von MQTT-Themen zu veröffentlichen und/oder zu abonnieren. Die Clientgruppe stellt den Prinzipal im RBAC-Modell dar.
Ein Themenbereich stellt mehrere Themen über eine Reihe von Themenvorlagen dar. Themenvorlagen sind eine Erweiterung von MQTT-Filtern, die Variablen zusammen mit MQTT-Platzhaltern unterstützen. Jeder Themenbereich stellt die Themen dar, die dieselbe Gruppe von Clients für die Kommunikation verwenden muss. Der Themenbereich stellt die Ressource im RBAC-Modell dar.
Eine Berechtigungsbindung gewährt Zugriff auf eine bestimmte Clientgruppe, um die Themen zu veröffentlichen oder zu abonnieren, die durch einen bestimmten Themenbereich dargestellt werden. Die Berechtigungsbindung stellt die Rolle im RBAC-Modell dar.
In den folgenden Beispielen wird beschrieben, wie Sie das Zugriffssteuerungsmodell basierend auf den folgenden Anforderungen konfigurieren.
Eine Fabrik verfügt über mehrere Bereiche, wobei jeder Bereich Computer enthält, die miteinander kommunizieren müssen. Computer aus anderen Bereichen der Fabrik dürfen jedoch nicht mit diesen kommunizieren.
Client | Rolle | Thema/Themenfilter |
---|---|---|
Area1_Machine1 | Publisher | areas/area1/machines/machine1 |
Area1_Machine2 | Subscriber | areas/area1/machines/# |
Area2_Machine1 | Publisher | areas/area2/machines/machine1 |
Area2_Machine2 | Subscriber | areas/area2/machines/# |
Client | Clientgruppe | Berechtigungsbindung | Themenbereich |
---|---|---|---|
Area1_Machine1 | Area1Machines | Area1-Pub | Area1Messages, Themenvorlage: areas/area1/machines/ # |
Area1_Machine2 | Area1Machines | Area1-Sub | Area1Messages, Themenvorlage: areas/area1/machines/ # |
Area2_Machine1 | Area2Machines | Area2-Pub | Area2Messages, Themenvorlage: areas/area2/machines/ # |
Area2_Machine2 | Area2Machines | Area2-Sub | Area2Messages, Themenvorlage: areas/area2/machines/ # |
Nehmen wir eine zusätzliche Anforderung für das Beispiel oben an: Jeder Bereich verfügt über Verwaltungsclients zusammen mit den Computern, und die Computer dürfen in dem Fall keinen Zugriff für Veröffentlichungen besitzen, dass einer von ihnen kompromittiert wird. Andererseits benötigen die Verwaltungsclients Veröffentlichungszugriff, um Befehle an die Computer zu senden und Zugriff zu abonnieren, um Telemetriedaten von den Computern zu empfangen.
Client | Rolle | Thema/Themenfilter |
---|---|---|
Area1_Machine1 | Publisher | areas/area1/machines/machine1 |
Subscriber | areas/area1/mgmt/ # | |
Area1_Mgmt1 | Publisher | areas/area1/mgmt/machine1 |
Subscriber | areas/area1/machines/# | |
Area2_Machine1 | Publisher | areas/area2/machines/machine1 |
Subscriber | areas/area2/mgmt/# | |
Area2_ Mgmt1 | Publisher | areas/area2/mgmt/machine1 |
Subscriber | areas/area2/machines/# |
Client | Clientgruppe | Berechtigungsbindung | Thema/Themenfilter |
---|---|---|---|
Area1_Machine1 | Area1Machines | Area1Machines-Pub | Area1Telemetry, Themenvorlage: areas/area1/machines/# |
Area1Machines-Sub | Area1Commands, Themenvorlage: areas/area1/mgmt/# | ||
Area1_MgmtClient1 | Area1Mgmt | Area1Mgmt-Pub | Area1Commands, Themenvorlage: areas/area1/mgmt/# |
Area1Mgmt-Sub | Area1Telemetry, Themenvorlage: areas/area1/machines/# | ||
Area2_Machine1 | Area2Machines | Area2Machines-Pub | Area2Telemetry, Themenvorlage: areas/area2/machines/# |
Area2Machines-Sub | Area2Commands, Themenvorlage: areas/area2/mgmt/# | ||
Area2_ MgmtClient1 | Area2Mgmt | Area2Mgmt-Pub | Area2Commands, Themenvorlage: areas/area2/mgmt/# |
Area2Mgmt-Sub | Area2Telemetry, Themenvorlage: areas/area2/machines/# |
Durch präzise Zugriffssteuerung können Sie die Autorisierung jedes Clients innerhalb einer Clientgruppe steuern, um ein eigenes Thema zu veröffentlichen oder zu abonnieren. Diese differenzierte Zugriffssteuerung wird durch die Verwendung von Variablen in Themenvorlagen erreicht.
Auch wenn eine Clientgruppe Zugriff auf einen bestimmten Themenbereich mit all seinen Themenvorlagen besitzen kann, können Sie mithilfe von Variablen innerhalb der Themenvorlagen die Berechtigung jedes Clients innerhalb dieser Clientgruppe steuern, sein eigenes Thema zu veröffentlichen oder zu abonnieren. Wenn die Clientgruppe „machines“ beispielsweise zwei Clients enthält: „machine1“ und „machine2“. Mithilfe von Variablen können Sie nur machine1 erlauben, die Telemetriedaten nur für das MQTT-Thema „machines/machine1/telemetry“ zu veröffentlichen und „machine2“ erlauben, Nachrichten im MQTT-Thema „machines/machine2/telemetry“ zu veröffentlichen.
Die Variablen stellen entweder Clientauthentifizierungsnamen oder Clientattribute dar. Während der Kommunikation mit MQTT Vermittler ersetzte jeder Client die Variable im MQTT-Thema durch einen ersetzten Wert. Beispielsweise wird die Variable „${client.authenticationName}“ durch den Authentifizierungsnamen der einzelnen Clients ersetzt: machine1, machine2 usw. MQTT Vermittler lässt den Zugriff nur auf die Clients zu, die einen ersetzten Wert aufweisen, der entweder ihrem Authentifizierungsnamen oder dem Wert des angegebenen Attributs entspricht.
Sehen Sie sich beispielsweise die folgende Konfiguration an:
Bei dieser Konfiguration kann nur der Client mit dem Clientauthentifizierungsnamen „machine1“ im Thema „machines/machine1/telemetry“ veröffentlichen, und nur der Computer mit dem Clientauthentifizierungsnamen „machine 2“ kann im Thema „machines/machine2/telemetry“ veröffentlichen usw. Dementsprechend kann machine2 keine falschen Informationen im Auftrag von machine1 veröffentlichen, obwohl er Zugriff auf denselben Themenbereich besitzt (und umgekehrt).
Weitere Informationen zur Autorisierung und Authentifizierung:
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Erfahren Sie, wie Sie mit der rollenbasierten Zugriffssteuerung von Azure den Zugriff Ihres Teams auf Azure-Ressourcen effektiv verwalten.
Zertifizierung
Microsoft Certified: Identity and Access Administrator Associate - Certifications
Veranschaulichen der Features von Microsoft Entra ID, um Identitätslösungen zu modernisieren sowie Hybridlösungen und Identitätsgovernance zu implementieren