Notas de la versión de Oracle OpenSSO Update 2

Capítulo 5 Integración de OpenSSO 8.0 Update 2 con Oracle Access Manager

En este capítulo se proporciona información sobre cómo implementar el inicio de sesión único mediante OpenSSO 8.0 Update 2 y Oracle Access Manager 10g u 11g. Esta información complementa la información conceptual presente en el Capítulo 3, Integrating Oracle Access Manager de Sun OpenSSO Enterprise 8.0 Integration Guide. En este caso práctico, se proporciona un ejemplo de inicio de sesión único en aplicaciones protegidas por OpenSSO mediante una sesión de Oracle Access Manager. El módulo de autenticación de OpenSSO genera una sesión de OpenSSO basada en la sesión de Oracle Access Manager.

Descripción general de los pasos de integración

  1. Antes de la instalación

  2. Unpacking the Integration Bits

  3. Building source files for Oracle Access Manager in OpenSSO

  4. (Opcional) Generar un esquema de autenticación para OpenSSO en Oracle Access Manager

  5. Configuración del inicio de sesión único mediante Oracle Access Manager y el servicio STS de Oracle OpenSSO

  6. Para probar el inicio de sesión único

  7. (Opcional) Instalación del esquema de autenticación de Oblix en Oracle Access Manager

Antes de la instalación

Asegúrese de tener acceso a los siguientes componentes antes de intentar instalar OpenSSO 8.0 Update 2 para su integración con Oracle Access Manager:

opensso.zip

Este archivo zip contiene el archivo opensso.war, el código fuente de integración, los archivos de configuración y otras herramientas necesarias para la instalación y la configuración de OpenSSO 8.0 Update 2.

Agente de OpenSSO

El agente de OpenSSO se utiliza cuando una aplicación protegida por OpenSSO puede utilizar realmente la sesión de autenticación establecida por Oracle Access Manager.

Oracle Access Manager 10g u 11g

Descargue Oracle Access Manager desde el sitio web de Oracle. Consulte la página Descargas de software de Oracle Fusion Middleware 11gR1.

Oracle Web Gate 10g u 11g

Descargue Oracle Webgate para un contenedor compatible tanto con OpenSSO como con esta aplicación. Actualmente Sun Web Server 7.x es el único contenedor compatible con los dos productos. Consulte la página Descargas de software de Oracle Fusion Middleware 11gR1.

Oracle Access Manager SDK 10g u 11g

Descargue Oracle Access Manager. El SDK es necesario para compilar y generar los módulos de autenticación de OpenSSO para la integración con Oracle Access Manager.

Consulte la página Descargas de software de Oracle Fusion Middleware 11gR1.

OpenSSO C-SDK 2.2

(Opcional) OpenSSO C-SDK es necesario para crear un módulo de autenticación en Oracle Access Manager a fin de generar una sesión de OAM. Desde la perspectiva de OpenSSO, es posible que este no sea un ejemplo de uso habitual. Consulte Where is the C SDK? de Sun OpenSSO Enterprise 8.0 C API Reference for Application and Web Policy Agent Developers.

Descomprimir los bits de integración

El directorio opensso/integrations/oracle contiene el código fuente y las configuraciones para compilar y generar los módulos de autenticación personalizados y otros complementos. Consulte el Capítulo 3, Integrating Oracle Access Manager de Sun OpenSSO Enterprise 8.0 Integration Guide para conocer las opciones del caso práctico y obtener información relacionada. En la siguiente tabla se ofrece un resumen de los archivos del directorio opensso/integrations/oracle y una descripción de cada uno de ellos.

README.html

Se trata del archivo que está leyendo ahora.

build.xml

Un archivo de compilación Ant para generar un módulo de autenticación personalizado para Oracle Access Manager en OpenSSO.

config

Los archivos de configuración necesarios para crear un módulo de autenticación para Oracle Access Manager en OpenSSO.

  • OblixAuthService.xml

    El archivo del servicio de autenticación para el módulo de autenticación de Oracle Access Manager.

  • OblixAuthModule.xml

    Las devoluciones de llamadas del módulo de autenticación para Oracle Access Manager.

    Este archivo está vacío de forma predeterminada, pero debe estar presente por motivos de configuración.

  • OblixAuth.properties

    El archivo de propiedades que almacena las claves de internacionalización para la autenticación.

lib

El directorio está vacío de forma predeterminada. Este directorio lib debe contener las siguientes bibliotecas para compilar las bibliotecas de origen.

  • jobaccess.jar

    Copie este archivo desde Oracle Access Manager SDK.

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

    Copie estos archivos desde opensso.war.

  • servlet.jar o javaee.jar

    Copie el directorio lib de GlassFish. Es válido cualquier archivo que presente clases de Java EE estándar como, por ejemplo, javax.servlet.http.Cookie.

source

El directorio que contiene los siguientes archivos:

  • 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

    Esta clase es un adaptador de complementos de SAML2 para los proveedores de servicios de SAML. Esta clase realiza la autenticación remota en Oracle Access Manager mediante el servicio de sesión de OpenSSO.

oamauth (opcional)

Este directorio contiene los archivos de origen del esquema de autenticación de Oblix para OpenSSO. Se trata de un módulo de autenticación basado en C que utiliza OpenSSO C-SDK para la validación.

  • oam/solaris/authn_api.c

    Este archivo implementa el esquema de autenticación personalizado de Oblix para OpenSSO.

  • oam/solaris/include/*.h

    Todos los archivos de encabezados necesarios para compilar el esquema de autenticación.

  • oam/solaris/AMAgent.properties

    Archivo de configuración de ejemplo del agente de OpenSSO. Es necesario para que el esquema de autenticación valide la sesión de OpenSSO.

Creación de los archivos de origen de Oracle Access Manager en OpenSSO

Utilice la secuencia de comandos Ant para generar los archivos de origen. Debe instalarse y configurarse una secuencia de comandos Ant compatible en la variable PATH.

ProcedurePara crear los archivos de origen de Oracle Access Manager

  1. Ejecute el comando siguiente:

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

    Este comando crea los archivos de origen y genera fam_oam_integration.jar en el directorio $openssozipdir/integrations/oracle/dist.

  2. Incluya el módulo de autenticación en el archivo WAR OpenSSO.

    1. Cree un directorio temporal y extraiga el archivo opensso.war. Ejemplo:

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

      A partir de ahora, /export/tmp se utiliza como área provisional del archivo WAR y se representa con un marco $WAR_DIR.

    2. Copie $openssozipdir/integrations/oracle/dist/fam_oam_integration.jar en $WAR_DIR/WEB-INF/lib.

    3. Copie $openssozipdir/integrations/oracle/config/OblixAuth.properties en $WAR_DIR/WEB-INF/classes.

    4. Copie $openssozipdir/integrations/oracle/config/OblixAuthModule.xml en $WAR_DIR/config/auth/default y también en el directorio $WAR_DIR/config/auth/default_en.

    5. Vuelva a compilar el archivo opensso.war mediante jar cvf opensso.war desde $WAR_DIR.

    Ejemplo Pendiente de desarrollo

(Opcional) Generar un esquema de autenticación para OpenSSO en Oracle Access Manager

Nota: este no es un ejemplo de uso habitual. No tiene que generar este elemento a menos que sea necesario como, por ejemplo, si se utiliza un proveedor de servicios SAML2.

Para generar el esquema de autenticación de Oblix, debe personalizar el archivo makefile. Además, como se trata de un módulo de autenticación basado en C, depende del sistema operativo.

ProcedurePara generar un esquema de autenticación para OpenSSO en Oracle Access Manager

Antes de empezar

Los archivos del esquema de autenticación se encuentran en el directorio $openssozipdir/integrations/oracle/oamauth/solaris .

  1. Descargue y configure la versión OpenSSO C-SDK 2.2.

    El archivo authn_api.c contiene una referencia al archivo AMAgent.propeties. Modifique el archivo según corresponda.

  2. Personalice el archivo makefile para su entorno.

    Por ejemplo, especifique la ubicación de compilación de gcc. Además, modifique LDFLAGS para que señale al directorio lib de OpenSSO C-SDK.

  3. Ejecute el comando make.

    El comando make debería generar el archivo authn_api.so.

Configuración del inicio de sesión único mediante Oracle Access Manager y el servicio STS de Oracle OpenSSO

ProcedurePara configurar el inicio de sesión único mediante Oracle Access Manager y Oracle OpenSSO 8.0 Update 2

Antes de empezar: Sun Java System Web Server 7.x debe estar instalado y configurado. Consulte la página wiki de documentación de Sun Java System Web Server para obtener instrucciones de instalación de Web Server.

  1. Instale OpenSSO en Sun Java System Web Server 7.x.

  2. Instale un agente de directivas de OpenSSO en un contenedor compatible y configúrelo para que funcione con OpenSSO.

    Consulte Sun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for J2EE Agents o 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 para obtener instrucciones de instalación.

  3. Instale y configure Oracle Access Manager.

    Consulte Oracle Access Manager Installation Guide 10g (10.1.4.3)

  4. Instale y configure Oracle Access Manager SDK con Oracle Access Manager.

    Consulte Oracle Access Manager Installation Guide 10g (10.1.4.3)

  5. Instale Oracle Webgate en el mismo contenedor web en el que se ha instalado el servidor de OpenSSO (Sun Web Server 7.x).

    Configure OpenSSO para que proteja solo la sección deployURI/UI/* de la aplicación web de OpenSSO. Ejemplo: /opensso/UI/.../*

    Para obtener información sobre las directivas y recursos de Oracle Access Manager y otros detalles de configuración, consulte la Guía de administración de Oracle Access Manager. Desproteja todas las demás URL en OpenSSO Enteprise. Esta acción es para un escenario de integración de inicio de sesión. No obstante, evalúe las directivas en función de la integración completa y otras dependencias de implementación.

  6. Configure el módulo de autenticación en OpenSSO.

    1. Acceda a la consola de OpenSSO.

      El navegador le redireccionará a Oracle Access Manager para realizar la autenticación. Una vez realizada con éxito la autenticación, OpenSSO presenta una página de inicio de sesión. Inicie una sesión mediante el nombre de usuario y la contraseña de administrador de OpenSSO.

    2. Importe el archivo XML del servicio de módulo de autenticación de Oracle en la configuración de OpenSSO.

      El servicio de módulo de autenticación se puede cargar desde la utilidad ssoadm de la línea de comandos, así como desde el navegador basado en ssoadm.jsp.

    3. Acceda a http://host:port/opensso/ssoadm.jsp.

    4. Seleccione la opción de creación del servicio.

    5. Copie y pegue el archivo XML desde $openssozipdir/integrations/oracle/config/OblixAuthService.xml y haga clic en Enviar.

      Se cargará el servicio de módulo de autenticación en la configuración de OpenSSO.

    6. Registre este módulo en el servicio central de autenticación.

      El servicio central contiene una lista de autenticadores. Seleccione la opción register-auth-module en http://host:port/opensso/ssoadm.jsp . Especifique com.sun.identity.authentication.oblix.OblixAuthModule como nombre de clase del módulo de autenticación.

    7. Compruebe que el módulo de autenticación se haya registrado en el dominio predeterminado.

      Acceda a OpenSSO mediante la dirección URL: http://host:port/opensso. En la consola de OpenSSO, haga clic en el dominio predeterminado y, a continuación, en la ficha Autenticación. Haga clic en Nuevo para crear un nuevo módulo de autenticación con el nombre OblixAuth.

    8. En la ficha Autenticación, seleccione el módulo de autenticación OblixAuth.

      Configure el directorio de SDK de Oblix. Habilite Comprobar solo encabezado de usuario remoto y especifique OAM_REMOTE_USER como nombre de encabezado remoto. Este parámetro permite su configuración en función de la implementación.

  7. (Opcional) Habilite la opción Omitir perfil en el servicio central de autenticación de OpenSSO.

    En la consola de OpenSSO, vaya a Configuración > Central > Atributos de dominio > Perfil de usuario. Seleccione Omitido y, a continuación, haga clic en Guardar.

    Esta configuración impide que OpenSSO busque un perfil de usuario existente después de realizarse con éxito la autenticación. Sin embargo, si los depósitos de usuarios utilizado por OpenSSO y Oracle Access Manager son exactamente iguales, este paso no es necesario. Vaya a Consola de administración -> Configuración -> Central -> Atributos de dominio -> Perfil de usuario. Seleccione Omitido y, a continuación, haga clic en Guardar.

  8. Edite la secuencia de comandos de inicio del servidor web para incluir las bibliotecas compartidas de Oracle Access Manager SDK.

    Actualice LD_LIBRARY_PATH en la secuencia de comandos startserv para incluir las bibliotecas compartidas desde $ACCESSDKDIR/oblix/lib.

  9. Reinicie la instancia de Sun Web Server que contiene tanto OpenSSO como Oracle Webgate.

  10. Actualice el valor de la URL de inicio de sesión del agente web como http://openssohost:openssoport/deployURI/UI/Login?module=OblixAuth .

Para probar el inicio de sesión único

Acceda al recurso protegido desde la aplicación protegida por OpenSSO. El navegador debería redireccionarle a la página de inicio de sesión de Oracle Access Manager si aún no se ha autenticado. Tras iniciar con éxito una sesión, se crea una sesión de OpenSSO y, por último, se redirecciona a la URL de la aplicación protegida por el agente de directivas. En función de la directiva, se le permitirá o denegará el acceso a la aplicación protegida.

(Opcional) Instalación del esquema de autenticación de Oblix en Oracle Access Manager

Este procedimiento resulta útil cuando debe generarse la sesión de Oracle Access Manager al validar la sesión de OpenSSO. Consulte el Capítulo 3, Integrating Oracle Access Manager de Sun OpenSSO Enterprise 8.0 Integration Guide para obtener información sobre los casos prácticos pertinentes.

Los esquemas de autenticación de Oblix se muestran como módulos de autenticación basados en C y este esquema de autenticación utiliza la versión OpenSSO C-SDK 2.2 para validar la sesión de OpenSSO. El esquema de autenticación de OpenSSO en Oblix utiliza una configuración para los parámetros del servidor de OpenSSO en AMAgent.properties. Este archivo debe personalizarse antes de configurar el módulo de autenticación. En las instrucciones de compilación se especifica la ubicación de este archivo. El archivo compilado authn_api.so y las demás bibliotecas de C-SDK deben copiarse en el directorio $OAM_INSTALL_DIR/access/oblix/lib antes de configurar el esquema de autenticación. La Guía de integración de Sun OpenSSO 8.0 incluye una captura de pantalla en la que se muestra cómo configurar el esquema de autenticación de Oracle que debe utilizarse únicamente como referencia. Para obtener más información, consulte la documentación más reciente de Oracle Access Manager.

Integración de OpenSSO 8.0 Update 2 con Oracle Access Manager

En esta sección se proporciona información sobre cómo implementar el inicio de sesión único mediante OpenSSO 1.4 Update 0 y las versiones 10.1.4.0.1. y 11g de Oracle Access Manager. Esta información complementa la información conceptual presente en el Capítulo 3, Integrating Oracle Access Manager de Sun OpenSSO Enterprise 8.0 Integration Guide. En este caso práctico, se proporciona un ejemplo de inicio de sesión único en aplicaciones protegidas por OpenSSO mediante una sesión de Oracle Access Manager. El módulo de autenticación de OpenSSO genera una sesión de OpenSSO basada en la sesión de Oracle Access Manager.