Oracle OpenSSO Update 2-Versionsinformationen

Kapitel 5 Integrieren von OpenSSO 8.0 Update 2 in Oracle Access Manager

Dieses Kapitel enthält Anweisungen zum Implementieren einer einmaligen Anmeldung mit OpenSSO 8.0 Update 2 und Oracle Access Manager 10g oder 11g. Diese Informationen ergänzen die Konzeptinformationen in Kapitel 3, Integrating Oracle Access Manager in Sun OpenSSO Enterprise 8.0 Integration Guide. In diesem Fall wird eine einmalige Abmeldung auf OpenSSO-geschützten Anwendungen mittels einer Oracle Access Manager-Sitzung dargestellt. Das konfigurierte OpenSSO-Authentifizierungsmodul generiert eine OpenSSO-Sitzung auf Basis der Oracle Access Manager-Sitzung.

Übersicht zu den Integrationsschritten

  1. Vorbereitung

  2. Entpacken der Integrations-Bits

  3. Erstellen für Quelldateien in Oracle Access Manager in OpenSSO

  4. (Optional) Erstellen Sie ein Authentifizierungsschema für OpenSSO in Oracle Access Manager.

  5. Konfigurieren des einmaligen Anmeldens mit Oracle Access Manager und Oracle OpenSSO STS

  6. So testen Sie die einmalige Anmeldung:

  7. (Optional) Installieren des Oblix-Authentifizierungsschema in Oracle Access Manager

Vorbereitung

Stellen Sie sicher, dass Sie Zugriff auf die folgenden Komponenten haben, bevor Sie OpenSSO 8.0 Update 2 zur Integration mit Oracle Access Manager installieren.

opensso.zip

Die ZIP-Datei enthält die Datei opensso.war, den Integrationsquellcode, Konfigurationsdateien und andere Tools, die für die Installation und Konfiguration von OpenSSO 8.0 Update 2 benötigt werden.

OpenSSO Agent

Der OpenSSO Agent wird verwendet, wenn eine von OpenSSO geschützte Anwendung die Authentifizierungssitzung verwenden kann, die Oracle Access Manager hergestellt hat.

Oracle Access Manager 10g oder 11g

Laden Sie Oracle Access Manager von der Oracle-Website herunter. Weitere Informationen finden Sie auf der Seite Oracle Fusion Middleware 11gR1 Software Downloads.

Oracle Web Gate 10g oder 11g

Laden Sie Oracle Webgate für einen Container herunter, der von OpenSSO und Oracle Webgate unterstützt wird. Zurzeit ist Sun Web Server 7.x der einzige Container, der von beiden Produkten unterstützt wird. Beachten Sie die Seite Oracle Fusion Middleware 11gR1 Software Downloads.

Oracle Access Manager SDK 10g oder 11g

Laden Sie Oracle Access Manager herunter SDK wird zum Kompilieren und Erstellen der OpenSSO-Authentifizierungsmodule für die Oracle Access Manager-Integration benötigt.

Beachten Sie die Seite Oracle Fusion Middleware 11gR1 Software Downloads.

OpenSSO C-SDK 2.2

(Optional) OpenSSO C-SDK wird zum Erstellen eines Authentifizierungsmoduls in Oracle Access Manager verwendet, um eine OAM-Sitzung zu generieren. In OpenSSO tritt dieser Nutzungsfall nicht häufig auf. Siehe Where is the C SDK? in Sun OpenSSO Enterprise 8.0 C API Reference for Application and Web Policy Agent Developers

Entpacken der Integrations-Bits

Das Verzeichnis opensso/integrations/oracle enthält Quelldaten und Konfigurationen zum Kompilieren und Erstellen von benutzerdefinierten Authentifizierungsmodulen und anderen Plugins. Weitere Informationen zum Verwenden von Optionen in Nutzungsfällen und verwandte Informationen finden Sie unter Kapitel 3, Integrating Oracle Access Manager in Sun OpenSSO Enterprise 8.0 Integration Guide. In der folgenden Tabelle werden die Dateien unter dem Verzeichnis opensso/integrations/oracle und Beschreibungen für jede Datei zusammengefasst.

README.html

Hierbei handelt es sich um die Datei, die Sie jetzt lesen.

build.xml

Eine Ant-Builddatei zum Erstellen eines benutzerdefinierten Authentifizierungsmoduls für Oracle Access Manager in OpenSSO.

Konfig

Konfigurationsdateien, die zum Erstellen eines Authentifizierungsmoduls für Oracle Access Manager in OpenSSO benötigt werden.

  • OblixAuthService.xml

    Authentifizierungsdienstdateien für das Oracle Access Manager-Authentifizierungsmodul

  • OblixAuthModule.xml

    Authentifizierungsmodul-Rückmeldungen für Oracle Access Manager.

    Dies ist standardmäßig eine leere Datei, die jedoch zu Konfigurationszwecken vorhanden sein muss.

  • OblixAuth.properties

    Eigenschaftendatei, in der Internationalisierungsschlüssel für die Authentifizierung gespeichert sind.

lib

Dieses Verzeichnis ist standardmäßig leer. Das Verzeichnis lib muss die folgenden Bibliotheken enthalten, um die Quelldateien zu kompilieren.

  • jobaccess.jar

    Kopieren Sie diese Datei aus Oracle Access Manager SDK.

  • openfedlib.jar, amserver.jar und opensso-sharedlib.jar

    Kopieren Sie diese Dateien aus opensso.war.

  • servlet.jar oder javaee.jar

    Kopieren Sie das GlassFisch-Verzeichnis lib. Im Idealfall ist jede JAR-Datei mit standardmäßigen Java EE-Klasse, z. B. javax.servlet.http.Cookie geeignet.

source

Verzeichnis, das die folgenden Quelldateien enthält:

  • com/sun/identity/authentication/oblix/OblixAuthModule.java

  • com/sun/identity/authentication/oblix/OblixAuthModule.java

  • com/sun/identity/authentication/oblix/OblixPrincipal.java

  • com/sun/identity/saml2/plugins/OAMAdapter.java

    Diese Klasse ist ein SAML2-Pluginadapter für SAML-Dienstanbieter. Diese Klasse übernimmt die Remote-Authentifizierung in Oracle Access Manager mithilfe des OpenSSO-Sitzungsdienstes.

oamauth (optional)

Dieses Verzeichnis enthält Quelldateien für das Oblix-Authentifizierungsschema für OpenSSO. Dies ist ein C-basiertes Authentifizierungsmodul, das OpenSSO C-SDK zur Validierung nutzt.

  • oam/solaris/authn_api.c

    Diese Datei implementiert das Oblix-Authentifizierungsschema für OpenSSO.

  • oam/solaris/include/*.h

    Alle Kopfzeilendateien, die zum Kompilieren des Authentifizierungsschemas benötigt werden.

  • oam/solaris/AMAgent.properties

    Muster-OpenSSO-Agent-Konfigurationsdatei. Das Authentifizierungsschema benötigt sie zum Validieren der OpenSSO-Sitzung.

Erstellen von Quelldateien für Oracle Access Manager in OpenSSO

Verwenden Sie den Ant-Skript zum Erstellen der Quelldateien. Im PFAD muss ein kompatibler Ant-Skript installiert und konfiguriert werden.

ProcedureSo erstellen Sie die Quelldateien für Oracle Access Manager:

  1. Führen Sie folgenden Befehl aus:

    cd $openssozipdir/integrations/oracle; ant -f build.xml

    Mit diesem Befehl werden Quelldateien erstellt und wird fam_oam_integration.jar im Verzeichnis $openssozipdir/integrations/oracle/dist integriert.

  2. Bündeln Sie das Authentifizierungsmodul in die OpenSSO WAR-Datei.

    1. Erstellen Sie ein temporäres Verzeichnis und dekomprimieren Sie die Datei opensso.war. Beispiel:

      # mkdir /export/tmp
      # cd /export/tmp
      # jar -xvf opensso.war

      Ab jetzt wird /export/tmp als ein WAR-Staging-Bereich verwendet und wird mit dem Makro $WAR_DIR dargestellt.

    2. Kopieren Sie $openssozipdir/integrations/oracle/dist/fam_oam_integration.jar nach $WAR_DIR/WEB-INF/lib.

    3. Kopieren Sie $openssozipdir/integrations/oracle/config/OblixAuth.properties nach $WAR_DIR/WEB-INF/classes.

    4. Kopieren Sie $openssozipdir/integrations/oracle/config/OblixAuthModule.xml nach $WAR_DIR/config/auth/default und in das Verzeichnis $WAR_DIR/config/auth/default_en.

    5. Dekomprimieren Sie opensso.war mithilfe von jar cvf opensso.war in $WAR_DIR.

    Beispiel-TBD

(Optional) Erstellen Sie ein Authentifizierungsschema für OpenSSO in Oracle Access Manager.

Hinweis:Dieser Nutzungsfall tritt nicht häufig auf. Sie müssen dieses Schema nur erstellen, wenn es benötigt wird, z. B. im Nutzungsfall für einen SAML2-Dienstanbieter.

Zum Erstellen des Oblix-Authentifizierungsschemas müssen Sie die makefile anpassen. Da es sich um ein C-gestütztes Authentifizierungsmodul handelt, arbeitet es systemabhängig.

ProcedureSo erstellen Sie ein Authentifizierungsschema für OpenSSO in Oracle Access Manager:

Bevor Sie beginnen

Die Authentifizierungsschemadateien befinden sich im Verzeichnis $openssozipdir/integrations/oracle/oamauth/solaris.

  1. Laden Sie die OpenSSO C-SDK 2.2-Version herunter und konfigurieren Sie sie.

    Die Datei authn_api.c enthält einen Verweis zur Datei AMAgent.propeties. Bearbeiten Sie die Datei entsprechend.

  2. Passen Sie makefile an Ihre Umgebung an.

    Geben Sie beispielsweise die Kompilierposition gcc an. Bearbeiten Sie auch die LDFLAGGS, sodass sie auf das Verzeichnis OpenSSO C-SDK verweist.

  3. Führen Sie den Befehl make aus.

    Der Befehl make muss eine authn_api.so-Datei ergeben.

Konfigurieren des einmaligen Anmeldens mit Oracle Access Manager und Oracle OpenSSO STS

ProcedureSo konfigurieren Sie die einmalige Anmeldung mithilfe von Oracle Access Manager und Oracle OpenSSO 8.0 Update 2:

Vorbereitung: Sun Java System Web Server 7.x muss bereits installiert und konfiguriert sein. Anweisungen zur Web Server-Installation finden Sie unter Sun Java System Web Server Documentation Wiki .

  1. Installieren Sie OpenSSO auf Sun Java System Web Server 7.x.

  2. Installieren Sie einen OpenSSO-Richtlinienagenten auf einem unterstützten Container und konfigurieren Sie den Agenten für den Betrieb mit OpenSSO.

    Installationsanweisungen finden Sie in Sun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for J2EE Agents undr Sun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for Web AgentsSun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for Web Agents.

  3. Installieren und konfigurieren Sie Oracle Access Manager.

    Siehe das Oracle Access Manager-Installationshandbuch 10g (10.1.4.3)

  4. Installieren und konfigurieren Sie Oracle Access Manager SDK mit Oracle Access Manager.

    Siehe das Oracle Access Manager-Installationshandbuch 10g (10.1.4.3)

  5. Installieren Sie Oracle Webgate im gleichen Webcontainer, in dem auch der OpenSSO-Server installiert ist. (Sun Web Server 7.x)

    Konfigurieren Sie OpenSSO, sodass es nur deployURI/UI/* der OpenSSO-Webanwendung schützt. Beispiel:/opensso/UI/.../*

    Oracle Access Manager-Richtlinien, Ressourcen und andere Konfigurationsangaben finden Sie im Oracle Access Manager-Administrationshandbuch. Heben Sie den Schutz jeder anderen URL in OpenSSO Enterprise auf. Dieser Vorgang ist für ein einmaliges Integrationsszenario einer einmaligen Anmeldung bestimmt, aber bewerten Sie die Richtlinien auf Basis einer vollständigen Integration und anderer Bereitstellungsabhängigkeiten.

  6. Konfigurieren Sie das Authentifizierungsmodul in OpenSSO.

    1. Greifen Sie auf die OpenSSO-Konsole zu.

      Der Browser leitet zur Authentifizierung an Oracle Access Manager um. Nach der erfolgreichen Authentifizierung präsentiert OpenSSO eine Anmeldeseite. Melden Sie sich mit dem OpenSSO-Administrator-Benutzernamen und -Kennwort an.

    2. Importieren Sie die Oracle-Authentifizierungsmoduldienst-XML-Datei in die OpenSSO-Konfiguration.

      Der Authentifizierungsmoduldienst kann über das Befehlszeilen-Dienstprogramm ssoadm und die webgestützte ssoadm.jsp geladen werden.

    3. Greifen Sie auf http://host:port/opensso/ssoadm.jsp zu.

    4. Wählen Sie die Option create-service aus.

    5. Kopieren Sie die XML-Datei aus $openssozipdir/integrations/oracle/config/OblixAuthService.xml , fügen Sie sie ein und klicken Sie auf Submit (Übermitteln).

      Damit wird der Authentifizierungsmoduldienst in die OpenSSO-Konfiguration geladen.

    6. Registrieren Sie das Authentifizierungsmodul im Authentifizierungs-Kerndienst.

      Der Kerndienst enthält eine Liste mit Authentifizierern. Wählen Sie die Option register-auth-module in http://host:port/opensso/ssoadm.jsp . Geben Sie com.sun.identity.authentication.oblix.OblixAuthModule als den Authentifizierungsmodul-Klassennamen ein.

    7. Verifizieren Sie, dass das Authentifizierungsmodul im Standardbereich registriert ist.

      Greifen Sie über die URL http://host:port/opensso auf OpenSSO zu. Klicken Sie in der OpenSSO-Konsole auf den Standardbereich und anschließend auf die Registerkarte Authentication (Authentifizierung). Klicken Sie auf New (Neu), um ein neues Authentifizierungsmodul mit dem Namen OblixAuth zu erstellen.

    8. Wählen Sie in der Registerkarte Authentication das OblixAuth-Authentifizierungsmodul aus.

      Konfigurieren Sie das Verzeichnis Oblix SDK. Aktivieren Sie Enable Check Remote User Header Only und geben Sie den Remote-Kopfzeilennamen mit OAM_REMOTE_USER an. Dieser Parameter kann auf Basis der Bereitstellung konfiguriert werden.

  7. (Optional) Aktivieren Sie die Option Ignore Profile (Profil ignorieren) im OpenSSO-Kernauthentifizierungsdienst.

    Wechseln Sie in der OpenSSO-Konsole zu Configuration > Core > Realm Attributes > User Profile (Konfiguration > Kern > Bereichsattribute > Benutzerprofil). Wählen Sie Ignored (Ignoriert) aus und klicken Sie auf Save (Speichern).

    Mit dieser Konfiguration wird verhindert, dass OpenSSO nach der erfolgreichen Authentifizierung ein bestehendes Benutzerprofil sucht. Wenn das von OpenSSO und Oracle Access Manager verwendete Benutzer-Repository genau übereinstimmen, ist dieser Schritt nicht erforderlich. Wechseln Sie zu Configuration > Core > Realm Attributes > User Profile (Konfiguration > Kern > Bereichsattribute > Benutzerprofil). Wählen Sie Ignored (Ignoriert) aus und klicken Sie auf Save (Speichern).

  8. Bearbeiten Sie den Webserver-Startskript, sodass er die gemeinsam genutzten Bibliotheken von Oracle Access Manager SDK enthält.

    Aktualisieren Sie LD_LIBRARY_PATH im Skript startserv, sodass er die gemeinsam genutzten Bibliotheken aus $ACCESSDKDIR/oblix/lib enthält.

  9. Starten Sie den Sun Web Server erneut, der sowohl OpenSSO als auch Oracle Webgate enthält.

  10. Aktualisieren Sie die Anmelde-URL für Weg Agent-Werte wie http://openssohost:openssoport/deployURI/UI/Login?module=OblixAuth.

So testen Sie die einmalige Anmeldung:

Greifen Sie über die OpenSSO-geschützte Anwendung auf die geschützte Ressource zu. Der Browser muss sie zur Oracle Access Manager-Anmeldeseite weiterleiten, wenn sie nicht bereits authentifiziert sind. Nach der erfolgreichen Anmeldung erstellt es eine OpenSSO-Sitzung und leitet zuletzt an die vom Policy Agent geschützte Anwendungs-URL zurück. Sie können auf Basis der Richtlinie den Zugriff auf die geschützte Anwendung zulassen oder ablehnen.

(Optional) Installieren des Oblix-Authentifizierungsschema in Oracle Access Manager

Dieser Vorgang empfiehlt sich, wenn die Oracle Access Manager-Sitzung bei Validieren der OpenSSO-Sitzung generiert werden muss. Weitere Informationen zu relevanten Nutzungsfällen finden Sie in Kapitel 3, Integrating Oracle Access Manager in Sun OpenSSO Enterprise 8.0 Integration Guide.

Die Oblix-Authentifizierungsschemata werden als C-Authentifizierungsmodule dargestellt. Dieses Authentifizierungsschema verwendet die OpenSSO C-SDK 2.2-Version zum Validieren der OpenSSO-Sitzung. Das OpenSSO-Authentifizierungsschema in Oblix verwendet eine Konfiguration für die OpenSSO-Konfiguration auf Client-Seite in AMAgent.properties. Diese Datei muss vor dem Konfigurieren des Authentifizierungsmoduls angepasst werden. In den Erstellanweisungen wird der Speicherort dieser Datei angegeben. Die kompilierten authn_api.so- und anderen C-SDK-Bibliotheken müssen in das Verzeichnis $OAM_INSTALL_DIR/access/oblix/lib kopiert werden, bevor das Authentifizierungsschema konfiguriert wird. Im Sun OpenSSO 8.0-Integrationshandbuch wird ein Beispielbildschirm dargestellt, in dem veranschaulicht wird, wie das Oracle-Authentifizierungsschema konfiguriert wird. Er dient nur als Referenz. Weitere Details finden Sie in der neuesten Oracle Access Manager-Dokumentation.

Integrieren von OpenSSO 8.0 Update 2 in Oracle Access Manager

Dieser Abschnitt enthält Anweisungen zum Implementieren einer einmaligen Anmeldung mit OpenSSO 8.0 Update 2 und Oracle Access Manager Version 10.1.4.0.1 und 11g. Diese Informationen ergänzen die Konzeptinformationen in Kapitel 3, Integrating Oracle Access Manager in Sun OpenSSO Enterprise 8.0 Integration Guide. In diesem Fall wird eine einmalige Abmeldung auf OpenSSO-geschützten Anwendungen mittels einer Oracle Access Manager-Sitzung dargestellt. Das konfigurierte OpenSSO-Authentifizierungsmodul generiert eine OpenSSO-Sitzung auf Basis der Oracle Access Manager-Sitzung.