Über die themenspezifischen Sicherheit können Sie festlegen, welche Anwendungen in Ihrem Publish/Subscribe-System Zugriff auf die Informationen zu welchen Themen erhalten.
Sie können für jedes Thema, auf das Sie den Zugriff einschränken möchten, die Principals (Benutzer-IDs und Gruppen von Benutzer-IDs) angeben, die zu diesem Thema veröffentlichen bzw. sich für dieses Thema anmelden können. Darüber hinaus können Sie auch angeben, welche Principals eine persistente Nachrichtenübermittlung anfordern können.
Nachrichten zu Themen, die keiner Beschränkung unterliegen, können von jedem Principal veröffentlicht, subskribiert oder an jeden Principal persistent übermittelt werden.
Die themenspezifische Sicherheit wird über einen Benutzernamensserver verwaltet, der anhand der von Ihnen erstellten ACLs festlegt, welche Berechtigungen gelten.
Der Benutzernamensserver in WebSphere Message Broker verwaltet für die Broker und den Konfigurationsmanager die im Netz definierten Principals für das Publish/Subscribe-System. Unter Windows wird diese Benutzerliste im Befehl mqsicreateusernameserver aus der Domäne abgerufen.
Durch Angabe des Warteschlangenmanagers des Benutzernamensservers in den Befehlen mqsicreatebroker und mqsicreateconfigmgr wird der Benutzernamensserver im Broker und im Konfigurationsmanager registriert.
Nachrichtenbroker in der Brokerdomäne arbeiten mit dem Benutzernamensserver zusammen, so dass alle Benutzer und Gruppen abgerufen werden können, auf deren Basis dann die Zugriffssteuerungslisten (die ACLs) erstellt werden, anhand derer die Publish/Subscribe-Anforderungen überprüft werden. Der Konfigurationsmanager kommuniziert mit dem Benutzernamensserver, um die Benutzer und Benutzergruppen in den ACLs anzuzeigen, die mit Hilfe des Editors für Themenhierarchien in der Ansicht 'Brokerverwaltung' der Workbench erstellt werden.
Über Zugriffssteuerungslisten (ACLs; Access Control Lists) wird die Berechtigung eines Principals festgelegt, ein bestimmtes Thema zu veröffentlichen, zu empfangn bzw. eine persistente Übermittlung von Veröffentlichungen zu diesem Thema zu erhalten.
Darüber hinaus können Sie über die ACL auch den Nachrichtenschutz festlegen, der für die einzelnen Themen gelten soll.
Diese Definitionen werden mit Hilfe des Editors für Themenhierarchien in der Ansicht 'Brokerverwaltung' der Workbench vorgenommen.
Die Zugriffssteuerung kann für jedes Thema einzeln festgelegt werden. Wenn für ein Thema keine ACL festgelegt wird, so wird die Zugriffssteuerung des übergeordneten Themas übernommen, die durch die hierarchische Struktur der Themenbaumstruktur vorgegeben ist. Wurde für keines der Themen unterhalb des Themas der höchsten Ebene eine ACL definiert, so wird die ACL des Themas der höchsten Ebene übernommen.
Alle im Benutzernamensserver registrierten Principals können auf diesen Weise einem Thema zugeordnet werden.
ACLs können keinen Themen zugeordnet werden, die Platzhalterzeichen enthalten. Der Zugriff Ihrer Clientanwendung wird jedoch bei der Subskriptionsanmeldung korrekt aufgelöst, auch wenn im Thema der Anwendung ein Platzhalterzeichen enthalten ist.
Zusätzlich zu den von Ihnen definierten Gruppen wird in WebSphere Message Broker implizit eine öffentliche Gruppe, PublicGroup bereitgestellt, der alle Benutzer automatisch angehören. Diese implizite Gruppe erleichtert die Definition von ACLs in einer Themenbaumstruktur. Diese Gruppe wird insbesondere für die Definition der ACL für Themen der höchsten Ebene herangezogen. Die Standardeinstellung der höchsten Themenebene gestattet der PublicGroup die Ausführung von Publish- und Subscribe-Operationen. Sie können die ACL über die Workbench anzeigen und ändern, aber nicht löschen. Diese ACL legt die Standardberechtigungen für die gesamte Themenbaumstruktur fest. Sie können für die PublicGroup überall dort in der Themenstruktur ACLs angeben, wo Berechtigungen für alle Benutzer definiert werden sollen.
Wenn Sie in der bestehenden Sicherheitsumgebung einen Principal namens Public definiert haben, sollte dieser nicht für die themenspezifische Sicherheit verwendet werden. Bei Angabe dieses Principals in einer ACL wird dieser der öffentlichen Gruppe (PublicGroup) gleichgesetzt und ermöglicht dadurch immer einen globalen Zugriff.
WebSphere Message Broker erteilt Mitgliedern der Gruppe mqbrkrs und der globalen Gruppe Domain mqbrkrs, falls notwendig, besondere Publish/Subscribe-Zugriffsberechtigungen.
Broker benötigen für die Ausführung interner Publish- und Subscribe-Operationen in Netzen mit Zugriffssteuerung spezielle Berechtigungen. Wird ein Broker in einem solchen Netz erstellt, müssen Sie eine Benutzer-ID angeben, die als Servicebenutzer-ID für den Broker zur Gruppe mqbrkrs gehört. Die Gruppe mqbrkrs verfügt über implizite Rechte, so dass ihre Mitglieder Nachrichten veröffentlichen und sich für Nachrichten anmelden und außerdem die persistente Übermittlung von Nachrichten auf der höchsten Themenebene ("") anfordern können. Alle anderen Themen übernehmen diese Berechtigungen. Sollten Sie mit Hilfe der Workbench eine ACL für die Gruppe mqbrkrs erstellen, wird diese ACL von WebSphere Message Broker ignoriert.
Nachrichten für interne Publish- und Subscribe-Operationen werden innerhalb der gesamten Brokerdomäne für systemspezifische Themen verwendet, die mit der Zeichenfolge "$SYS" oder "$ISYS" beginnen.
Für Themen, die mit "$ISYS" beginnen, dürfen keine ACLs eingerichtet werden. Sie können diese ACLs zwar erstellen, sie werden jedoch ignoriert.
Alle Benutzer mit einer ACL, die auf Sicherheit auf Objektebene beruht und dem Objekt 'Thema der höchsten Ebene' die vollständige Steuerungsberechtigung erteilt, können die ACLs definieren und bearbeiten, in denen festgelegt wird, welche Principals zu welchen Themen Nachrichten veröffentlichen bzw. subskribieren können. Durch ACLs kann auch die Übermittlung von persistenten Nachrichten eingeschränkt und die Ebene für den Nachrichtenschutz definiert werden.
Option | Beschreibung: |
---|---|
Publish | Über diese Option wird festgelegt, ob der Principal Nachrichten zu dem betreffenden Thema veröffentlichen kann. |
Subscribe | Über diese Option wird festgelegt, ob sich der Principal für Nachrichten zu dem betreffenden Thema anmelden kann. |
Persistent | Gibt an, ob der Principal Nachrichten persistent empfangen kann. Ist der Principal nicht dazu berechtigt, werden alle Nachrichten nicht-persistent gesendet. In jeder Subskription ist angegeben, ob der Subskribent eine persistente Übermittlung anfordert. |
QoP Level | Gibt die geltende Nachrichtenschutzstufe an.
Zulässige Werte:
|
In der Regel sind Themen in einer hierarchischen Baumstruktur angeordnet. Die ACL eines übergeordneten Themas kann von einigen oder allen ihm untergeordneten Themen übernommen werden, die über keine eigene ACL verfügen. Daher muss nicht unbedingt für jedes Thema eine eigene ACL definiert werden. Jedes Thema verfügt über eine ACL-Richtlinie, bei der es sich um die Richtlinie des übergeordneten Themas handelt. Verfügt keines der übergeordneten Themen in der Baumstruktur über eine eigene ACL, wird die ACL des Themas der höchsten Ebene übernommen.
In der Themenstruktur unten beispielsweise ist die höchste Themenebene nicht dargestellt; es wird aber davon ausgegangen, dass diese höchste Ebene über eine ACL für die öffentliche Gruppe (PublicGroup) verfügt, deren Mitglieder Nachrichten veröffentlichen und subskribieren sowie persistente Veröffentlichungen erhalten können. (Das Symbol "¬" steht für "nicht".)
Vererbung von ACLs in einer Themenbaumstruktur
Thema | Publisher | Subskribenten | Persistent |
---|---|---|---|
A | nur joe | jeder | keiner |
A/P | nur joe | jeder | nur joe |
A/K | nur joe | jeder | keiner |
A/K/M | nur joe | jeder | keiner |
A/K/M/N | nur mary, joe | jeder | jeder außer nat |
A/B | allen, joe | HR | keiner |
Themen, die nicht explizit durch den Systemadministrator erstellt werden, sondern beim Veröffentlichen oder Subskribieren von Nachrichten durch einen Client dynamisch erstellt werden, werden auf die gleiche Weise bearbeitet wie Themen, die durch den Systemadministrator erstellt wurden; es sind jedoch keine explizit definierten ACLs vorhanden. Das bedeutet, dass die ACLs für dynamisch erstellte Themen von dem nächsten vorhergehenden Thema in der Themenbaumstruktur übernommen werden, das über eine explizite Richtlinie verfügt. Falls keine expliziten ACLs vorhanden sind, ist es deshalb nicht erforderlich, in der Baumstruktur untergeordnete Themen zu definieren.
In WebSphere Message Broker ist es nicht möglich, eine explizite Sicherheitsrichtlinie einem Platzhalterthema zuzuordnen. Beispielsweise können Sie eine ACL nicht dem Thema "A/+" zuordnen, das eine Hierarchie auf zwei Ebenen darstellt und "A/B", "A/K" sowie "A/P" enthält.
WebSphere Message Broker garantiert jedoch die korrekte Zugriffsvermittlung, wenn die Subskription einer Clientanwendung zu einem Platzhalterthema erfolgt.
Das Thema "A/+" kann beispielsweise keine Sicherheitsrichtlinie enthalten, die dem Thema explizit zugeordnet ist. Deshalb übernimmt "A/+" die Richtlinie von "A". Jeder Benutzer kann sich für "A/+" anmelden, da in der Subscribe-ACL alle Benutzer zugelassen sind.
Wenn eine Nachricht auf "A/P" oder "A/K" veröffentlicht wird, sendet der Broker die Nachricht an den Benutzer, der "A/+" subskribiert hat. Wenn eine Nachricht jedoch auf "A/B" veröffentlicht wird, wird diese Nachricht nur an die Subskribenten der Gruppe HR gesendet.
Wenn der Systemadministrator die Subscribe-ACL eines Themas ändert, das unter "A/+" fällt, so übernimmt der Broker bei der Nachrichtenzustellung die korrekte ACL. Bei der Subskription von Platzhalterthemen ist die Semantik zur Übermittlung von Nachrichten zu allen Themen enthalten, die mit dem Platzhalter übereinstimmen und für die der Subskribent über die Berechtigung zum Empfangen dieser Nachricht verfügt.
Der Broker setzt die Zugriffssteuerung durch das Thema der Nachricht um, die übermittelt werden soll. Nachrichten werden nur an Clients übermittelt, denen der Zugriff zum Subskribieren dieses Themas nicht explizit oder durch die Übernahme verweigert wurde. Da eine Subskription Platzhalter enthalten kann, kann beim Empfang der Subskription kein Vergleich hinsichtlich des Themen-Namespace und damit der Themen-ACLs erfolgen. Die Entscheidung zur Übermittlung einer Nachricht an einen Subskribenten erfolgt nur, wenn eine bestimmte Nachricht mit einem Thema vom Nachrichtenbroker verarbeitet wird.
Die Aktualisierungen von Themen einer ACL sind erst aktiv, wenn sie in der gesamten Brokerdomäne von der WebSphere Message Broker-Workbench implementiert und aktiviert werden.
Sie müssen über eine ACL verfügen, die auf Sicherheit auf Objektebene beruht und die dem Objekt 'Thema der höchsten Ebene' die vollständige Steuerungsberechtigung erteilt.