Richtliniendateien für Java-2-Sicherheit konfigurieren

Benutzer können Richtliniendateien für die Java™-2-Sicherheit konfigurieren, so dass die erforderliche Berechtigung der angegebenen WAS-Unternehmensanwendung erteilt wird.

Vorbereitende Schritte

Die Java-2-Sicherheit bestimmt anhand mehrerer Richtliniendateien die Berechtigungen für die einzelnen Java-Programme.

Die Beschreibung der Java-2-Sicherheitsrichtliniendateien enthält eine Liste verfügbarer Richtliniendateien, die von WebSphere Application Server unterstützt werden.

WebSphere Application Server unterstützt zwei Arten von Richtliniendateien: dynamische und statische Richtliniendateien. Statische Richtliniendateien geben die Standardberechtigungen an. Dynamische Richtliniendateien geben die Berechtigungen einer Anwendung an. Es werden sechs dynamische Richtliniendateien bereitgestellt:
Tabelle 1. Dynamische Richtliniendateien. In dieser Tabelle sind die dynamischen Richtliniendateien aufgelistet.
Name der Richtliniendatei Beschreibung
app.policy Enthält die Standardberechtigungen für alle Unternehmensanwendungen der Zelle.
Anmerkung: Aktualisierungen der Datei app.policy gelten nur für die Unternehmensanwendungen, die auf dem Knoten ausgeführt werden, zu dem die Datei app.policy gehört.
was.policy Enthält anwendungsspezifische Berechtigungen für eine WAS-Unternehmensanwendung. Diese Datei ist in einer EAR-Datei enthalten.
ra.xml Enthält Connector-spezifische Berechtigungen für eine WAS-Unternehmensanwendung. Diese Datei ist in einer RAR-Datei enthalten.
spi.policy Enthält Berechtigungen für SPI (Service Provider Interface) oder in WebSphere Application Server eingebettete Ressourcen von Fremdanbietern. Der Standardinhalt gewährt alle Berechtigungen. Aktualisieren Sie diese Datei, wenn die Zelle mehr Schutz vor SPI in der Zelle benötigt. Diese Datei wird auf alle in der Datei resources.xml definierten SPIs angewendet.
library.policy Enthält Berechtigungen für die von Unternehmensanwendungen gemeinsam benutzte Bibliothek.
filter.policy Enthält die Liste der Berechtigungen, die aus der Datei was.policy und der Datei app.policy in der Zelle herausgefiltert werden sollen. Dieser Filter wird nur auf Die Dateien was.policy und app.policy angewendet.
In WebSphere Application Server müssen Anwendungen die entsprechenden, in der Datei was.policy oder app.policy angegebenen Threadberechtigungen besitzen. Sind die Threadberechtigungen nicht angegeben, kann die Anwendung keine Threads bearbeiten, und WebSphere Application Server löst eine Ausnahme des Typs java.security.AccessControlException aus. Die Datei app.policy gilt nur für einen bestimmten Knoten. Wenn Sie die Berechtigungen in einer Datei app.policy ändern, müssen Sie die neue Threadrichtlinie auf den verbleibenden Knoten in dieselbe Datei einfügen. Wenn Sie der Datei app.policy Threadberechtigungen hinzufügen, müssen Sie WebSphere Application Server erneut starten, damit die neuen Berechtigungen wirksam werden. Wenn Sie der Datei was.policy jedoch Berechtigungen für eine bestimmte Anwendung hinzufügen, müssen Sie WebSphere Application Server nicht erneut starten. Ein Administrator muss den folgenden Code zur Datei was.policy bzw. app.policy für eine Anwendung hinzufügen, um Threads bearbeiten zu können:
grant codeBase "file:${application}" {
  permission java.lang.RuntimePermission "stopThread";
  permission java.lang.RuntimePermission "modifyThread";
  permission java.lang.RuntimePermission "modifyThreadGroup";
};
Wichtig: Das Schlüsselwort "Signed By" wird in den folgenden Richtliniendateien nicht unterstützt: app.policy, spi.policy, library.policy, was.policy und filter.policy. Von den folgenden Richtliniendateien wird das Schlüsselwort "Signed By" jedoch unterstützt: java.policy, server.policy und client.policy. Java Authentication and Authorization Service (JAAS) wird in den Dateien app.policy, spi.policy, library.policy, was.policy und filter.policy nicht unterstützt. Das JAAS-Principal-Schlüsselwort wird jedoch in einer JAAS-Richtliniendatei unterstützt, wenn es von der JVM-Systemeigenschaft java.security.auth.policy angegeben wird. Sie können die Berechtigungsrichtliniendateien in java.security.auth.policy mit auth.policy.url.n=URL statisch definieren. URL steht hier für die Adresse der Berechtigungsrichtlinie.

Vorgehensweise

  1. Ermitteln Sie die zu aktualisierende Richtliniendatei.
    Tipp: Wählen Sie die Richtliniendatei mit dem kleinsten Geltungsbereich aus. Auf diese Weise vermeiden Sie, Java-Programmen Sonderberechtigungen zu erteilen, und schützen Ihre Ressourcen. Aktualisieren Sie bevorzugt die Datei ra.xml oder was.policy und nicht die Datei app.policy. Verwenden Sie an Stelle von ${Anwendung}-Symbolen spezifische Komponentensymbole ($(EJB-Komponente), ${Webkomponente}, ${Connector-Komponente} und ${JARs}). Aktualisieren Sie an Stelle statischer Richtliniendateien dynamische Richtliniendateien.

    Fügen Sie alle Berechtigungen, die der WAS-Unternehmensanwendung in der Zelle auf keinen Fall gewährt werden dürfen, zur Datei filter.policy hinzu. Weitere Informationen hierzu finden Sie im Artikel Berechtigungen in der Datei filter.policy.

  2. Starten Sie die WAS-Unternehmensanwendung erneut.

Ergebnisse

Die erforderliche Berechtigung wird der angegebenen WAS-Unternehmensanwendung gewährt.
[AIX Solaris HP-UX Linux Windows][IBM i]

Beispiel

Wenn eine WebSphere Application Server-Unternehmensanwendung in einer Zelle Berechtigungen benötigt, müssen manche dynamischen Richtliniendateien aktualisiert werden. Eine fehlende Berechtigung äußert sich durch die Ausnahme java.security.AccessControlException. Die fehlende Berechtigung ist in den folgenden Ausnahmedaten angegeben. Diese Daten erscheinen in einer Zeile, se wurden hier aber zur besseren Lesbarkeit auf mehrere Zeilen aufgeteilt.

[IBM i][z/OS]
java.security.AccessControlException: access denied (java.io.FilePermission 
${was.install.root}/java/ext/mail.jar read)

Wenn ein Java-Programm diese Ausnahme empfängt und das Hinzufügen dieser Berechtigung vertretbar ist, fügen Sie eine Berechtigung zur entsprechenden dynamischen Richtliniendatei hinzu.

[IBM i][z/OS]
grant codeBase "file:Installationsposition_des_Benutzerclients" {
  permission java.io.FilePermission 
"${was.install.root}$(/)java$(/)jre$(/)lib$(/)ext$(/)mail.jar", "read";
};

Die obigen Informationen wurden zur besseren Lesbarkeit auf mehrere Zeilen aufgeteilt. Geben Sie die Berechtigung in einer Zeile ein.

Bevor Sie sich entschließen, eine Berechtigung hinzuzufügen, lesen Sie den Artikel Zugriffssteuerungsausnahme für Java-2-Sicherheit.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



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