Enterprise-Bean-Anwendungen sichern

Enterprise-Bean-Methoden können durch die Zuordnung von Sicherheitsrollen geschützt werden. Vor dem Zuordnen von Sicherheitsrollen müssen Sie wissen, welche EJB-Methoden (Enterprise JavaBeans) geschützt werden müssen und wie dieser Schutz realisiert werden soll.

Informationen zu diesem Vorgang

Sie können einer Gruppe von EJB-Methoden eine Gruppe von Rollen zuordnen. Wenn eine EJB-Methode auf diese Art gesichert wird, sollten Sie mindestens eine Rolle in dieser Gruppe zulassen, damit Sie auf die Methode noch zugreifen können. Sie können bestimmte EJB-Methoden als ausgeschlossen markieren, wenn Sie verhindern möchten, dass diese Methoden aufgerufen werden. Sie können jedermann Zugriff auf eine Gruppe von EJB-Methoden geben, indem Sie diese Methoden abwählen. Enterprise-Beans können auch unter einer anderen ID, der sogenannten RunAs-Identität, ausgeführt werden, bevor andere Enterprise-Beans aufgerufen werden.

Anmerkung: Diese Prozedur stimmt unter Umständen nicht mit den Schritten überein, die in Ihrem Assembliertool bzw. in der von Ihnen verwendeten Version des Assembliertools ausgeführt werden müssen. Folgen Sie den Anweisungen für das Tool und die Version, das bzw. die Sie verwenden. Weitere Informationen zur Verwendung der Assembliertools finden Sie im Information Center des jeweiligen Assembliertools.

Führen Sie die folgenden Schritte aus, um EJB-Anwendungen zu sichern:

Vorgehensweise

  1. Importieren Sie in einem Assembliertool Ihre EJB-JAR-Datei oder eine EAR-Datei, die mindestens ein Webmodul enthält.

    Sehen Sie sich die Informationen zum Importieren einer EJB-JAR-Datei oder zum Importieren der EAR-Datei einer Unternehmensanwendung in der Dokumentation zu Rational Application Developer an.

  2. Klicken Sie im Projektexplorer auf das Verzeichnis EJB-Projekte, und klicken Sie auf den Namen Ihrer Anwendung.
  3. Klicken Sie mit der rechten Maustaste auf den Implementierungsdeskriptor und klicken Sie anschließend auf Öffnen mit > Editor für Implementierungsdeskriptor. Wenn Sie die .jar-Datei einer Enterprise-Bean ausgewählt haben, wird ein Editor für EJB-Implementierungsdeskriptoren geöffnet. Wenn Sie die .ear-Datei einer Anwendung ausgewählt haben, wird ein Editor für den Implementierungsdeskriptor der Anwendung geöffnet. Onlineinformationen zum Editor erhalten Sie, wenn Sie die Taste F1 drücken und dann auf den Namen des Editors klicken.
  4. Erstellen Sie Sicherheitsrollen. Sie können Sicherheitsrollen auf Anwendungsebene oder auf EJB-Modulebene erstellen. Wenn eine Sicherheitsrolle auf EJB-Modulebene erstellt wird, wird die Rolle auf Anwendungsebene angezeigt. Wird eine Sicherheitsrolle auf Anwendungsebene erstellt, erscheint sie nicht in allen EJB-Modulen. Sie können Sicherheitsrollen, die Sie auf Anwendungsebene erstellt haben, wie folgt kopieren und in EJB-Module einfügen:
    • Erstellen Sie eine Rolle auf der Ebene eines EJB-Moduls. Wählen Sie in einem Editor für EJB-Implementierungsdeskriptoren das Register Assemblierung aus. Klicken Sie unter "Sicherheitsrollen" auf Hinzufügen. Geben Sie im Assistenten zum Hinzufügen von Sicherheitsrollen einen Namen und eine Beschreibung für die Sicherheitsrolle an. Klicken Sie dann auf Fertigstellen.
    • Erstellen Sie eine Rolle auf der Anwendungsebene. Wählen Sie in einem Editor für den Implementierungsdeskriptor der Anwendung die Registerkarte Sicherheit aus. Klicken Sie unter der Liste der Sicherheitsrollen auf Hinzufügen. Geben Sie im Assistenten zum Hinzufügen von Sicherheitsrollen einen Namen und eine Beschreibung für die Sicherheitsrolle an. Klicken Sie dann auf Fertigstellen.
  5. Erstellen Sie die Methodenberechtigungen. Methodenberechtigungen ordnen Methoden einer Gruppe von Rollen zu. Für eine Enterprise-Bean gibt es viert Arten von Methoden: Home-Methoden, Remote-Methoden, LocalHome-Methoden und Local-Methoden. Sie können Berechtigungen zu Enterprise-Beans auf Methodenebene hinzufügen. Eine Methodenberechtigung können Sie erst zu einer Enterprise-Bean hinzufügen, wenn Sie mindestens eine Sicherheitsrolle definiert haben. Für EJB-2.0-Projekte gibt es eine abgewählte Option, die angibt, dass für die Ausführung der ausgewählten Methoden für die ausgewählten Beans keine Berechtigung erforderlich ist. Gehen Sie wie folgt vor, um eine Methodenberechtigung zu einer Enterprise-Bean hinzuzufügen:
    1. Klicken Sie auf der Registerkarte Assemblierung eines Editors für EJB-Implementierungsdeskriptoren unter Methodenberechtigungen auf Hinzufügen. Daraufhin wird der Assistent "Methodenberechtigung hinzufügen" geöffnet.
    2. Wählen Sie in der Liste der gefundenen Rollen eine Sicherheitsrolle aus und klicken Sie auf Weiter.
    3. Wählen Sie in der Liste der gefundenen Beans die gewünschten Enterprise-Beans aus. Sie können auf Alles auswählen oder Alles abwählen klicken, um alle Enterprise-Beans in der Liste aus- oder abzuwählen. Klicken Sie auf Weiter.
    4. Wählen Sie die Methoden aus, die Sie an die Sicherheitsrolle binden möchten. Auf der Seite "Methodenelemente" sind alle den Enterprise-Beans zugeordneten Methoden aufgelistet. Sie können auf Auf alle anwenden oder Alles abwählen klicken, um schnell mehrere Methoden aus- oder abzuwählen. Die Auswahl wirkt sich nur auf die Standardmethode (*) jeder Bean aus. Wenn Sie eine Methodenberechtigung für die exakte Methodensignatur erstellen, wird die Einstellung für die Standardmethode (*) außer Kraft gesetzt. Die Standardmethode (*) stellt alle Methoden in der Bean dar. Es gibt auch Standardmethoden (*) für jede Schnittstelle. Wenn Sie nicht alle Methoden in der Baumstruktur auswählen, können Sie für die übrigen Methoden andere Berechtigungen festlegen.
    5. Klicken Sie auf Fertigstellen.
    Eine neu erstellte Methodenberechtigung wird in der Baumstruktur angezeigt. Erweitern Sie die Anzeige für die Baumstruktur, um die in der Methodenberechtigung definierte Bean und die definierten Methoden zu sehen.
  6. Schließen Sie den Benutzerzugriff auf die Methoden aus. Benutzer haben keinen Zugriff auf ausgeschlossene Methoden. Jede Methode von Enterprise-Beans, die nicht ausgeschlossen oder einer Rolle zugeordnet ist, wird während der Anwendungsinstallation vom Deployer abgewählt.
    1. Klicken Sie auf der Registerkarte Assemblierung eines Editor für EJB-Implementierungsdeskriptoren unter Ausschlussliste auf Hinzufügen. Daraufhin wird der Assistent "Ausschlussliste" geöffnet.
    2. Wählen Sie in der Liste der gefundenen Beans die gewünschten Enterprise-Beans aus und klicken Sie auf Weiter.
    3. Wählen Sie die gewünschten Methodenelemente für die Sicherheits-ID aus und klicken Sie auf Fertigstellen.
  7. Ordnen Sie dem Element role-link die Elemente security-role-ref und role-name zu. Beim Entwickeln einer Enterprise-Bean können Sie das Element security-role-ref erstellen. Das Element "security-role-ref" enthält nur das Feld "role-name". Das Element role-name bestimmt, ob der Caller zu einer angegebenen Rolle (isCallerInRole()) gehört, und enthält den Namen der Rolle, die im Code referenziert wird. Da Sicherheitsrollen während der Assemblierung erstellt werden, verwendet der Entwickler einen logischen Rollennamen für das Feld role-name und gibt im Feld Description so viele Informationen ein, dass der Assemblierer die eigentliche Rolle (role-link) zuordnen kann. Das Element "security-role-ref" wird auf der EJB-Ebene verwendet. Enterprise-Beans können null oder mehrere "security-role-ref"-Elemente enthalten.
    1. Klicken Sie auf der Registerkarte Referenz in einem Editor für den EJB-Implementierungsdeskriptor unter der Liste der Referenzen auf Hinzufügen. Daraufhin wird der Assistent "Referenz hinzufügen" geöffnet.
    2. Wählen Sie Sicherheitsrollenreferenz aus und klicken Sie auf Weiter.
    3. Benennen Sie die Referenz für die Sicherheitsrolle, wählen Sie eine Sicherheitsrolle aus, mit dem die Referenz verknüpft werden soll, beschreiben Sie die Referenz für die Sicherheitsrolle, und klicken Sie auf Finish.
    4. Ordnen Sie mit den oben beschriebenen Schritten jeden bei der Entwicklung verwendeten role-name der Rolle zu (role-link).
  8. Geben Sie die RunAs-Identität für Enterprise-Bean-Komponenten an. Mit der RunAs-Identität der Enterprise-Bean wird die nächste Enterprise-Bean einer Kette von EJB-Aufrufen aufgerufen. Beim Aufrufen der Enterprise-Beans wird die RunAsIdentity an die jeweils nächste Bean übergeben, um die Berechtigungen für die folgende Enterprise-Bean zu überprüfen. Ist die RunAs-Identität nicht angegeben, wird die Clientidentität an die nächste Enterprise-Bean weitergeleitet. Die RunAs-Identität kann die jeweilige Enterprise-Bean oder einzelne Methoden der Enterprise-Beans repräsentieren.
    1. Klicken Sie auf der Registerkarte Zugriff eines Editor für EJB-Implementierungsdeskriptoren neben Sicherheitsidentität (Beanstufe) auf Hinzufügen. Daraufhin wird der Assistent "Sicherheitsidentität hinzufügen" geöffnet.
    2. Wählen Sie den RunAS-Modus aus, beschreiben Sie die Sicherheits-ID, und klicken Sie auf Weiter. Wählen Sie den Modus Identität des Anrufers verwenden aus, um den Sicherheitsservice anzuweisen, keine Änderungen an den Einstellungen für den Berechtigungsnachweis des Principals vorzunehmen. Wählen Sie den Modus Identität verwenden, die spezifischer Berechtigungsklasse zugeordnet ist aus, wenn Sie einen Principal verwenden möchten, der der angegebenen Sicherheitsrolle für die Ausführung der Bean-Methoden zugeordnet ist. Diese Zuordnung ist Teil der Anwendungsbindung, in der die Rolle der Benutzer-ID und dem Kennwort eines Benutzers zugeordnet ist, der für diese Rolle berechtigt ist. Wenn Sie den Modus Identität verwenden, die spezifischer Berechtigungsklasse zugeordnet ist auswählen, müssen Sie einen Namen und eine Beschreibung für die Rolle angeben.
    3. Wählen Sie in der Liste der gefundenen Beans die gewünschten Enterprise-Beans aus und klicken Sie auf Weiter. Falls Weiter nicht verfügbar ist, klicken Sie auf Fertigstellen.
    4. Optional: Wählen Sie auf der Seite "Methodenelemente" die gewünschten Methodenelemente für die Sicherheits-ID aus und klicken Sie auf Fertigstellen.
  9. Schließen Sie den Editor für Implementierungsdeskriptoren, und klicken Sie nach der Systemanfrage auf Yes, um die Änderungen zu speichern.

Ergebnisse

Nach dem Sichern einer EJB-Anwendung enthält der Implementierungsdeskriptor der resultierenden .jar-Datei die Sicherheitsinformationen. Die Sicherheitsinformationen der EJB-Module werden in der Datei ejb-jar.xml gespeichert.

Nächste Schritte

Nachdem Sie die EJB-Anwendung mit einem Assembliertool gesichert haben, können Sie sie in der Administrationskonsole installieren. Während der Installation einer geschützten EJB-Anwendung können Sie den Schutz der Anwendung vervollständigen. Führen Sie dazu die im Artikel "Sichere Anwendungen implementieren" beschriebenen Schritte aus.

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_secejb_atk
Dateiname:tsec_secejb_atk.html