Einträge von Zugriffssteuerungslisten (ACL) erlauben oder verweigern einem Benutzer den Zugriff auf bestimmte Laufzeitressourcen. Bei Laufzeitressourcen handelt es sich um WebSphere Message Broker-Objekte, die während der Laufzeit in der Brokerdomäne vorhanden sind.
Jedes Laufzeitobjekt verfügt über eine Zugriffssteuerungsliste (Access Control List), die bestimmt, welche Benutzer und Gruppen auf das Objekt zugreifen können. Mit Zugriffssteuerungslisteneinträgen können Sie den Zugriff von Benutzern auf bestimmte Objekte in der Brokerdomäne kontrollieren und einem Benutzer oder einer Gruppe die Anzeige, Änderung oder Implementierung des Objekts erlauben. Sie können die ACL-Einträge mithilfe der Workbench, der Anwendungsprogrammierschnittstelle des Java-Konfigurationsmanager-Proxy oder mit den Befehlen mqsicreateaclentry, mqsideleteaclentry und mqsilistaclentry bearbeiten.
So kann beispielsweise festgelegt werden, dass Benutzer USER1 Änderungszugriff auf BROKERA, aber keinen Zugriff auf BROKERB erhält. In einem anderen Beispiel kann derselbe Benutzer berechtigt werden, Nachrichtengruppen für die Ausführungsgruppe EXEGRP1, nicht aber für EXEGRP2 einzusetzen, auch wenn beide Ausführungsgruppen zu BROKERA gehören.
Der Konfigurationsmanager prüft die ACL-Tabelle. Ist Ihre Benutzer-ID im Zugriffssteuerungslisteneintrag des betreffenden Objekts aufgeführt, haben Sie die Berechtigung, den Vorgang ausführen.
Einem Benutzer bzw. einer Gruppe können vier verschiedene Zugriffsebenen zugeordnet werden: Vollständige Kontrolle, Anzeigen, Implementieren und Bearbeiten. Für die jeweiligen Objekttypen sind nicht alle Zugriffsebenen zulässig; unter ACL-Berechtigungen finden Sie eine Liste mit den Berechtigungen, die den jeweiligen Objekttypen zugeordnet werden können, sowie eine Zusammenfassung der Aktionen, die der Benutzer bzw. die Gruppe ausführen können.
Ein Zugriffssteuerungslisteneintrag enthält den Benutzernamen und kann einen Hostnamen oder Domänennamen angeben. Es ist beispielsweise möglich, dass ein Benutzer Zugriff auf die Objekte erhält, indem er einen Account auf einem Computer anlegt, der einen Hostnamen aufweist, welcher der gleiche wie ein autorisierter Windows-Domänennamen ist. Verwenden Sie Zugriffssteuerungslisteneinträge, um den Zugriff auf die Objekte in der Brokerdomäne zu kontrollieren, aber benutzen Sie sie nicht, um Brokerdomänen zu schützen; verwenden Sie SSL oder Sicherheitsexits, um die Kanäle zwischen Komponenten in der Brokerdomäne zu schützen. ACL-Einträge erlauben oder verweigern einem Benutzer zwar auf Basis der Benutzer-ID den Zugriff auf ein Objekt, können das Objekt jedoch nicht schützen, da ein ACL-Eintrag nicht die Identität des Benutzers verifizieren kann.
Um die Anzahl der Zugriffssteuerungseinträge, die von einem Brokeradministrator erstellt werden müssen, zu reduzieren, weisen die ACL-Berechtigungen ein hierarchisches Verhalten auf. Das Stammelement der Baumstruktur ist das ObjektConfigManagerProxy, dem drei untergeordnete Elemente zugeordnet sind: RootTopic, Subscriptions und PubSubTopology. Dem Objekt PubSubTopology sind null oder mehrere Broker untergeordnet, und jeder Broker verfügt über null oder mehrere untergeordnete Ausführungsgruppen. Wenn ein ACL-Eintrag zu einem bestimmten Objekt hinzugefügt wird, gilt diese Berechtigung für das Objekt und alle untergeordneten Objekte in der Hierarchie, es sei denn, die Berechtigung wird von einem anderen ACL-Eintrag außer Kraft gesetzt. Das folgende Diagramm stellt eine Beispielhierarchie der ACL-Einträge dar:
Im Abschnitt Sicherheit für Domänenkomponenten konfigurieren finden Sie Beispiele für die Funktionsweise dieser Hierarchie in der Praxis.
Um die Zugriffssteuerungseinträge für ein Objekt ändern zu können, muss der Benutzer über die vollständige Berechtigung für das Objekt oder eines der ihm übergeordneten Objekte in der Hierarchie verfügen. Dies bedeutet, dass bei der Berechtigung zum Ändern der ACLs nach dem oben beschriebenen Prinzip vorgegangen wird, mit der Ausnahme, dass Zugriffsberechtigungen für ACLs nicht durch Erteilen einer niedrigeren Berechtigung weiter unten in der Baumstruktur entfernt werden können; wäre dies nicht der Fall, könnte sich ein Benutzer selbst eine Anzeigeberechtigung erteilen und wäre dann nicht mehr in der Lage, diese zu entfernen.
Unter z/OS müssen Sie ein OMVS-Segment für Benutzer-IDs und Gruppen erstellen, damit ein Konfigurationsmanager Benutzer-IDs und Gruppeninformationen aus der Datenbank des externen Sicherheitsmanagers (ESM; External Security Manager) abrufen kann.
In vorherigen Versionen von WebSphere Message Broker wurde der Zugriff auf Laufzeitobjekte bestimmt, indem ein Gruppensatz definiert und den Gruppen Benutzer zugewiesen wurden. Zugriffssteuerungslisteneinträge ermöglichen Ihnen, den Zugriff genauer zu bestimmen als mit Gruppen. Zugriffssteuerungslisteneinträge ermöglichen auch einem einzelnen Konfigurationsmanager, die Entwicklungs-, Test- und Produktionssysteme zu verwalten, indem der Zugriff der Benutzer auf jeden Broker separat konfiguriert wird. Bei der Verwendung von Gruppen müssten Sie die Entwicklungs-, Test- und Produktionssysteme in separaten Brokerdomänen unterbringen, von denen jede von einem eigenen Konfigurationsmanager kontrolliert wird.
Bei der Verwendung einzelner Zugriffssteuerungslisten müssen Sie die Benutzer auf der Workstation definieren, die auf die Objekte zugreift (d. h. das System, auf dem das Toolkit ausgeführt wird). Sie müssen diese jedoch nicht auf der Workstation definieren, auf der der Konfigurationsmanager ausgeführt wird. Wenn Sie jedoch Gruppen-ACLs verwenden, müssen Sie die Benutzer vor dem Hinzufügen zu der Gruppe auf beiden Workstations und die Gruppen anschließend auf der Workstation definieren, auf der der Konfigurationsmanager ausgeführt wird. Dieser Vorgang ist erforderlich, da zwischen den Workstations keine Gruppeninformationen übergeben werden.