Vorheriges Thema: Rollenbasierte ZugriffskontrolleNächstes Thema: Standardbenutzer und -gruppen


RBAC - Übersicht

RBAC steht für rollenbasiertes Zugriffskontrollsystem (RBAC) von CA AppLogic®. Mit RBAC kann äußerst genau gesteuert werden, welche Benutzer welche Aktionen an welchen Objekten in einem Grid ausführen dürfen. Der allgemeine Zweck von RBAC besteht darin, vielen Benutzern die Arbeit in einem Grid zu erlauben, ohne sich dabei gegenseitig zu beeinflussen. RBAC ist nicht dafür ausgelegt, Mandantenfähigkeit bereitzustellen. Zum Beispiel können alle Benutzer die Liste aller Anwendungen anzeigen wie Benutzer in Linux die Dateien auflisten können, auf die sie keinen Zugriff haben. (Namespaces von Objekten werden nicht getrennt.)

RBAC unterstützt sowohl Benutzer als auch Gruppen, um eine Benutzeraktion zu genehmigen. Gruppen können Benutzer oder andere Gruppen als Mitglieder einschließen. Benutzer und Gruppen, die für ein bestimmtes Grid spezifisch sind, können mithilfe der Befehlszeilenschnittstelle (CLI) von CA AppLogic® erstellt werden. Informationen zu Benutzern und Gruppen werden von einem Verzeichnisdienst verwaltet, der auf der Grid-Steuerung installiert wird.

RBAC unterstützt auch die optionale Verwendung von externen Verzeichnisdiensten wie Microsoft® Windows® Active Directory®. In diesem Fall werden bei der Authentifizierung eines Benutzers durch diesen Service die Informationen über Benutzer und Gruppen des externen Verzeichnisdienstes verwendet.

CA AppLogic® bezieht sich auf Benutzer und Gruppen, die als lokale Benutzer zu einem spezifischen Grid gehören. Benutzer und Gruppen, die in einem externen Verzeichnisdienst verwaltet werden, werden als global bezeichnet. Auch die zugehörigen Verzeichnisdienste werden in lokal und global unterschieden. Ein Grid kann konfiguriert werden, um nur lokale Benutzer und Gruppen zu verwenden, oder sowohl lokale als auch globale Benutzer und Gruppen zu verwenden.

Benutzer und Gruppen werden auch als Prinzipale bezeichnet. Um einen Prinzipal eindeutig zu identifizieren, wird jedem Prinzipal eine eindeutige Kennung oder Prinzipal-ID zugewiesen. Wenn der Prinzipal ein Benutzer ist, wird die Prinzipal-ID oft als Benutzer-ID bezeichnet. Wenn der Prinzipal eine Gruppe ist, wird die Prinzipal-ID oft als Gruppen-ID bezeichnet. Die Prinzipal-ID kann verwendet werden, um Bereich, Typ und Namen des Prinzipals zu suchen. Der Bereich des Prinzipals zeigt an, ob der Prinzipal lokal oder global ist. Der Typ des Prinzipals zeigt an, ob der Prinzipal ein Benutzer oder eine Gruppe ist. Der Name des Prinzipals ist sein allgemein gebräuchlicher Name. Zum Beispiel ist der lokale Benutzer John ein Prinzipal des Bereichs "Lokal" vom Typ "Benutzer" mit dem Namen "John".

Die Hauptfunktion von RBAC ist, Benutzerautorisierung zu gewähren. Um diese Autorisierung zu gewähren, verwendet RBAC Zugriffssteuerungslisten (Access Control Lists - ACLs). Es gibt drei Typen von Grid-Objekten, denen eine ACL zugeordnet ist: Anwendungen, globale Kataloge und das Grid selbst. Eine ACL besteht aus einem Eigentümer und einer Liste von Einträgen. Der Eigentümer ist ein Prinzipal und verfügt über das ausdrückliche Recht, die ACL zu ändern. Jeder Eintrag besteht aus einem Prinzipal und einer entsprechenden Zugriffsebene, die bestimmt, wie dieser Prinzipal autorisiert wird, um Aktionen auf dem Objekt auszuführen. Eine Zugriffsebene ist eine Sammlung bestimmter Berechtigungen. Zum Beispiel hat das Grid-Objekt eine Zugriffsebene mit Namen grid_administrator, und eine der in dieser Zugriffsebene enthaltenen Berechtigungen ist die Berechtigung, sich beim Grid anzumelden. Eine eindeutige Prinzipal-ID stellt jeden Prinzipal in einer ACL dar.

ACL - Übersicht

RBAC beseitigt nicht den Verwalterzugriff auf das Grid. Vorgänge, die ein Verwalter ausgeführt, sind nicht von der Genehmigung abhängig.

Eine ACL ist eine Liste der Möglichkeiten, wie der Zugriff auf ein Objekt gewährt wird. Diese Liste enthält Berechtigungsebenen für Einzelanwender und Gruppen. Ein Benutzer kann als Einzelanwender und als Mitglied in einer oder in mehreren Gruppen aufgelistet werden. Deswegen wertet das System jeden relevanten ACL-Eintrag aus, während der Zugriff auf das Objekt gewährt wird. Das System erteilt dem Benutzer den umfassendsten Zugriff, für den sie sich qualifizieren, indem sie ein Gruppenmitglied oder ein aufgelisteter Einzelanwender sind. Wenn der "umfassendste Zugriff" die erforderliche Berechtigung auf dem Objekt angibt, dann ist die Autorisierungsüberprüfung erfolgreich.

Das System betrachtet die Gruppenmitgliedschaft rekursiv. Dadurch betrachtet das System in zwei Fällen einen Benutzer als Mitglied einer Gruppe.

Die rekursive Gruppenmitgliedschaft wird auf soviele Ebenen von verschachtelten Gruppen innerhalb von definierten Gruppen erweitert.

Beispiel: Ein Benutzer mit Gruppenzugriff und mit individuellem Zugriff auf eine Grid-ACL

Jan ist Mitglied der Gruppe "financial_operators" in der Grid-ACL. Dieser Gruppe wird die Zugriffsebene "grid_user" auf dem Grid-Objekt zugewiesen. Diese Zugriffsebene enthält die Berechtigung für das Bereitstellen von Anwendungen. Diese Zugriffsebene enthält keine Berechtigung für das Erstellen eines lokalen Benutzers.

Jan hat auch einen individuellen Eintrag auf der Grid-ACL. Diesem individuellen Eintrag wird die Zugriffsebene "grid_administrator" auf dem Grid-Objekt zugewiesen. Diese Zugriffsebene enthält die Berechtigung für das Erstellen eines lokalen Benutzers. Diese Zugriffsebene enthält keine Berechtigung für das Bereitstellen von Anwendungen.

Jan meldet sich beim Grid an. In der gleichen Sitzung will Jan einen lokalen Benutzer erstellen und eine Anwendung bereitstellen. Die Autorisierungsüberprüfung ermöglicht es Jan, beide Aktionen auszuführen. Über die Gruppenmitgliedschaft verfügt Jan über die Berechtigung, eine Anwendung bereitzustellen. Über den individuellen ACL-Eintrag verfügt Jan über die Berechtigung, einen lokalen Benutzer zu erstellen.

Beispiel: Rekursive Gruppenmitgliedschaft

Robin will einen lokalen Benutzer aus dem Grid löschen. Nur Mitglieder der Gruppe "grid_administrators" haben die Berechtigung, lokale Benutzer zu löschen. Robin ist nicht als Mitglied der Gruppe "grid_administrators" aufgelistet. Allerdings ist Robin Mitglied der Gruppe "al_senior_admins". Diese Gruppe ist als Mitglied der Gruppe "grid_administrators" aufgelistet. Deswegen beachtet das System Robin als Mitglied der Gruppe "grid_administrators". Robin verfügt über die Berechtigung, einen lokalen Benutzer zu löschen.