Definition ABAC Was ist Attribute-Based Access Control?

Von Dipl.-Ing. (FH) Stefan Luber 5 min Lesedauer

Attribute-Based Access Control ist eine Methode des Identitäts- und Zugriffsmanagements. Der Zugriff auf Ressourcen erfolgt auf Basis von Attributen der Subjekte, Objekte und der Systemumgebung sowie den diesen Attributen zugeordneten Richtlinien. ABAC ermöglicht eine flexible, feingranulare Kontrolle der Zugriffsrechte.

Attribute-Based Access Control (ABAC) ist eine Methode des Identitäts- und Zugriffsmanagements (IAM) zur attributbasierten Zugriffskontrolle.(Bild:  gemeinfrei /  Pixabay)
Attribute-Based Access Control (ABAC) ist eine Methode des Identitäts- und Zugriffsmanagements (IAM) zur attributbasierten Zugriffskontrolle.
(Bild: gemeinfrei / Pixabay)

ABAC ist das Akronym für Attribute-Based Access Control. Der deutsche Begriff lautet attributbasierte Zugriffskontrolle. Attribute-Based Access Control ist eine von mehreren möglichen Methoden des Identitäts- und Zugriffsmanagements (IAM). Bei ABAC erfolgt der Zugriff auf Ressourcen oder Objekte und die Vergabe von Berechtigungen auf Basis der Attribute der Benutzer oder Clients, der Systemumgebung und der Ressource oder des Objekts selbst sowie den diesen Attributen zugeordneten Sicherheitsrichtlinien (Policies). Für die attributbasierte Zugriffskontrolle gibt es mit XACML (Xtensible Access Control Markup Language) einen eigenen Standard für ein XML-Schema zur Darstellung und Verarbeitung von Autorisierungsrichtlinien.

ABAC kann als eine Weiterentwicklung der rollenbasierten Zugriffskontrolle (Role-Based Access Control - RBAC) betrachtet werden und ist eine Art Next-Generation-Berechtigungsmodell. Die attributbasierte Zugriffskontrolle ermöglicht ein flexibles und dynamisches Berechtigungsmanagement. Es lassen sich feingranulare Zugriffskontrollen einrichten und durchsetzen. Mit ABAC können Zugriffskontrollsysteme mit hohen Sicherheitsstandards realisiert werden, die auch strengen Compliance-Richtlinien oder gesetzlichen Vorgaben genügen. Im Vergleich zu anderen Zugriffskontrollmethoden ist die Implementierung allerdings etwas aufwendiger.

Die grundlegenden Komponenten und die prinzipielle Funktionsweise von Attribute-Based Access Control

Attribute-Based Access Control besteht aus diesen drei grundlegenden Komponenten:

  • Attribute
  • Policies
  • Policy-Engine

Attribute sind Eigenschaften oder Werte, die einem Subjekt, einem Objekt, einer Aktion oder einer Umgebung zugeordnet sind. Ein Subjekt ist beispielsweise ein User oder ein Client, der Zugriff auf ein Objekt anfordert. Typische Attribute eines Subjekts sind beispielsweise die Position im Unternehmen, die Zugehörigkeit zu einer Abteilung, ein Sicherheitsfreigabelevel oder eine Gruppenzugehörigkeit. Bei einem Objekt, auf das ein Subjekt Zugriff anfordert, handelt es sich um Ressourcen wie IT-Systeme, Daten, Anwendungen, APIs oder Datenbanken und anderes. Typische Attribute dieser Objekte sind Vertraulichkeitsgrad der Ressource, Besitzer oder Ersteller der Ressource, Ressourcentyp oder Ressourcenname. Ein Attribut einer Aktion beschreibt die Aktivität, die ein Subjekt an einem Objekt vornehmen möchte. Es kann sich bei diesen Attributen um Aktivitäten wie Lesen, Bearbeiten, Löschen, Kopieren oder Schreiben handeln. Unter der Umgebung versteht man den Kontext, in dem die Aktivität eines Subjekts an einem Objekt stattfinden soll. Attribute eines Kontexts sind zum Beispiel Datum und Uhrzeit, Standort, verwendetes Gerät, genutzte Anwendung, Konfiguration und anderes. Grundsätzlich können die Attribute der Subjekte, Objekte, Aktionen und Umgebungen von verschiedenen Datenquellen wie von LDAP-Servern, Datenbanken, ERP-Systemen oder HR-Systemen und anderen stammen.

Policies sind Richtlinien beziehungsweise Regeln, die anhand von Kombinationen der Attribute festlegen, unter welchen Bedingungen Zugriffe zugelassen werden dürfen und unter welchen sie zu blockieren sind. Richtlinien können so gestaltet sein, dass sie lokal oder global gelten oder dass einzelne Richtlinien andere Richtlinien überschreiben. Die Anzahl der Richtlinien und genutzten Attribute ist prinzipiell nicht beschränkt, sodass sich eine Vielzahl an Zugriffsszenarien abdecken und umsetzen lässt.

Die eigentliche Entscheidung, ob ein Zugriff anhand der Attribute und der Policies zugelassen wird oder nicht, und die Durchsetzung dieser Entscheidung nimmt die sogenannte Policy-Engine vor. Sie lässt sich je nach Realisierungsansatz eines ABAC-Systems in weitere Komponenten unterteilen, beispielsweise in einen Policy Decision Point (PDP), einen Policy Information Point (PIP) oder einen Policy Enforcement Point (PEP). Für den Schutz eines Objekts beziehungsweise einer Ressource ist der PEP zuständig. Er prüft Anfragen und leitet sie an den PDP weiter. Der PDP trifft anhand der bereitgestellten Attribute und Policies die Entscheidung, ob ein Zugriff zulässig ist oder abgelehnt wird. Über den PIP kann der PDP mit diversen Attributquellen verbunden werden.

Eine kurze Abgrenzung zwischen der attributbasierten und der rollenbasierten Zugriffskontrolle (RBAC)

Eine andere Methode beziehungsweise ein anderes Modell der Zugriffskontrolle ist die sogenannte rollenbasierte Zugriffskontrolle. Der englische Fachbegriff dafür lautet Role-Based Access Control, abgekürzt RBAC.

Bei der rollenbasierten Zugriffskontrolle werden die Berechtigungen nicht anhand von Attributen und Policies erteilt. Die Berechtigungen sind den verschiedenen Rollen zugewiesen. Die Rollen werden zentral definiert und sind beispielsweise von der Position, der Abteilung, vom Standort oder von der Zuständigkeit abhängig. So erhält beispielsweise die Administratorrolle umfassende Berechtigungen, während einer Standardrolle nur eingeschränkte Rechte wie das Lesen von Daten zugewiesen werden. Die verschiedenen Benutzer werden einer bestimmten Rolle zugeordnet, anhand derer sie Zugriff auf ein Objekt erhalten oder nicht.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Das rollenbasierte Konzept von RBAC ist zwar recht einfach umzusetzen und zu verstehen, aber wesentlich starrer als das attributbasierte Konzept von ABAC. RBAC ist gut für statische Umgebungen mit festen Rollenzuweisungen geeignet, hat aber ein Problem in dynamischen Umgebungen, in denen Berechtigungen sehr feingranular erteilt werden müssen. Sollen sehr viele Rollen mit fein abgestuften Berechtigungen angelegt werden, wird eine rollenbasierte Zugriffskontrolle schnell unübersichtlich, inkonsistent und schwer zu managen.

Die typischen Anwendungsbereiche der attributbasierten Zugriffskontrolle

Aufgrund der Flexibilität, der feingranularen Berechtigungsvergabe und der Möglichkeit, sehr viele verschiedene Attribute bei der Zugriffskontrolle zu berücksichtigen, eignet sich ABAC sehr gut für verteilte, dynamische Umgebungen. Die Zugriffskontrolle kann auf allen Ebenen, angefangen von der Hardwareebene über die Softwareebene bis zur Anwendungs-, Service-, Schnittstellen- und Datenebene, erfolgen. Typische Anwendungsbereiche der attributbasierten Zugriffskontrolle sind Enterprise-IT-Umgebungen, cloudbasierte beziehungsweise cloudnative Umgebungen und verteilte Microservice-Architekturen.

Die Vor- und Nachteile der attributbasierten Zugriffskontrolle

Die attributbasierte Zugriffskontrolle bietet im Vergleich zu anderen Access-Control-Methoden einige Vorteile. ABAC ist extrem flexibel, lässt eine feingranulare Berechtigungsvergabe zu und eignet sich für dynamische und große, komplexe Umgebungen. Die Zugriffskontrolle ermöglicht die Berücksichtigung einer Vielzahl von verschiedenen Attributen und ist kontextbezogen. Für die Zugriffskontrolle verwendbare Attribute lassen sich aus unterschiedlichen, auch externen Quellen einbeziehen. Die Entscheidung, ob Zugriffe zugelassen werden oder nicht, und die Durchsetzung dieser Entscheidung erfolgen über die Policy-Engine automatisiert. Attributbasierte Regeln lassen sich einfach und zentral verwaltet anpassen. Berechtigungen können ohne Anlegen neuer Nutzer oder Rollen durch einfaches Verändern der Attribute entzogen oder hinzugefügt werden. Attribute-Based Access Control ermöglicht die Realisierung von Zugriffskontrollsystemen mit hohen Sicherheitsstandards, die auch strengen Compliance-Richtlinien und gesetzlichen Vorgaben genügen.

Als Herausforderungen und Nachteile der attributbasierten Zugriffskontrolle lassen sich nennen:

  • ABAC erfordert eine hohe Datenqualität der Attribute
  • Konzeption und Implementierung einer attributbasierten Zugriffskontrolle sind im Vergleich zu anderen Methoden aufwendiger
  • Policies können sehr umfangreich und komplex werden
  • je feingranularer die Berechtigungsvergabe, desto stärker sind die Auswirkungen auf die Performance und den Overhead der Zugriffskontrolle

(ID:50397948)