Was ist rollenbasierte Zugriffskontrolle (RBAC) und wie wird sie implementiert?

Jedes Mal, wenn ein Unternehmen von einem Datenverstoß betroffen ist, sind die Zugriffskontrollen eines der ersten Dinge, die es untersucht, um die Ursache des Verstoßes zu ermitteln. Ein robustes System zur Kontrolle des Zugriffs auf kritische Ressourcen ist ein entscheidender Bestandteil jeder Cybersicherheits-Verteidigungsstrategie. Die Zugriffskontrolle wird durch zwei Kernkonzepte erreicht: Authentifizierung und Autorisierung, die verwendet werden, um festzustellen, ob Benutzer die sind, für die sie sich ausgeben, und dass sie berechtigt sind, auf die Ressourcen zuzugreifen, auf die sie zugreifen möchten. Es gibt verschiedene Methoden zur Steuerung des Zugriffs auf Ressourcen, darunter: Discretionary Access Control (DAC), Mandatory Access Control (MAC), Attribute-based Access Control (ABAC) und Role-Based Access Control (RBAC). Dieser Artikel konzentriert sich auf Letzteres, obwohl ich später im Artikel eine kurze Erläuterung der anderen Methoden geben werde.
Was ist rollenbasierte Zugriffskontrolle?
Rollenbasierte Zugriffskontrolle (Role-Based Access Control, RBAC) ist eine der am häufigsten verwendeten Methoden zur Kontrolle des Zugriffs auf die verschiedenen Bereiche des IT-Systems einer Organisation, obwohl sie bei größeren Organisationen beliebter ist. Mit RBAC werden Benutzern Rollen und Rollen Berechtigungen wie Erstellen, Lesen, Aktualisieren und Löschen zugewiesen. Teilweise werden Rollen zu sogenannten „Rollengruppen“ zusammengefasst. Nehmen wir zum Beispiel an, dass wir eine Gruppe namens „medizinisches Personal“ haben, die Zugriff auf Patientenakten hat. Wir könnten eine Gruppe namens „Arzt“ gründen, die Teil der Gruppe des medizinischen Personals ist. Der Arzt erbt die Berechtigungen der Ärztegruppe, kann aber auch Zugriff auf Informationen erhalten, die über die der Ärztegruppe hinausgehen.
RBAC bietet viel Flexibilität, da es so umfassend und detailliert sein kann, wie Sie es benötigen. Dies kann es jedoch auch schwierig machen, zu wissen, wo man anfangen soll, insbesondere da eine „Rolle“ in RBAC nur lose definiert ist. Eine Rolle kann beispielsweise ein Jobtyp, eine ausführbare Aktion oder eine Rolle sein, die darauf basiert, wie lange ein Mitarbeiter für das Unternehmen gearbeitet hat. Eine Rolle kann auf der Autorität, dem Standort, der Verantwortung oder der beruflichen Kompetenz eines Benutzers basieren.
Wir können uns Rollen wie Ordner auf unserem Desktop vorstellen, in denen wir digitale Musikdownloads speichern könnten. Wir könnten einen Ordner mit dem Namen „Chillout“ und einen mit dem Namen „Easy Listening“ haben. Da diese Kategorien sehr ähnlich sind, kann es bei der Speicherung neuer Downloads zu Verwirrung kommen. Daher sollte eine Organisation, die RBAC nutzen möchte, ausreichend Zeit in die Gestaltung der Struktur der Rollen und Rollengruppen investieren, um eine klare Aufgabentrennung durchzusetzen. Glücklicherweise besteht einer der Vorteile von RBAC, selbst wenn Sie beim Einrichten Ihrer Rollen einen Fehler machen, darin, dass es relativ einfach ist, Rollen zu bearbeiten und zu entfernen, ohne die Integrität Ihres Systems zu beeinträchtigen.
Nachfolgend finden Sie einige Beispiele für die Rollentypen, die bei der Verwendung von RBAC zulässig sind.
- Administrator
- Editor
- Endbenutzer
- New Yorker Niederlassung
- Shop-Administrator
- Produktliste aktualisieren
- Marketing
- Newsletter versenden
- Benutzerkonto löschen
- Bearbeiten Sie den CNAME-DNS-Eintrag
- Allgemeinmediziner
- Röntgentechniker
- Finanzberichterstattung und -kontrolle
- Steuern und Compliance
Wie Sie dieser Liste entnehmen können, gibt es keine strikte Namenskonvention oder kein Schema, das eingehalten werden kann, und angesichts der Flexibilität, die RBAC bietet, wäre es schwierig, eines einzuführen. Es ist jedoch unwahrscheinlich, dass Sie Rollen erstellen, bevor Sie eine Bestandsaufnahme aller verschiedenen Teile Ihrer Umgebung erstellt haben, die geschützt werden müssen. Nachfolgend finden Sie ein einfaches Beispiel dafür, wie Benutzern Rollen und Rollen Berechtigungen zugewiesen werden.
Nehmen wir an, Sie betreiben einen Online-Shop. Es gibt Benutzer, die Ihren Shop besuchen, ein Shop-Administrator, der für die Verwaltung der Produktliste verantwortlich ist, und eine Marketingabteilung, die Newsletter verschickt. Wir haben also drei Rollen:
- Endbenutzer
- Shop-Admin
- Marketing
Wir werden dann Rollen wie folgt Berechtigungen zuweisen:
Endbenutzer
Katalogelement: lesen
Benutzerkonto: erstellen/lesen/bearbeiten/löschen
Rechnung: erstellen
Shop-Admin
Katalogelement: erstellen/lesen/bearbeiten/löschen
Marketing
Newsletter: erstellen/lesen/aktualisieren/löschen/senden
Verteilerliste: bearbeiten
Beachten Sie, dass das obige Beispiel eine zu starke Vereinfachung der tatsächlichen Funktionsweise von RBAC darstellt. In den meisten Fällen kontrolliert der Systemadministrator den Zugriff auf ein viel breiteres Spektrum an Ressourcen und viele Rollen werden in Gruppen zusammengefasst.
Wenn sich jeder dieser Benutzer bei Ihrem System anmeldet, erhält er ein Zugriffstoken, das von dem von Ihnen verwendeten Authentifizierungs- und Autorisierungsprotokoll überprüft wird, um festzustellen, auf welche Rollen der Benutzer Zugriff hat und welche Aktionen er ausführen darf ausführen.
HINWEIS: Sie können auch einen Superuser einrichten, der vollen Zugriff auf alle Teile Ihrer Anwendung hat, einschließlich der auf dem Server gespeicherten Dateien. Diese Zugriffsebene wird normalerweise nur Webentwicklern gewährt. Sollte sich jedoch ein Hacker Zugriff auf das Super-User-Konto verschaffen, kann er möglicherweise Ihr gesamtes Unternehmen in die Knie zwingen. Wenn Sie also dem Webentwickler vollständigen Zugriff gewähren müssen, stellen Sie sicher, dass der vollständige Zugriff widerrufen wird, wenn er nicht mehr benötigt wird . Eine bessere Idee wäre es, separate Benutzerkonten mit jeweils eigenen Anmeldeinformationen zu erstellen, bei denen sich der Superuser anmeldet. Ebenso ist es eine gute Praxis, sich an einen Grundsatz zu halten, der als „Aufgabentrennung“ bezeichnet wird.
Rollenbasierte Zugriffskontrolle und Aufgabentrennung (SoD)
Aufgabentrennung ist ein bekanntes Sicherheitsprinzip, das Interessenkonflikte, Betrug und Fehler verhindern soll. Die Idee dahinter ist, dass bestimmte kritische Änderungen die Zustimmung von mehr als einem Benutzer erfordern, um ausgeführt zu werden. Der Vorgang ähnelt der Anforderung zweier Unterschriften auf einem Scheck. SoD wurde typischerweise für Finanzbuchhaltungssysteme verwendet. Seit Inkrafttreten des Sarbanes-Oxley-Gesetzes (SOX) und des Gramm-Leach-Bliley-Gesetzes (GLBA) wird es jedoch auch in der IT-Sicherheit häufiger eingesetzt. RBAC kann dazu beitragen, SoD zu erleichtern, indem es sicherstellt, dass ein einzelner Benutzer seine eigenen Änderungen nicht genehmigen kann - vorausgesetzt, sie sind kritischer Natur. Es könnte beispielsweise eine Rolle für den Einkauf und eine Rolle für die Genehmigung des Kaufs eingerichtet werden. Ein einzelner Benutzer dürfte nicht beides tun. Der gleiche Prozess könnte für den Zugriff auf vertrauliche Daten, für kritische Änderungen am Server, an der Firewall-Konfiguration usw. verwendet werden.
Vorteile der rollenbasierten Zugriffskontrolle
Role-Based AccessControl erleichtert die Verwaltung von Berechtigungen erheblich, indem die Berechtigungen von den Benutzern entkoppelt werden. Dies vereinfacht den Prozess des Hinzufügens, Bearbeitens oder Entfernens von Benutzerrechten erheblich. Zu den weiteren Vorteilen der rollenbasierten Zugriffskontrolle gehören:
- Reduzierung des Fehlerpotenzials bei der Zuweisung von Benutzerberechtigungen
- Erleichtert die Integration von Drittanbietern in Ihr System
- Eliminierung der Notwendigkeit mehrerer Passwörter
- Erleichtert die Einhaltung von Datenschutzbestimmungen wie DSGVO, HIPAA, GLBA, SOX usw
- Erleichterung der Umsetzung der Funktionstrennung (SoD)
Best Practices für die Implementierung einer rollenbasierten Zugriffskontrolle
Bevor Sie Rollen einrichten, müssen Sie zunächst eine Bestandsaufnahme aller Daten, Anwendungen und Hardware erstellen, deren Zugriff in irgendeiner Weise eingeschränkt ist oder zumindest sein sollte. Möglicherweise möchten Sie den Einsatz automatisierter Tools zur Datenerkennung und -klassifizierung in Betracht ziehen, um sicherzustellen, dass Sie genau wissen, welche sensiblen Daten Sie haben und wo diese sich befinden, bevor Sie fortfahren. Wenn Sie ein hochentwickeltes Schlüsselkarten-Sicherheitssystem verwenden, können Sie RBAC auch verwenden, um den Zugang zum Serverraum und anderen eingeschränkten Bereichen zu kontrollieren.
Sobald Sie eine Bestandsaufnahme aller Ressourcen haben, müssen Sie Rollen einrichten, um zu bestimmen, wer auf diese Ressourcen zugreifen kann. Da RBAC jedoch darauf ausgelegt ist, die herkömmliche Methode der Zuweisung von Berechtigungen pro Benutzer zu vereinfachen, müssen Sie darauf achten, nicht zu viele Rollen zu erstellen, da dies das Objekt zunichtemachen würde.
Nachdem Sie Ihre Rollen eingerichtet haben, müssen Sie sicherstellen, dass Sie über eine Liste aller Benutzer verfügen, die Zugriff auf Ressourcen in Ihrem Netzwerk haben. Überprüfen Sie jeden Benutzer sorgfältig und entscheiden Sie, welche Rollen ihm zugewiesen werden sollen. Wie bereits erwähnt, können Rollen Berechtigungen von Rollengruppen erben. Daher ist es eine gute Idee, zuerst mit den Rollengruppen und den allgemeinsten Rollen zu beginnen.
Erstellen Sie eine Rollenzuweisungsrichtlinie, die Details darüber enthält, wie neue Benutzer hinzugefügt und aus Ihrem System entfernt werden sollen. Die Verwaltung von Benutzerberechtigungen ist ein fortlaufender Prozess. Daher müssen Sie Ihre Zugriffskontrollen regelmäßig überprüfen und entsprechende Änderungen vornehmen. Der Zeitrahmen, einschließlich des Prozesses zur Überprüfung von Berechtigungen, sollte in Ihrer Rollenzuweisungsrichtlinie dokumentiert werden. Sie müssen sicherstellen, dass RBAC in alle Systeme Ihrer Organisation integriert wurde.
Rollenbasierte Zugriffskontrolle in der Cloud
Cloud Computing ermöglicht das einfache, schnelle und effiziente Speichern und Abrufen von Daten und bietet darüber hinaus eine Vielzahl von Anwendungen und Diensten. Viele Organisationen nutzen gleichzeitig mehrere Plattformen und Dienste.
Wie Sie sich vorstellen können, ist die sichere Kontrolle des Zugriffs auf eine große Anzahl unterschiedlicher Anwendungen und Dienste eine Herausforderung. In den letzten Jahren kam es zu einer Reihe von Datenschutzverletzungen, die dadurch verursacht wurden, dass Cloud-basierte Zugangskontrollsysteme die Nachfrage nach einer einfach zu konfigurierenden, flexiblen und differenzierten Zugangskontrolle nicht erfüllten. Die Dinge bewegen sich jedoch zumindest in die richtige Richtung. Beispielsweise verfügt Amazon AWS jetzt über ein primitives RBAC-System, das auf der Benutzer-ID basiert und Standardrollen für authentifizierte Benutzer und nicht authentifizierte Gastbenutzer enthält. Google Cloud bietet jetzt rollenbasierte Zugriffskontrolle (RBAC) als Teil seiner Kubernetes Engine. Und Microsoft Azure Resource Manager nutzt RBAC, um eine differenzierte Zugriffsverwaltung von Azure-Ressourcen zu ermöglichen.
Das Problem besteht, wie oben erwähnt, darin, dass Unternehmen mehrere Cloud-Plattformen verwenden und jede Plattform über eine eigene API zur Zugriffsverwaltung verfügt. Die Verwendung dieser APIs zur Integration der Authentifizierungs- und Autorisierungsprotokolle jeder Plattform in unsere bestehende IT-Umgebung erfordert Zeit und Fachwissen. Es kommen einige Produkte auf den Markt, die behaupten, eine Single-Sign-On-Lösung (SSO) bereitzustellen, die neben On-Premise-Lösungen wie Active Directory auch mit mehreren Cloud-Plattformen funktioniert. Und obwohl es möglich sein könnte, RBAC mit einem cloudzentrierten SSO zu verwenden, gibt es derzeit kaum oder gar keine Dokumentation darüber, wie dies erreicht werden kann.
Methoden zur Kontrolle des Zugriffs auf Ressourcen
Discretionary Access Control (DAC) - Bei DAC ist es dem Eigentümer einer bestimmten Ressource gestattet, nach eigenem Ermessen Zugriff auf eine Ressource zu gewähren. Das Problem mit DAC besteht darin, dass Organisationen viel weniger Transparenz und Kontrolle darüber haben, wie und von wem auf Ressourcen zugegriffen wird. Es ist unwahrscheinlich, dass ein normaler Mitarbeiter die Sicherheitsrisiken versteht, die mit der Gewährung von Schreibzugriff auf eine Tabellenkalkulation verbunden sind, selbst wenn die Tabellenkalkulation öffentlich zugänglich ist.
>Mandatory Access Control (MAC) - MAC basiert auf einer zentralisierten Behörde, um den Zugriff auf Ressourcen zu gewähren, und wird typischerweise von Regierungen und militärischen Institutionen zum Schutz streng geheimer Informationen eingesetzt.
Attributbasierte Zugriffskontrolle (ABAC) - ABAC verwendet Regeln, die in der eXtensible Access Control Markup Language (XACML) geschrieben sind, um bestimmten Benutzern bestimmte Attribute zuzuweisen. Ein Attribut kann eine Zeit, eine Position, ein Ort, ein System, ein Objekt oder jede andere Information sein, die einem Benutzer zugeordnet werden kann. Die Regeln werden in Form von Schlüssel-Wert-Paaren gespeichert, z. B. Role=Advisor und Category=Financial. ABAC bietet eine höhere Granularität als RBAC, allerdings ist RBAC in der Regel die bevorzugte Methode, da es einfacher zu implementieren und zu warten ist.
Zugriffskontrolle ist wohl der wichtigste Aspekt der Datensicherheit, und RBAC bietet die effizienteste und skalierbarste Methode, um dies zu erreichen, zumindest für Organisationen mit einer großen Anzahl von Mitarbeitern. Es erfordert nur minimalen Wartungsaufwand, macht mehrere Passwörter überflüssig, erleichtert das Hinzufügen oder Ändern von Rollen und hilft bei der Erfüllung gesetzlicher Compliance-Anforderungen.