Zugriffssteuerung auf Ressourcenebene konfigurieren
Die Zugriffssteuerung auf Ressourcenebene ermöglicht Ihnen die Steuerung des Zugriffs von Benutzern und API-Schlüsseln zur Verwaltung von Geräten.
Sie können Ressourcengruppen verwenden, um die Geräte in einer Organisation zu definieren, die von den einzelnen Benutzern oder API-Schlüsseln verwaltet werden können. Benutzern und API-Schlüsseln kann ein roleToGroups -Paar zugeordnet werden, das definiert, dass sie nur Operationen ausführen können, die von der angegebenen Rolle auf Geräten in den angegebenen Gruppen abgedeckt sind. Weitere Informationen zur Zugriffskontrolle auf Ressourcenebene finden Sie unter „Verwenden der Zugriffskontrolle auf Ressourcenebene “ und im IoT Tool „Zugriffskontroll-API“ in Ihrer lokalen API-Dokumentation. Weitere Informationen zum Zugriff auf die lokale Dokumentation finden Sie unter APIs.
Zugriffssteuerung auf Ressourcenebene konfigurieren - Prozessablauf
Der folgende Prozessablauf wird normalerweise verwendet, um die Zugriffssteuerung auf Ressourcenebene zu aktivieren und zu verwenden:
- Greifen Sie auf Ihre Organisation zu
- Benutzer erstellen und Anwendungen verwenden.
- Erstellen Sie Ressourcengruppen.
- Weisen Sie Rollen zu Gruppen für die Benutzer und API-Schlüssel zu.
- Fügen Sie Geräte zu den Ressourcengruppen hinzu.
- Aktivieren Sie die Zugriffssteuerung auf Ressourcenebene.
Die Zugriffssteuerung auf Ressourcenebene wird in verschiedenen gerätebezogenen APIs erzwungen. Eine Liste der betroffenen APIs finden Sie unter APIs, bei denen die Zugriffssteuerung auf Ressourcenebene umgesetzt wird.
Ressourcengruppen erstellen und löschen
Ressourcengruppen können unabhängig von den verbindenden Gateways erstellt und gelöscht werden.
Verwenden Sie die folgende API, um eine Ressourcengruppe zu erstellen und die Gruppendetails zurückzugeben:
POST /api/v0002/groups
{
"name": "groupA",
"description": "Devices in the red group",
"searchTags": ["red"]
}
Wenn Sie eine Ressourcengruppe löschen, dann werden die in der Gruppe befindlichen Geräte aus der Gruppe entfernt, andere Auswirkungen für diese Geräte ergeben sich jedoch nicht. Verwenden Sie die folgende API, um eine Ressourcengruppe zu löschen:
DELETE /api/v0002/groups/{groupUid}
Zuweisen von roleToGroups -Paaren zu Benutzern oder API-Schlüsseln
Das Zuweisen eines roleToGroups -Paars zu einem Benutzer oder einem API-Schlüssel ist erforderlich, um den Benutzer bzw. den API-Schlüssel auf eine Gruppe von Geräten zu beschränken. Benutzer und API-Schlüssel ohne Ressourcengruppen können alle Geräte in der eigenen Organisation ohne Einschränkungen verwalten. Ein API-Schlüssel kann nur eine Rolle haben, wenn ein roleToGroups -Paar verwendet wird. Die in roleToGroups angegebene Rolle muss mit der in roleToGroupsangegebenen Rolle übereinstimmen.
Verwenden Sie die folgende API, um einem Benutzer ein roleToGroups -Paar zuzuweisen:
PUT /api/v0002/authorization/users/{userUid}/roles
{
"roles": [ "PD_ADMIN_USER" ],
"rolesToGroups": {
"PD_ADMIN_USER": [ "groupUID" ]
}
}
Verwenden Sie die folgende API, um einem API-Schlüssel ein roleToGroups -Paar zuzuweisen:
PUT /api/v0002/authorization/apikeys/{apikeyUid}/role
{
"roles": [ "PD_OPERATOR_APP" ],
"rolesToGroups": {
"PD_OPERATOR_APP": [ "groupUID" ]
}
}
Geräte zu Ressourcengruppen hinzufügen und aus Ressourcengruppen entfernen
Damit ein Benutzer oder ein API-Schlüssel mit einem roleToGroups -Paar eine Einheit verwalten kann, muss die Einheit ein Mitglied der Ressourcengruppe sein, die dem Benutzer oder API-Schlüssel zugeordnet ist. Wenn Sie Geräte einer Ressourcengruppe hinzufügen, dann muss die Gruppe, zu der Geräte hinzugefügt werden, im Pfad der Anforderung angegeben werden und die Geräte, die hinzugefügt werden, müssen im Hauptteil der Anforderung angegeben werden. Verwenden Sie die folgende API, um mehrere Geräte gleichzeitig einer Ressourcengruppe hinzuzufügen:
PUT /api/v0002/bulk/devices/{groupId}/add
[
{
"typeId":"{typeUid}",
"deviceId":"{deviceUid}"
}
]
Wenn Sie Geräte aus einer Ressourcengruppe entfernen, dann werden die Geräte, die im Hauptteil der Anforderung angegeben sind, aus der Gruppe entfernt, die im Pfad der Anforderung angegeben ist. Verwenden Sie die folgende API, um mehrere Geräte aus einer Ressourcengruppe zu entfernen:
PUT /api/v0002/bulk/devices/{groupUid}/remove
[
{
"typeId":"{typeUid}",
"deviceId":"{deviceUid}"
}
]
Weitere Informationen zum Anforderungsschema und zur Antwort finden Sie im IoT Tool „Zugriffskontroll-API“ in Ihrer lokalen Dokumentation unter: https://iot.masdomain.com//docs/v0002-beta/security-subjects-beta.html.
Zugriffssteuerung auf Ressourcenebene aktivieren
Das Aktivieren der Zugriffssteuerung auf Ressourcenebene für eine Organisation ermöglicht es Ihnen, den Zugriff von Benutzern und API-Schlüsseln auf die zugewiesenen Ressourcengruppen zu beschränken. Zur Verwendung der Zugriffssteuerung auf Ressourcenebene müssen Sie das Konfigurationsflag auf Organisationsebene aktivieren, indem Sie die folgende API verwenden:
PUT /api/v0002/accesscontrol
{
"enable": true
}
Ressourcengruppen suchen
Ressourcengruppen können Suchtags enthalten. Suchtags können verwendet werden, um mithilfe der folgenden API die Details zu einer Ressourcengruppe abzurufen:
GET /api/v0002/groups
Diese API gibt die Ressourcengruppen zurück, die dem verwendeten Suchtag zugeordnet sind. Wenn kein Suchtag angegeben ist, werden alle Ressourcengruppen zurückgegeben.
Verwenden Sie die folgende API, um die eindeutige ID der Ressourcengruppen zu suchen, die einem Benutzer zugewiesen sind:
GET /api/v0002/authorization/users/{userUid}
Verwenden Sie die folgende API, um die eindeutige ID der Ressourcengruppen zu suchen, die einem API-Schlüssel zugewiesen sind:
GET /api/v0002/authorization/apikeys/{apikeyUid}
Ressourcengruppen abfragen
Ressourcengruppen können mithilfe verschiedener Parameter abgefragt werden, um die vollständigen Eigenschaften aller Geräte in der Gruppe, die eindeutigen Kennungen aller Geräte in der Gruppe oder die Eigenschaften der Ressourcengruppe zurückzugeben.
Verwenden Sie die folgende API, um die vollständigen Eigenschaften für alle Geräte in der angegebenen Ressourcengruppe zurückzugeben:
GET /api/v0002/bulk/devices/{groupUid}
Verwenden Sie die folgende API, um nur die eindeutigen Kennungen der Mitglieder der Ressourcengruppe zurückzugeben:
GET /api/v0002/bulk/devices/{groupUid}/ids
Verwenden Sie die folgenden API, um die Eigenschaften der Ressourcengruppe einschließlich Name, Beschreibung, Suchtags und eindeutiger Kennung (ID), die im Pfad angegeben sind, zurückzugeben:
GET /api/v0002/groups/{groupUid}
Diese API gibt nicht die Liste der Mitglieder der Ressourcengruppe zurück.
Gruppeneigenschaften aktualisieren
Verwenden Sie die folgende API, um die Eigenschaften einer Gruppe zu aktualisieren:
PUT /api/v0002/groups/{groupId}