Autenticación en IdP

En este artículo se describe la autenticación cuando OAM actúa como IdP y cómo se puede configurar el servidor para utilizar esquemas de autenticación de OAM específicos para desafiar al usuario. Cuando OAM 11gR1 actuando como IdP y OAM 11g se integraron juntos, OAM delegaba la autenticación del usuario a OAM mediante el uso de WebGate:

Nota: Dada la naturaleza avanzada de la configuración, la configuración de autenticación de OAM solo se puede gestionar mediante comandos WLST de OAM.

Visión general

En la versión 11.1.2.2.0 o posterior de OAM, la aplicación web J2EE de OAM y la aplicación web J2EE de OAM se incluyen en la misma aplicación EAR J2EE de OAM que se despliega en una instancia de WLS autónoma. Este enfoque de despliegue permite a los dos módulos reenviar internamente la solicitud HTTP del usuario entrante de OAM a OAM y viceversa. Esto permite a la aplicación IdP disparar una operación de autenticación de OAM local que desafía e identifica al usuario. En tiempo de ejecución, cuando IdP necesite autenticación en una operación de federación, IdP:

Prueba de configuración

Utilice el siguiente entorno de prueba:

Ejecute varios casos de prueba:

Prueba n.o 1:

Prueba n.o 2:

Nota: Si se va a utilizar la autenticación básica HTTP en IdP, el dominio WebLogic en el que se ejecuta OAM debe estar configurado para no validar la autenticación básica HTTP para recursos no seguros.

Autenticación HTTP Básica

Por defecto, si un explorador envía credenciales de autenticación básica HTTP a OAM, el servidor WLS intenta validarlas antes de permitir que OAM procese la solicitud: esto puede provocar fallos de autenticación, especialmente si el dominio WLS no se ha configurado con autenticadores LDAP de WLS para cada almacén de identidades creado en OAM.

Nota: Incluso si el dominio de WLS se ha configurado correctamente para tener un autenticador LDAP de WLS para cada almacén de identidades creado en OAM, esto da como resultado dos operaciones de autenticación, una por WLS y la otra que OAM necesita para crear una sesión de OAM.

Es posible desactivar la validación automática de las credenciales de autenticación básica HTTP enviadas a [aplicaciones no seguras]{.underline} en el dominio de WLS en el que se está ejecutando OAM. Consulte la sección "Understanding BASIC Authentication with Unsecured Resources" de la guía Oracle Fusion Middleware Programming Security for Oracle WebLogic Server para obtener más información. Para desactivar la validación automática de las credenciales de autenticación básica HTTP enviadas a [aplicaciones no seguras]{.underline} en el dominio WLS, ejecute los siguientes pasos:

  1. Introduzca el entorno WLST ejecutando: $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Inicie una sesión de edición: edit() startEdit()
  4. Navegue al nodo SecurityConfiguration: cd('SecurityConfiguration')
  5. Navegue al dominio (sustituya DOMAIN_NAME por el nombre del dominio de WLS donde está instalado OAM): cd('DOMAIN_NAME')
  6. Defina el valor EnforceValidBasicAuthCredentials en false para desactivar la validación táctica de las credenciales de autenticación básica HTTP enviadas a aplicaciones no seguras: set('EnforceValidBasicAuthCredentials', 'false')
  7. Guarde y active los cambios: save() activate()
  8. Reinicie los servidores en el dominio de WLS para que se apliquen los cambios.

Autenticación por defecto global

El primer paso es crear y configurar socios de SP en IdP para el inicio de sesión único de SAML 2.0. Después de configurarla, la lista de socios de SP en IdP tiene el siguiente aspecto:

Descripción de la ilustración accessmanagement.jpg

Si se realiza SSO de federación que incluye AcmeSP o HRsp con IdP, el servidor de OAM desafía al usuario mediante el esquema de autenticación global por defecto configurado como LDAPScheme OOTB:

Descripción de la ilustración accessmanager.jpg

Para cambiar el esquema de autenticación global por defecto a BasicScheme, utilice el comando WLST setIdPDefaultScheme() de OAM y especifique qué esquema utilizar como valor por defecto:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conéctese al servidor de administración de WLS: connect()

  3. Navegue a la rama Domain Runtime: domainRuntime()

  4. Ejecute el comando setIdPDefaultScheme(): setIdPDefaultScheme("BasicScheme")

  5. Salga del entorno WLST: exit() La realización de SSO de federación que incluye AcmeSP o HRsp con IdP da como resultado que el servidor de OAM desafíe al usuario que utiliza OAM BasicScheme en lugar de LDAPScheme:

    Descripción de la ilustración windowssecurity.jpg

Para cambiar el esquema de autenticación global por defecto a LDAPScheme, realice las siguientes operaciones:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Navegue a la rama Domain Runtime: domainRuntime()
  4. Ejecute el comando setIdPDefaultScheme(): setIdPDefaultScheme("LDAPScheme")
  5. Salga del entorno WLST: exit()

Si se realiza SSO de federación que incluye AcmeSP o HRsp con IdP, el servidor de OAM desafía al usuario a través de LDAPScheme.

Autenticación de perfil de socio de SP

A partir de los casos de prueba anteriores, la configuración es la siguiente:

Para configurar HRsp para que utilice un nuevo perfil de socio de SP, ejecute los siguientes comandos:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Navegue a la rama Domain Runtime: domainRuntime()
  4. Cree el nuevo perfil de socio de SP a partir del perfil de socio de SP de SAML 2.0 por defecto: createFedPartnerProfileFrom("new-saml20-pp", "saml20-sp-partner-profile")
  5. Enlace el socio HRsp al nuevo perfil de socio de SP: setFedPartnerProfile("HRsp", "sp", "newsaml20-pp")
  6. Salga del entorno WLST: exit()

En este punto, al realizar SSO de federación que implique AcmeSP o HRsp con IdP, el servidor OAM desafía al usuario a través de LDAPScheme. Para configurar el nuevo perfil de socio de SP para que tenga BasicScheme como esquema de autenticación por defecto, utilice el comando WLST setSPPartnerProfileDefaultScheme() de OAM:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Navegue a la rama Domain Runtime: domainRuntime()
  4. Defina el esquema de autenticación por defecto para el nuevo perfil de socio de SP en BasicScheme: setSPPartnerProfileDefaultScheme("newsaml20-pp", "BasicScheme")
  5. Salga del entorno WLST: exit()

Ahora, realizando SSO de federación con:

Enlace HRsp de nuevo al perfil de socio de SP por defecto y, a continuación, suprima el perfil de socio de SP que he creado en esta prueba:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Navegue a la rama Domain Runtime: domainRuntime()
  4. Enlace el socio HRsp al perfil de socio de SP por defecto: setFedPartnerProfile("HRsp", "sp", "saml20-sp-partner-profile")
  5. Suprima el nuevo perfil de socio de SP: deleteFedPartnerProfile("new-saml20-pp")
  6. Salga del entorno WLST: exit()

Después de ejecutar estos comandos, al realizar SSO de federación que implique AcmeSP o HRsp con IdP, el servidor OAM desafía al usuario a través de LDAPScheme.

Autenticación de socio de SP

A partir de los casos de prueba anteriores, la configuración es la siguiente:

Para configurar el perfil de socio de SP de SAML 2.0 por defecto para utilizar BasicScheme como esquema de autenticación, realice las siguientes operaciones:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Navegue a la rama Domain Runtime: domainRuntime()
  4. Defina el esquema de autenticación por defecto para el nuevo perfil de socio de SP en BasicScheme: setSPPartnerProfileDefaultScheme("saml20-sppartner-profile", "BasicScheme")
  5. Salga del entorno WLST: exit()

En este punto, al realizar SSO de federación que implique AcmeSP o HRsp con IdP, el servidor OAM desafía al usuario a través de BasicScheme. Para configurar el partner de SP AcmeSP para que tenga LDAPScheme como esquema de autenticación por defecto, utilice el comando WLST setSPPartnerDefaultScheme() de OAM:

  1. Introduzca el entorno WLST ejecutando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conéctese al servidor de administración de WLS: connect()
  3. Navegue a la rama Domain Runtime: domainRuntime()
  4. Defina el esquema de autenticación por defecto para el partner de SP AcmeSP en LDAPScheme: setSPPartnerDefaultScheme("AcmeSP", "LDAPScheme")
  5. Salga del entorno WLST: exit()

Ahora, realizando SSO de federación con:

Aumentar la autenticación a través de diferentes niveles de autenticación

A partir de los casos de prueba anteriores, la configuración es la siguiente:

OOTB, el nivel de autenticación para LDAPScheme y BasicScheme está definido en 2. Para cambiar el nivel de autenticación de LDAPScheme a 3, realice las siguientes operaciones:

  1. Vaya a la consola de administración de OAM: http(s)://oam-admin-host:oam-adminport/oamconsole

  2. Vaya a Access Manager, Authentication Schemes.

  3. Haga clic en Buscar y seleccione LDAPScheme

  4. Definir el nivel de autenticación en 3

  5. Haga clic en Aplicar.

    Descripción de la ilustración Authenticationlevel.jpg

Después de estos cambios, si el usuario ya está autenticado en OAM y el usuario realiza una operación de SSO de federación con IdP, OAM garantiza que el esquema que se ha utilizado para autenticar al usuario en primer lugar tiene un nivel superior o igual al esquema configurado para el partner de SP actual con el que se ejerce SSO de federación. Por ejemplo:

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.