Übersicht über die attributbasierte Zugriffskontrolle
Die attributbasierte Zugriffskontrolle (ABAC) ist ein Autorisierungsmodell, das Attribute auswertet, um den Zugriff zu bestimmen. Attribute können sich auf das Subjekt (den Benutzer oder die Entität, die Zugriff anfordert), das Objekt (die Ressource oder Datei, auf die das Subjekt zugreifen möchte) oder sogar die Umgebung (andere Parameter wie Tageszeit, IP-Adresse usw.) beziehen.
ABAC-Richtlinien arbeiten mit RBAC (rollenbasierte Zugriffskontrolle) und Abteilungen zusammen, um eine detailliertere Zugriffskontrolle zu ermöglichen. Bei diesen Richtlinien handelt es sich um Boolesche Logikanweisungen, bei denen eine Bedingung mit dem Ergebnis „wahr“ oder „falsch“ ausgewertet wird. Jede Richtlinie zielt auf eine bestimmte Gruppe von API-Aufrufen (als Ziel bezeichnet) ab und gilt für eine bestimmte Teilmenge von Benutzern (als Subjekte bezeichnet).
Um ABAC zu verwenden, Aktivieren Sie die attributbasierte Zugriffskontrolle Erste.
Derzeit werden die folgenden Richtlinien unterstützt:
- Neue Rollen können nicht vergeben werden – Verhindert, dass Nicht-Admin-Benutzer Rollen vergeben, die sie selbst nicht haben
- Bestimmte Benutzerprofilfelder können nicht aktualisiert werden – Verhindert, dass definierte Benutzerprofilfelder geändert werden, außer durch Vorgesetzte oder Administratoren
In ABAC verwendete Definitionen
Laufzeit | Beschreibung |
---|---|
Richtlinienname | Der Name der Richtlinie, der vom Richtlinienersteller bei der Richtlinienerstellung oder -aktualisierung festgelegt wurde. |
Beschreibung | (Optional) Eine kurze Beschreibung der vom Richtlinienersteller festgelegten Richtlinie. |
Ziel |
Die Zielressource, auf die die Richtlinie angewendet wird. Ressourcenziele haben die Form von Das Ziel spiegelt wider, was der Benutzer zu tun versucht, und entspricht normalerweise einem API-Aufruf zum Bearbeiten, Anzeigen oder Löschen einer Ressource. Richtlinien sind mit Zielen verknüpft. |
Betreff |
Gegenstand einer Richtlinie ist der Benutzer, die Gruppe oder der Client, für den die Richtlinie gilt. Richtlinien dürfen nur ein Thema haben. Das Subjekt hat die folgenden Mitglieder:
|
Wirkung |
Die Auswirkung einer Richtlinie gibt an, ob die Richtlinie den Zugriff erlaubt, wenn ihre Bedingungen erfüllt sind, oder den Zugriff sofort verweigert, wenn die Bedingungen erfüllt sind. Wenn ein Benutzer die Bedingungen einer ALLOW-Richtlinie erfüllt, über die erforderlichen Berechtigungen verfügt und nicht durch eine DENY-Richtlinie blockiert wird, wird ihm der Zugriff auf die Ressource gestattet. ABAC ersetzt nicht die bestehenden rollenbasierten Zugriffs- und Abteilungszugriffskontrollen. Es arbeitet direkt mit ihnen zusammen, um eine feinere Zugriffskontrolle zu ermöglichen. Wenn das Ergebnis einer ABAC-Richtlinienauswertung „ALLOW“ lautet, prüft das System, ob das Subjekt über die erforderliche Berechtigung verfügt, bevor der Zugriff gewährt wird. Richtlinien mit der Auswirkung „DENY“ geben Bedingungen an, unter denen der Zugriff auf die Ressource verweigert werden muss. Wenn ein Benutzer die Bedingungen einer DENY-Richtlinie erfüllt, wird ihm der Zugriff verweigert, unabhängig davon, ob er auch die Bedingungen einer ALLOW-Richtlinie für dieselbe Ressource erfüllt. Wenn einer Ressource mindestens eine Richtlinie zugeordnet ist, der Benutzer jedoch die Bedingungen für keine der Richtlinien erfüllt, wird dem Benutzer standardmäßig der Zugriff auf die Ressource verweigert. |
Zustand |
(Optional) Legt bestimmte Bedingungen fest, unter denen die Richtlinie den Zugriff erlaubt oder verweigert. Jede ausgewertete Bedingung wird durch das folgende Grundmuster dargestellt (dargestellt in JSON): Wenn die Richtlinie ausgewertet wird, ruft das System die Attribute ab, die den angegebenen Attributnamen entsprechen, und vergleicht sie mithilfe der angegebenen Operation. Um eine komplexere Bedingungslogik zu ermöglichen, können auch mehrere Bedingungen in einer Any-Struktur (für logisches ODER) oder All-Struktur (für logisches UND) verschachtelt werden. |
Voreingestellte Attribute |
(Optional) Eine Karte mit statischen, vordefinierten Attributen, die mit Attributdaten aus dem System verglichen werden. Beispielsweise möchte der Ersteller der Richtlinie möglicherweise jedem Benutzer mit einer bestimmten Rollen-ID Zugriff gewähren und würde die betreffende Rollen-ID als voreingestelltes Attribut in der Richtlinie angeben. Der Ersteller der Richtlinie legt die voreingestellten Attributnamen fest. Namen, die mit vorhandenen, vom System bereitgestellten Attributen in Konflikt stehen, werden bei der Validierung abgelehnt. Voreingestellte Attributnamen dürfen alphanumerische Zeichen, Punkte (.) und Unterstriche (_) enthalten, jedoch keine Leerzeichen oder andere Sonderzeichen als die aufgelisteten. Jeder Karteneintrag verfügt über einen Schlüssel, der den Namen des voreingestellten Attributs darstellt, und einen Wert, der ein TypedAttribute-Objekt mit den folgenden Mitgliedern ist:
|
Weitere Informationen finden Sie unter Erstellen von Zugriffsrichtlinien .