Uso de reglas avanzadas de autenticación previa de OAM en OAM IdP

En este artículo se muestra cómo utilizar la regla avanzada de autenticación de OAM con OAM como IdP con el siguiente caso de uso:

Para obtener más información sobre las reglas avanzadas de autenticación previa en OAM, consulte la guía del administrador de OAM

Reglas avanzadas de autenticación de OAM

En la versión 11.1.2.2.0 de Oracle Access Manager, se introdujeron Advanced Rules for Authentication Policies:

Los datos de tiempo de ejecución que puede evaluar la regla avanzada de autenticación de OAM se basan en los datos de solicitud, sesión o usuario:

La guía del administrador de OAM muestra las distintas propiedades que se pueden utilizar.

Por ejemplo, la siguiente regla de autenticación previa se podría utilizar para enrutar las solicitudes de autenticación para smartphones a otro esquema de autenticación de OAM:

request.userAgent.lower().find('iphone') > 0 or
request.userAgent.lower().find('mobile') > 0 or
request.userAgent.lower().find('blackberry') > 0 or
request.userAgent.lower().find('android') > 0

En el siguiente ejemplo, la regla de autenticación posterior indica que se deniegue el acceso de los usuarios que hayan abierto más de 2 sesiones:

session.count > 2

Nota: Las reglas posteriores a la autenticación que se evalúan como respuestas de autenticación después de la autenticación no se evalúan en un flujo SSO de federación, ya que el flujo IdP no implica ninguna respuesta de autenticación. Para implementar alguna autorización basada en la identidad del usuario, se pueden utilizar políticas de emisión de token, como se describe en este artículo.

Reglas avanzadas con IdP

Políticas de Autenticación de Federation

Al configurar IdP para utilizar un esquema de autenticación de OAM específico para desafiar a los usuarios en tiempo de ejecución, se crea una política de autenticación de OAM intermedia y se enlaza al esquema de autenticación de OAM especificado.

Para aplicar reglas avanzadas de autenticación en un flujo IdP, debemos modificar las políticas de autenticación de OAM intermediarias gestionadas por los módulos de administración de OAM.

Inicialmente, hay cuatro políticas de autenticación de federación existentes en el dominio de aplicaciones de IAM Suite que utiliza IdP para autenticar a un usuario en tiempo de ejecución:

Descripción de la ilustración Application_Domains.jpg

Además, las políticas de autenticación de federación se crean siempre que se configura un nuevo IdP para utilizar otro esquema de autenticación para desafiar a los usuarios durante una operación de SSO de federación.

El nombre de la política de autenticación de federación se basa en el esquema de autenticación configurado en IdP: "LocalAuthnFederation" + Name_of_the_Authentication_Scheme.

Estas políticas no se deben modificar, excepto para definir las reglas de autenticación previa y posterior.

Definición de una Regla Avanzada para una Política de Autenticación de Federación

Para configurar una regla avanzada para una política de autenticación de federación, realice los siguientes pasos:

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

  2. Vaya a Access Manager, Dominios de aplicación.

  3. Haga clic en Buscar y seleccione el dominio de aplicación de IAM Suite

  4. Haga clic en el separador Políticas de autenticación.

  5. Haga clic en la política de autenticación de federación que desea modificar

  6. Haga clic en el separador Advanced Rules de esa política

  7. Definir una política de autenticación previa

  8. Haga clic en Aplicar.

Métodos de Autenticación de Federación

Puede que sea necesario configurar IdP para asignar cualquier esquema de autenticación de OAM utilizado para desafiar a los usuarios a métodos de autenticación de federación, incluso el segundo esquema de autenticación que se puede configurar en una regla de autenticación previa.

Para ello, utilice uno de los comandos WSLT de OAM:

Ejemplo

Configurar OAM para:

Esquema por Defecto para IdP

En primer lugar, configuremos IdP para que utilice un esquema de autenticación por defecto (aunque éste sea el esquema por defecto listo para usar):

  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()

La consecuencia es que la política de autenticación de OAM LocalAuthnFederationLDAPScheme se utiliza para desafiar a los usuarios para el partner de SP remoto.

Regla de autenticación previa avanzada de OAM

Vamos a crear ahora la regla de autenticación previa que indica a OAM que utilice BasicScheme para usuarios de smartphones: la regla se basa en la cabecera HTTP UserAgent:

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

  2. Vaya a Access Manager, Dominios de aplicación.

  3. Haga clic en Buscar y seleccione el dominio de aplicación de IAM Suite

  4. Haga clic en el separador Authentication Policies.

  5. Haga clic en la política LocalAuthnFederationLDAPScheme

  6. Haga clic en el separador Advanced Rules de esa política

  7. Crear Nueva Regla Previa a la Autenticación

Descripción de la ilustración Authentication_Policy.jpg

Realice las siguientes acciones:

  1. Introduzca la información para la regla de autenticación previa:
  1. Haga clic en Agregar.

  2. Haga clic en Aplicar.

Descripción de la ilustración Rules_Added_Screen.jpg

Asignaciones de Método de Autenticación de Federación

Por último, asignemos los esquemas que se utilizan en nuestros despliegues a los métodos de autenticación de federación de SAML 2.0 (aunque de forma inmediata la asignación ya existe para LDAPScheme y BasicScheme).

En nuestro entorno, se utilizan dos esquemas:

Asigne ambos esquemas a urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport en el nivel de perfil de socio:

  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 addSPPartnerProfileAuthnMethod(): addSPPartnerProfileAuthnMethod("saml20-sppartner-","urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport""LDAPScheme")addSPPartnerProfileAuthnMethod("saml20-sppartner-profile","urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport""BasicScheme")

  5. Salga del entorno WLST: exit()

Probar

Al realizar SSO de federación desde un explorador de escritorio/pantalla, IdP realiza comprobaciones con LDAPScheme y los usuarios en la siguiente página de conexión:

Descripción de la ilustración Access_Manager.jpg

Mientras que un usuario de Smartphone para una operación SSO de federación con el mismo partner de SP vería una comprobación de autenticación básica HTTP:

Descripción de la ilustración Authentication_Screen.jpg

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.