Benennungsrollen

Das rollenbasierte J2EE-Berechtigungsverfahren (Java™ 2 Platform, Enterprise Edition) wurde erweitert, um den Service CosNaming zu schützen.

Die CosNaming-Sicherheitskomponente ermöglicht eine bessere Unterteilung der Sicherheitssteuerung von CosNaming-Funktionen. CosNaming-Funktionen sind auf CosNaming-Servern, wie z. B. dem WebSphere Application Server, verfügbar. Sie beeinflussen den Inhalt des Namespace. Im Allgemeinen gibt es zwei Verfahren, mit denen Clientprogramme zu CosNaming-Aufrufen führen. Beim ersten Verfahren werden die JNDI-Methoden (Java Naming and Directory Interface) verwendet. Die zweite Möglichkeit ist, wenn CORBA-Clients direkt CosNaming-Methoden aufrufen.

Die folgenden Sicherheitsrollen sind vorhanden. Die Rollen haben jedoch eine Berechtigungsstufe, die von niedrig bis hoch reicht, wie Sie der folgenden Liste entnehmen können. Die Liste enthält auch die sicherheitsrelevanten Schnittstellenmethoden für jede Rolle. Die Schnittstellenmethoden, die nicht aufgelistet sind, werden entweder nicht unterstützt oder sind für die Sicherheit nicht relevant.
  • CosNamingRead. Benutzer, die der Rolle "CosNamingRead" zugeordnet sind, können den Namespace abfragen, z. B. mit der JNDI-Methode "lookup". Das Sondersubjekt "Everyone" ist die Standardrichtlinie für diese Rolle.
    Tabelle 1. Pakete und Schnittstellenmethoden für die Rolle "CosNamingRead". In der folgenden Tabelle sind die Pakete und Schnittstellenmethoden für die Rolle "CosNamingRead" aufgelistet:
    Paket Schnittstellenmethode
    javax.naming
    • Context.list
    • Context.listBindings
    • Context.lookup
    • NamingEnumeration.hasMore
    • NamingEnumeration.next
    org.omg.CosNaming
    • NamingContext.list
    • NamingContext.resolve
    • BindingIterator.next_one
    • BindingIterator.next_n
    • BindingIterator.destroy
  • CosNamingWrite. Benutzer, die der Rolle "CosNamingWrite" zugeordnet sind, können Schreiboperationen wie JNDI bind, rebind oder unbind und CosNamingRead-Operationen ausführen. Standardmäßig werden Subjekte dieser Rolle nicht zugeordnet.
    Tabelle 2. Pakete und Schnittstellenmethoden für die Rolle "CosNamingWrite". In der folgenden Tabelle sind die Pakete und Schnittstellenmethoden für die Rolle "CosNamingWrite" aufgelistet:
    Paket Schnittstellenmethode
    javax.naming
    • Context.bind
    • Context.rebind
    • Context.rename
    • Context.unbind
    org.omg.CosNaming
    • NamingContext.bind
    • NamingContext.bind_context
    • NamingContext.rebind
    • NamingContext.rebind_context
    • NamingContext.unbind
  • CosNamingCreate. Benutzer, die der Rolle "CosNamingCreate" zugeordnet sind, können mit JNDI-Operationen des Typs "createSubcontext" und Operationen des Typs "CosNamingWrite" neue Objekte im Namespace erstellen. Standardmäßig werden Subjekte dieser Rolle nicht zugeordnet.
    Tabelle 3. Pakete und Schnittstellenmethoden für die Rolle "CosNamingCreate". In der folgenden Tabelle sind die Pakete und Schnittstellenmethoden für die Rolle "CosNamingCreate" aufgelistet:
    Paket Schnittstellenmethode
    javax.naming Context.createSubcontext
    org.omg.CosNaming NamingContext.bind_new_context
  • CosNamingDelete. Benutzer, die der Rolle "CosNamingDelete" zugeordnet sind, können Objekte im Namespace löschen, z. B. mit der JNDI-Methode "destroySubcontext" und CosNamingCreate-Operationen. Standardmäßig werden Subjekte dieser Rolle nicht zugeordnet.
    Tabelle 4. Pakete und Schnittstellenmethoden für die Rolle "CosNamingDelete". In der folgenden Tabelle sind die Pakete und Schnittstellenmethoden für die Rolle "CosNamingDelete" aufgelistet:
    Paket Schnittstellenmethode
    javax.naming Context.destroySubcontext
    org.omg.CosNaming NamingContext.destroy
Wichtig: Das Paket javax.naming gilt nur für den JNDI-Service-Provider CosNaming. Alle Varianten einer JNDI-Schnittstellenmethode haben dieselbe Rollenzuordnung.
Wenn der Caller (Aufrufende) nicht berechtigt ist, zeigen die in den vorherigen Tabellen aufgelisteten Pakete das folgende Verhalten:
javax.naming
Dieses Paket erzeugt die Ausnahme javax.naming.NoPermissionException, die NO_PERMISSION aus dem CosNaming-Methodenaufruf der Ausnahme NoPermissionException zuordnet.
org.omg.CosNaming
Dieses Paket erzeugt die Ausnahme org.omg.CORBA.NO_PERMISSION.

Das Hinzufügen oder Entfernen von Benutzern, Gruppen und der Sondersubjekte "AllAuthenticated" und "Everybody" für die Benennungsrollen ist über die Administrationskonsole von WebSphere Application Server jederzeit möglich. Sie müssen den Server jedoch erneut starten, damit die Änderungen wirksam werden. Es wird empfohlen, lieber Gruppen oder Sondersubjekte statt einzelnen Benutzern den Benennungsrollen zuzuordnen, da dies auf längere Sicht eine flexiblere und einfachere Verwaltung ermöglicht. Durch das Zuordnen einer Gruppe zu einer Benennungsrolle erfolgt das Hinzufügen und Entfernen von einzelnen Benutzern (in der Gruppe) außerhalb von WebSphere Application Server und erfordert keinen Serverneustart.

Wenn ein Benutzer einer bestimmten Benennungsrolle zugeordnet ist und dieser Benutzer Member einer Gruppe ist, die einer anderen Benennungsrolle zugeordnet ist, wird dem Benutzer der Zugriff erteilt, der ihm die meisten Rechte einräumt. Angenommen, der Benutzer MeinBenutzer ist der Rolle CosNamingRead zugeordnet und die Gruppe MeineGruppe der Rolle CosNamingCreate. Wenn der Benutzer MeinBenutzer Member der Gruppe MeineGruppe ist, wird der Benutzer MeinBenutzer der Rolle e CosNamingCreate zugeordnet, weil der Benutzer Member der Gruppe MeineGruppe ist. Ist der Benutzer MeinBenutzer kein Member der Gruppe MeineGruppe, wird er der Rolle CosNamingRead zugeordnet.

Die CosNaming-Berechtigungsrichtlinie wird nur bei Aktivierung der Verwaltungssicherheit angewendet. Wenn die Verwaltungssicherheit aktiviert ist, führen Versuche, CosNaming-Operationen ohne die erforderlichen Rolle auszuführen, zu einer Ausnahme des Typs org.omg.CORBA.NO_PERMISSION vom CosNaming-Server.

In WebSphere Application Server ist jeder CosNaming-Funktion nur eine Rolle zugeordnet. Deshalb können Benutzer, die der Rolle "CosNamingCreate" zugeordnet sind, den Namespace nur abfragen, wenn sie auch der Rolle "CosNamingRead" zugeordnet sind. Und in den meisten Fällen benötigt ein Ersteller drei Rollen: CosNamingRead, CosNamingWrite und CosNamingCreate. Die Rollen "CosNamingRead" und "CosNamingWrite" im Beispiel für einen Ersteller sind in der Rolle "CosNamingCreate" mit enthalten. Meistens brauchen Administratoren von WebSphere Application Server die Rollenzuordnungen der Benutzer und Gruppen nicht zu ändern, wenn sie von einer früheren auf diese Version wechseln.

Es ist zwar möglich, den Zugriff auf den Namespace durch Änderung der Standardwertegruppe stark einzuschränken, dies kann jedoch zur Laufzeit zu unerwarteten Ausnahmen des Typs org.omg.CORBA.NO_PERMISSION führen. Normalerweise greifen J2EE-Anwendungen auf den Namespace zu. Sie verwenden dabei die Identität des Benutzers, der beim Zugriff auf die J2EE-Anwendung in WebSphere Application Server authentifiziert wurde. Wenn der Lieferant der J2EE-Anwendung die erwarteten Benennungsrollen nicht eindeutig mitteilt, sollte die Standardberechtigungsrichtlinie für Benennung nur mit Vorsicht geändert werden.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_nameroles
Dateiname:rsec_nameroles.html