Rollenbasierte Zugriffssteuerung in Azure Digital Twins
Wichtig
Eine neue Version des Azure Digital Twins-Diensts wurde veröffentlicht. Angesichts der erweiterten Funktionen des neuen Diensts wurde der ursprüngliche Azure Digital Twins-Dienst (in diesem Dokumentationssatz beschrieben) eingestellt.
Um die Dokumentation für den neuen Dienst anzuzeigen, besuchen Sie die aktive Azure Digital Twins-Dokumentation.
Azure Digital Twins ermöglicht präzise Zugriffssteuerung für bestimmte Daten, Ressourcen und Aktionen in Ihrem Raumgraphen. Dies erfolgt durch die detaillierte Rollen- und Berechtigungsverwaltung als rollenbasierte Zugriffssteuerung (RBAC). RBAC besteht aus Rollen und Rollenzuweisungen. Rollen bestimmen die Berechtigungsebene. Rollenzuweisungen ordnen einem Benutzer oder Gerät eine Rolle zu.
Mit RBAC können Berechtigungen zugewiesen werden für:
- Einen Benutzer
- Ein Gerät
- Ein Dienstprinzipal
- Eine benutzerdefinierte Funktion
- Alle Benutzer, die einer Domäne angehören.
- Einen Mandanten
Der Grad des Zugriffs kann darüber hinaus angepasst werden.
RBAC ist besonders, weil Berechtigungen im Raumgraphen von oben nach vererbt werden.
Welche Möglichkeiten bietet die RBAC?
Ein Entwickler kann RBAC für folgende Aufgaben verwenden:
- Einem Benutzer die Berechtigung gewähren, Geräte für ein ganzes Gebäude oder nur für einen bestimmten Raum oder eine bestimmte Etage zu verwalten
- Einem Administrator globalen Zugriff auf alle Raumgraphknoten für einen gesamten Graphen oder nur für einen Abschnitt des Graphen gewähren
- Einem Supportspezialisten Lesezugriff auf den Graphen gewähren, wobei Zugriffsschlüssel ausgenommen sind
- Jedem Mitglied einer Domäne Lesezugriff auf alle Graphobjekte gewähren
Best Practices für RBAC
Rollenbasierte Zugriffssteuerung ist eine vererbungsbasierte Sicherheitsstrategie zum Verwalten von Zugriffen, Berechtigungen und Rollen. Untergeordnete Rollen erben Berechtigungen von übergeordneten Rollen. Berechtigungen können auch zugewiesen werden, ohne dass sie von einer übergeordneten Rolle geerbt wurden. Sie können auch zugewiesen werden, um eine Rolle nach Bedarf anzupassen.
Beispielsweise benötigt ein Bereichsadministrator möglicherweise globalen Zugriff zum Ausführen aller Vorgänge für einen angegebenen Bereich. Der Zugriff schließt alle Knoten unterhalb oder innerhalb des Bereichs ein. Ein Geräte-Installationsprogramm benötigt möglicherweise nur Berechtigungen zum Lesen und Aktualisieren für Geräte und Sensoren.
In jedem Fall werden Rollen genau die Zugriffsberechtigungen erteilt, die sie zum Erfüllen ihrer Aufgaben benötigen und die dem Prinzip der geringsten Rechte entsprechen. Nach diesem Prinzip gilt für eine Identität nur Folgendes:
- Der Umfang an Zugriff, den sie zum Ausführen ihrer Aufgabe benötigt.
- Eine Rolle, die für das Ausführen ihrer Aufgabe geeignet und darauf beschränkt ist.
Wichtig
Befolgen Sie immer das Prinzip der geringsten Rechte.
Zwei weitere wichtige Aspekte einer rollenbasierten Zugriffssteuerung, die zu beachten sind:
- Überprüfen Sie in regelmäßigen Abständen Rollenzuweisungen, um sicherzustellen, dass jede Rolle die richtigen Berechtigungen hat.
- Bereinigen Sie Rollen und Zuweisungen, sobald Rollen oder Zuweisungen von Personen geändert wurden.
Rollen
Rollendefinitionen
Eine Rollendefinition ist eine Sammlung von Berechtigungen und anderen Attributen, die sich zu einer Rolle zusammensetzen. Eine Rollendefinition enthält die zulässigen Vorgänge, wozu ERSTELLEN, LESEN, AKTUALISIEREN und LÖSCHEN gehören, die von jedem Objekt mit dieser Rolle ausgeführt werden können. Darin ist auch angegeben, für welche Objekttypen diese Berechtigungen gelten.
Die folgende Tabelle beschreibt die in Azure Digital Twins verfügbaren Rollen:
Rolle | Beschreibung | Bezeichner |
---|---|---|
Space Administrator | ERSTELLEN-, LESEN-, AKTUALISIEREN- und LÖSCHEN-Berechtigung für den angegebenen Raum und alle Knoten darunter. Globale Berechtigung. | 98e44ad7-28d4-4007-853b-b9968ad132d1 |
Benutzeradministrator | ERSTELLEN-, LESEN-, AKTUALISIEREN- und LÖSCHEN-Berechtigung für Benutzer und benutzerbezogene Objekte. LESEN-Berechtigung für Räume. | dfaac54c-f583-4dd2-b45d-8d4bbc0aa1ac |
Device Administrator | ERSTELLEN-, LESEN-, AKTUALISIEREN- und LÖSCHEN-Berechtigung für Geräte und gerätebezogene Objekte. LESEN-Berechtigung für Räume. | 3cdfde07-bc16-40d9-bed3-66d49a8f52ae |
Key Administrator | ERSTELLEN, LESEN, AKTUALISIEREN und LÖSCHEN-Berechtigung für Zugriffsschlüssel. LESEN-Berechtigung für Räume. | 5a0b1afc-e118-4068-969f-b50efb8e5da6 |
Token Administrator | ERSTELLEN- und AKTUALISIEREN-Berechtigung für Zugriffsschlüssel. LESEN-Berechtigung für Räume. | 38a3bb21-5424-43b4-b0bf-78ee228840c3 |
Benutzer | LESEN-Berechtigung für Räume, Sensoren und Benutzer, einschließlich der dazugehörigen Objekte. | b1ffdb77-c635-4e7e-ad25-948237d85b30 |
Support Specialist | LESEN-Berechtigung für alle Objekte außer Zugriffsschlüsseln. | 6e46958b-dc62-4e7c-990c-c3da2e030969 |
Device Installer | LESEN- und AKTUALISIEREN-Berechtigung für Geräte und Sensoren, einschließlich der dazugehörigen Objekte. LESEN-Berechtigung für Räume. | b16dd9fe-4efe-467b-8c8c-720e2ff8817c |
Gatewaygerät | ERSTELLEN-Berechtigung für Sensoren. READ-Berechtigung für Geräte und Sensoren, die ihre entsprechenden verwandten Objekte enthalten. | d4c69766-e9bd-4e61-bfc1-d8b6e686c7a8 |
Hinweis
Um die vollständigen Definitionen für die vorherigen Rollen abzurufen, fragen Sie die System-/Rollen-API ab. Weitere Informationen finden Sie unter Erstellen und Verwalten von Rollenzuweisungen.
Objektbezeichnertypen
objectIdType
(oder Objektbezeichnertyp) bezieht sich auf den Typ der Identität, der einer Rolle zugewiesen wird. Mit Ausnahme der Typen DeviceId
und UserDefinedFunctionId
entsprechen Objektbezeichnertypen Eigenschaften von Azure Active Directory-Objekten.
Die folgende Tabelle enthält die unterstützten Objektbezeichnertypen in Azure Digital Twins:
type | BESCHREIBUNG |
---|---|
UserId | Weist einem Benutzer eine Rolle zu. |
deviceId | Weist einem Gerät eine Rolle zu. |
DomainName | Weist einem Domänennamen eine Rolle zu. Jeder Benutzer mit dem angegebenen Domänennamen hat die Zugriffsrechte der entsprechenden Rolle. |
TenantId | Weist einem Mandanten eine Rolle zu. Jeder Benutzer, der zu der angegebenen Azure AD-Mandanten-ID gehört, hat die Zugriffsrechte der entsprechenden Rolle. |
ServicePrincipalId | Weist einer Dienstprinzipalobjekt-ID eine Rolle zu. |
UserDefinedFunctionId | Weist einer benutzerdefinierten Funktion (User-defined Function, UDF) eine Rolle zu. |
Tipp
Weitere Informationen zum Gewähren von Berechtigungen für Ihren Dienstprinzipal finden Sie unter Erstellen und Verwalten von Rollenzuweisungen.
In den folgenden Referenzartikeln werden die nachfolgenden Themen beschrieben:
- Abfragen der Objekt-ID eines Benutzers
- Abrufen der Objekt-ID eines Dienstprinzipals
- Abrufen der Objekt-ID eines Azure AD-Mandanten
Rollenzuweisungen
Eine Azure Digital Twins-Rollenzuweisung verknüpft ein Objekt, z.B. einen Benutzer oder einen Azure AD-Mandant, mit einer Rolle und einem Raum. Berechtigungen werden für alle Objekte gewährt, die zu diesem Raum gehören. Der Raum umfasst den gesamten Raumgraphen darunter.
Angenommen, ein Benutzer hat eine Rollenzuweisung mit der Rolle DeviceInstaller
für den Stammknoten eines Raumgraphen, der einem Gebäude entspricht. Der Benutzer kann dann Geräte für diesen Knoten und alle anderen untergeordneten Räume im Gebäude lesen und aktualisieren.
Um einem Empfänger Berechtigungen zuzuweisen, erstellen Sie eine Rollenzuweisung. Um die Berechtigung zu widerrufen, entfernen Sie die Rollenzuweisung.
Wichtig
Weitere Informationen zur Rollenzuweisung finden Sie unter Erstellen und Verwalten von Rollenzuweisungen.
Nächste Schritte
Weitere Informationen zum Erstellen und Verwalten von Rollenzuweisungen in Azure Digital Twins finden Sie unter Erstellen und Verwalten von Rollenzuweisungen.
Erfahren Sie mehr über RBAC für Azure.