WebSphere Application Server-Sicherheit mithilfe eines angepassten Abfangprozesses einbinden

In diesem Abschnitt wird beschrieben, wie Sie einen SSO-Abfangprozess für den kombinierten Einsatz mit WebSphere Application Server-Sicherheit erstellen.

Vorbereitende Schritte

Sie müssen in WebSphere Application Server mit LDAP-Benutzerberechtigungsnachweisen konfiguriert sein.
Anmerkung: Sie müssen die Build Forge-LDAP-Domäne, in der die WebSphere Application Server-Benutzer enthalten sind, als Standard-LDAP-Server definieren. Wechseln Sie zu diesem Zweck zur betreffenden Build Forge-LDAP-Domäne und wählen Sie Als Standard definieren aus.

Informationen zu diesem Vorgang

Über den bereitgestellten Form-SSO-Abfangprozess werden Benutzer mit einer Seite für die formulargestützte Anmeldung authentifiziert. Das folgende Beispiel zeigt, wie ein angepasster SSO-Abfangprozess erstellt wird. Für den angepassten Abfangprozess wird eine angepasste Interceptor-Klasse verwendet.

Die Interceptor-Klasse greift auf WebSphere Application Server zu, um authentifizierte Benutzerberechtigungsnachweise zu erhalten. Anschließend werden diese Berechtigungsnachweise in den Cache gestellt. Bei nachfolgenden Anmeldevorgängen werden die in den Cache gestellten Berechtigungsnachweise verwendet.

Berechtigungsservice (AuthServlet) schützen

In Build Forge werden Services normalerweise als Anwendung im bereitgestellten Apache Tomcat-Anwendungsserver ausgeführt.

Informationen zu diesem Vorgang

Den folgenden Anweisungen können Sie entnehmen, wie Build Forge so konfiguriert werden kann, dass WebSphere Application Server anstelle von Tomcat verwendet wird. Folgen Sie den Anweisungen im Abschnitt WebSphere Application Server anstelle von Apache Tomcat verwenden mit einer Ausnahme: Die Datei jas.war enthält eine Datei mit dem Namen web.xml. Diese müssen Sie extrahieren und ändern, um eine Integritätsbedingung für die Sicherheit hinzuzufügen. Vor der Installation dieser Anwendung unter WebSphere Application Server muss die war-Datei nach dem Ändern neu generiert werden, damit die geschützte Version der Datei verwendet wird.

Führen Sie die folgenden Schritte aus, um die war-Datei neu zu generieren.

Vorgehensweise

  1. Navigieren Sie zu dem Verzeichnis, das die Datei jas.war enthält (Verzeichnis webapps im Stammverzeichnis des Tomcat-Servers). Kopieren Sie diese Datei in ein temporäres Verzeichnis, z. B. C:\jas.
  2. Heben Sie die Komprimierung der WAR-Datei auf. Führen Sie in der Befehlszeile den folgenden Befehl aus, um den Inhalt der war-Datei zu dekomprimieren: %IBM_JAVA_HOME%\jar –xvf jas.war.
    Anmerkung: Java muss verfügbar sein und die Umgebungsvariable IBM_JAVA_HOME muss erstellt worden sein.
  3. Speichern Sie die Datei jas.war, um sie später abrufen zu können:
    1. Windows: copy jas.war jas.war.bak
    2. UNIX oder Linux: cp jas.war jas.war.bak
  4. Suchen Sie die Datei web.xml im Verzeichnis WEB-INF (unter den Dateien aus der dekomprimierten war-Datei). Bearbeiten Sie diese Datei, um einen Sicherheitskontext hinzuzufügen. Fügen Sie z. B. die folgenden Zeilen am Ende der Datei unmittelbar vor dem Tag </web-app> hinzu:
    <security-constraint id="SecurityConstraint_1">
             <web-resource-collection id="WebResourceCollection_1">
                <web-resource-name>/*</web-resource-name>
                <url-pattern>/AuthServlet/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
             </web-resource-collection>
             <auth-constraint id="AuthConstraint_1">
                <description>myconstraint:+:</description>
                <role-name>User</role-name>
             </auth-constraint>
             <user-data-constraint id="UserDataConstraint_1">
                <transport-guarantee>NONE</transport-guarantee>
             </user-data-constraint>
          </security-constraint>
          <login-config id="LoginConfig_1">
             <auth-method>BASIC</auth-method>
             <realm-name>full-qualified-domain</realm-name>
          </login-config>
          <security-role id="SecurityRole_1">
             <role-name>User</role-name>
          </security-role>
    Anmerkung: Für "<auth-method>" kann eine beliebige von WebSphere Application Server unterstützte J2EE-Authentifizierungsmethode verwendet werden. Die gängigste Authentifizierungsmethode ist FORM, bei der zusätzliche Konfigurationsparameter erforderlich sind. Anweisungen zum Konfigurieren von FORM in Ihrer Anwendung finden Sie in der Dokumentation zu WebSphere Application Server.
  5. Generieren Sie über die Befehlszeile die war-Datei neu (Aufruf aus demselben Verzeichnis, in dem sie extrahiert wurde). Führen Sie dazu folgenden Befehl aus:
    %IBM_JAVA_HOME%\jar –cvf  jas.war

    Sie verfügen nun über eine neue Version von jas, die geändert wurde, um das Authentifizierungsservlet mit J2EE-Integritätsbedingungen zu schützen. Schließen Sie die Installation gemäß den Anweisungen für die Ausführung mit WebSphere Application Server ab und installieren Sie diese Version der Datei jas.war überApplications->Install New Application. Stellen Sie sicher, dass Build Forge nicht aktiv ist, während Sie WebSphere Application Server konfigurieren.

    Gehen Sie nach der Installation zu Anwendungen > Unternehmensanwendungen. Klicken Sie auf den Namen der Anwendung, um sie zu konfigurieren. Klicken Sie unter Detail Properties auf den Link Security role to user/group mapping. Aktivieren Sie das Kontrollkästchen All Authenticated für "User". Speichern Sie die Änderung der Hauptkonfiguration, wenn Sie diese Änderung vorgenommen haben.

    Die Anwendungssicherheit muss ebenfalls unter WebSphere Application Server aktiviert werden. Wechseln Sie zu diesem Zweck zu Security > Secure administration, applications, and infrastructure. Vergewissern Sie sich, dass Enable application security aktiviert ist.

    Starten Sie nun zunächst WebSphere Application Server und dann den Build Forge-Server erneut.
    Anmerkung: Die Datei jas wird jetzt als Teil des WebSphere Application Server-Startprozesses gestartet. Starten Sie also WebSphere Application Server vor dem Start von Build Forge.

Neue SSO-Konfiguration erstellen

Erstellen Sie eine neue SSO-Konfiguration zur Verwendung des Abfangprozesses.

Vorgehensweise

  1. Wechseln Sie in der Build Forge-Konsole zu Verwaltung > Sicherheit > SSO.
  2. Klicken Sie auf SSO-Konfiguration hinzufügen.
  3. Legen Sie Eigenschaften für die Konfiguration fest.
    • Name: Geben Sie einen Namen für die Konfiguration ein.
    • Java-Klasse: Geben Sie com.buildforge.services.server.sso.was.WebSphereSSOInterceptor ein.
    • Aktiv: Wählen Sie Ja.
  4. Klicken Sie auf Speichern.
  5. Verschieben Sie die Konfiguration an den Anfang der Liste. Wählen Sie im Menü links neben dem Konfigurationsnamen An den Anfang verschieben aus.

LDAP-Benutzer oder LDAP-Gruppe lokalen Benutzern zuordnen

LDAP-Benutzer oder eine LDAP-Gruppe lokalen Benutzern, z. B. dem lokalen Root, zuordnen.

Informationen zu diesem Vorgang

Nach der Erstellung eines WebSphere Application Server-SSO-Abfangprozesses können Sie den Abfangprozess wie folgt konfigurieren:
  • LDAP-Benutzer lokalen Benutzern zuordnen, einschließlich Root
  • Eine LDAP-Gruppe einem lokalen Benutzer zuordnen, z. B. dem Root

Für eine Zuordnung definieren Sie eine Umgebung und verweisen Sie dann im Abfangprozess auf diese Umgebung.

Umgebung definieren

Vorgehensweise

  1. Klicken Sie in der Build Forge-Konsole auf Umgebungen.
  2. Geben Sie einen Namen für die Umgebung an und klicken Sie auf Umgebung speichern.
  3. Definieren und speichern Sie folgende Variablen, um LDAP-Benutzer lokalen Benutzern zuzuordnen:
    1. Geben Sie LDAP-Benutzer1|lokaler_Benutzer1;LDAP-Benutzer2|lokaler_Benutzer2;LDAP-Benutzer3|lokaler_Benutzer3 für ldap_user_list_mapping an.
    2. Geben Sie LDAP-Domänenname für ldap_realm_name an.
    Beispielsweise ist die folgende Umgebung definiert:
    		ldap_user_list_mapping = user1|root;user2|root;user3|root
    		ldap_realm_name = bluepages.ibm.com:389

    In diesem Fall werden LDAP user1, user2 und user3 alle dem lokalen Rootbenutzer zugeordnet.

  4. Sollen Mitglieder einer bestimmten LDAP-Gruppe einem lokalen Benutzer zugeordnet werden, definieren und speichern Sie folgende Variablen:
    1. Geben Sie LDAP-Gruppe|lokaler_Benutzer für ldap_group_name_mapping an.
    2. Geben Sie LDAP-Domänenname für ldap_realm_name an.
    Anmerkung: Wenn Sie beide Arten der Zuordnung verwenden, hat die Benutzerzuordnung Vorrang vor der Gruppenzuordnung.
    Als Beispiel für eine Gruppenzuordnung wird folgende Umgebung vorausgesetzt:
    		ldap_group_name_mapping = cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com|root
    		ldap_realm_name = bluepages.ibm.com:389

    In diesem Fall werden Benutzer, die Mitglied der LDAP-Gruppe cn=bf_admin,ou=memberlist,ou=ibmgroups,o=ibm.com sind, dem lokalen Root zugeordnet.

Auf die Umgebung verweisen

Vorgehensweise

  1. Klicken Sie in der Build Forge-Konsole auf Verwaltung > Sicherheit > SSO.
  2. Klicken Sie auf den Namen des WebSphere Application Server-SSO-Abfangprozesses.
  3. Geben Sie für die Eigenschaft Umgebung für die Konfiguration die gerade definierte Umgebung an.
  4. Klicken Sie auf Speichern.
  5. Verschieben Sie die Konfiguration an den Anfang der Liste. Wählen Sie im Menü links neben dem Konfigurationsnamen An den Anfang verschieben aus.

Angepassten SSO-Abfangprozess ausführen

Sie können sich nun mit der neuen Konfiguration anmelden.

Informationen zu diesem Vorgang

Über den angepassten SSO-Abfangprozess kann der Benutzer nun mithilfe von WebSphere Application Server-Sicherheitsverfahren authentifiziert werden. Dies geschieht über eine AuthServlet-Anforderung, die als Benutzer an Build Forge übergeben wird.

Vorgehensweise

  1. Öffnen Sie den Webbrowser und geben Sie die folgende Adresse ein: http://localhost. Anstelle des Build Forge-Anmeldeformulars wird nun eine Authentifizierungsseite angezeigt.
  2. Geben Sie Ihre Benutzerberechtigungsnachweise ein und drücken Sie die Eingabetaste.
    Anmerkung: Nach der Authentifizierung erfolgt die Anmeldung automatisch.

    Nach dem Abmelden wird anstelle des Anmeldeformulars die jsp- Standardseite angezeigt. Nachfolgende Anmeldungen erfolgen automatisch, wenn Sie weiterhin authentifiziert sind.

Auf formulargestütztes SSO zurücksetzen

Sie können die Konfiguration zurücksetzen, sodass wieder das SSO-Anmeldeformular verwendet wird.

Informationen zu diesem Vorgang

Um die Systeme wieder so zu konfigurieren, dass die formulargestützte Anmeldung verwendet wird, müssen Sie unter WebSphere Application Server jas deinstallieren und die ursprüngliche Datei jas.war erneut installieren. Stellen Sie in Build Forge sicher, dass der Abfangprozess für formularbasiertes SSO aktiviert ist und als erstes Element in der Liste angezeigt wird. Inaktivieren Sie den angepassten WebSphere Application Server-Abfangprozess. Sie müssenWebSphere Application Server und Build Forge erneut starten, damit Ihre Änderungen aktiviert werden.

Vorgehensweise

  1. Deinstallieren Sie jas und installieren Sie die ursprüngliche Datei jas.war erneut.
  2. Stellen Sie in Build Forge sicher, dass der Form SSO-Abfangprozess aktiviert ist und als erstes Element in der Liste angezeigt wird (siehe den Abschnitt zu Build Forge-SSO-Sicherheitskonfigurationen weiter oben).
  3. Inaktivieren Sie den angepassten WebSphere Application Server-Abfangprozess.
  4. Starten Sie WebSphere Application Server erneut.
  5. Starten Sie Build Forge erneut.

Feedback