Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arten der Zugriffskontrolle
Für die Implementierung der Zugriffskontrolle können Sie zwei allgemein definierte Modelle verwenden: die rollenbasierte Zugriffskontrolle (RBAC) und die attributebasierte Zugriffskontrolle (ABAC). Jedes Modell hat Vor- und Nachteile, auf die in diesem Abschnitt kurz eingegangen wird. Welches Modell Sie verwenden sollten, hängt von Ihrem spezifischen Anwendungsfall ab. Die in diesem Handbuch beschriebene Architektur unterstützt beide Modelle.
RBAC
Die rollenbasierte Zugriffskontrolle (RBAC) bestimmt den Zugriff auf Ressourcen auf der Grundlage einer Rolle, die normalerweise der Geschäftslogik entspricht. Der Rolle werden je nach Bedarf Berechtigungen zugeordnet. Beispielsweise würde eine Marketingrolle einen Benutzer autorisieren, Marketingaktivitäten innerhalb eines eingeschränkten Systems durchzuführen. Dies ist ein relativ einfach zu implementierendes Zugriffskontrollmodell, da es sich gut an der leicht erkennbaren Geschäftslogik orientiert.
Das RBAC-Modell ist weniger effektiv, wenn:
-
Sie haben eindeutige Benutzer, deren Zuständigkeiten mehrere Rollen umfassen.
-
Sie haben eine komplexe Geschäftslogik, die es schwierig macht, Rollen zu definieren.
-
Die Skalierung auf eine große Größe erfordert eine ständige Verwaltung und Zuordnung von Berechtigungen zu neuen und bestehenden Rollen.
-
Autorisierungen basieren auf dynamischen Parametern.
ABAC
Die attributebasierte Zugriffskontrolle (ABAC) bestimmt den Zugriff auf Ressourcen anhand von Attributen. Attribute können einem Benutzer, einer Ressource, einer Umgebung oder sogar einem Anwendungsstatus zugeordnet werden. Ihre Richtlinien oder Regeln verweisen auf Attribute und können mithilfe grundlegender boolescher Logik bestimmen, ob ein Benutzer eine Aktion ausführen darf. Hier ist ein einfaches Beispiel für Berechtigungen:
Im Zahlungssystem dürfen alle Benutzer der Finanzabteilung /payments
während der Geschäftszeiten Zahlungen am API-Endpunkt abwickeln.
Die Mitgliedschaft in der Finanzabteilung ist ein Benutzerattribut, das den Zugriff auf bestimmt/payments
. Dem /payments
API-Endpunkt ist auch ein Ressourcenattribut zugeordnet, das den Zugriff nur während der Geschäftszeiten ermöglicht. In ABAC wird durch eine Richtlinie festgelegt, die die Mitgliedschaft in der Finanzabteilung als Benutzerattribut und die Zeit als Ressourcenattribut von beinhaltet, ob ein Benutzer eine Zahlung verarbeiten kann oder nicht. /payments
Das ABAC-Modell ist sehr flexibel und ermöglicht dynamische, kontextbezogene und detaillierte Autorisierungsentscheidungen. Das ABAC-Modell ist jedoch zunächst schwierig zu implementieren. Die Definition von Regeln und Richtlinien sowie die Aufzählung von Attributen für alle relevanten Zugriffsvektoren erfordern erhebliche Vorabinvestitionen für die Implementierung.
Hybrider RBAC-ABAC-Ansatz
Die Kombination von RBAC und ABAC kann einige der Vorteile beider Modelle bieten. Da RBAC so eng an der Geschäftslogik ausgerichtet ist, ist es einfacher zu implementieren als ABAC. Um eine zusätzliche Ebene der Granularität bei Autorisierungsentscheidungen zu erreichen, können Sie ABAC mit RBAC kombinieren. Dieser hybride Ansatz bestimmt den Zugriff, indem er die Rolle eines Benutzers (und die ihm zugewiesenen Berechtigungen) mit zusätzlichen Attributen kombiniert, um Zugriffsentscheidungen zu treffen. Die Verwendung beider Modelle ermöglicht eine einfache Verwaltung und Zuweisung von Berechtigungen und ermöglicht gleichzeitig mehr Flexibilität und Granularität bei Autorisierungsentscheidungen.
Vergleich der Modelle für die Zugriffskontrolle
In der folgenden Tabelle werden die drei zuvor erörterten Zugriffskontrollmodelle verglichen. Dieser Vergleich soll informativ und umfassend sein. Die Verwendung eines Zugriffsmodells in einer bestimmten Situation korreliert möglicherweise nicht unbedingt mit den Vergleichen in dieser Tabelle.
Faktor |
RBAC |
ABAC |
Hybrid |
Flexibilität |
Medium |
Hoch |
Hoch |
Schlichtheit |
Hoch |
Niedrig |
Mittelschwer |
Granularität |
Niedrig |
Hoch |
Mittelschwer |
Dynamische Entscheidungen und Regeln |
Nein |
Ja |
Ja |
Kontextsensitiv |
Nein |
Ja |
Einigermaßen |
Aufwand für die Umsetzung |
Niedrig |
Hoch |
Mittelschwer |