Consideraciones de codificación y diseño

Orden de búsqueda

Además del directorio nativo, se pueden configurar varios directorios de usuario en Servicios compartidos de Oracle Hyperion. Se asigna una posición de orden de búsqueda predeterminada a todos los directorios de usuario configurados. Puede modificar el orden de búsqueda en Consola de Servicios compartidos de Oracle Hyperion. A excepción del directorio nativo, puede eliminar los directorios de usuario configurados del orden de búsqueda. Oracle Enterprise Performance Management System no usa los directorios de usuario que no estén incluidos en el orden de búsqueda. Consulte la Guía de administración de seguridad de usuarios de Oracle Enterprise Performance Management System.

El orden de búsqueda determina el orden en el que EPM System pasa de un directorio de usuario a otro para autenticar a los usuarios. Si al usuario se le autentifica en un directorio de usuario, EPM System detiene la búsqueda y devuelve el usuario. EPM System deniega la autentificación y devuelve un error si el usuario no puede autentificarse en los directorios de usuario en el orden de búsqueda.

Impacto de la autentificación personalizada en el orden de búsqueda

La autentificación personalizada afecta a la forma en que la seguridad de EPM System interpreta el orden de búsqueda.

Si el módulo de autentificación personalizado devuelve un nombre de usuario, EPM System solo busca al usuario en un directorio de usuario que permita la autentificación personalizada. En este momento, EPM System ignora los directorios de usuario que no estén configurados para la autentificación personalizada.

Descripción del flujo de autentificación personalizada

Se usan los siguientes escenarios de caso de uso para explorar el flujo de autentificación personalizada:

Escenario de caso de uso 1

En la siguiente tabla se detallan la configuración de directorio de usuario de EPM System y el orden de búsqueda que se usa en este escenario. En este escenario se asume que el módulo de autentificación personalizado usa una infraestructura RSA para autentificar a los usuarios.

Tabla 5-1 Configuración del escenario 1

Tipo y nombre de directorio de usuario Orden de búsqueda Autentificación personalizada Nombres de usuario de ejemplo ContraseñaPie 1
Directorio nativo 1 Desactivada

test_user_1

test_user_2

test_user_3

password

Activado para LDAP

SunONE_West

2 Desactivada

test_ldap1

test_ldap_2

test_user_3

test_ldap_4

ldappassword

Activado para LDAP

SunONE_East

3 Activada

test_ldap1

test_ldap_2

test_user_3

ldappassword en SunONE y RSA PIN en el módulo personalizado

Nota al pie 1 Para hacerlo más sencillo, se asume que todos los usuarios usan la misma contraseña para el directorio de usuario.

Para iniciar el proceso de autentificación, un usuario introduzca un nombre de usuario y una contraseña en la pantalla de conexión de un producto EPM System. En este escenario, el módulo de autentificación personalizado realiza las siguientes acciones:

  • Acepta un nombre de usuario y un PIN de RSA como credenciales de usuario
  • Devuelve un nombre de usuario en formato username@providername, por ejemplo, test_ldap_2@SunONE_East, a la seguridad de EPM System

Tabla 5-2 Interacción del usuario y resultados

Nombre de usuario y contraseña Resultado de autentificación Directorio de usuario de conexión
test_user_1/password Correcto Directorio nativo
test_user_3/password Correcto Directorio nativo
test_user_3/ldappassword Correcto SunONE_West (orden de búsqueda 2)Pie 2
test_user_3/RSA PIN Correcto SunONE_East (orden de búsqueda 3)Pie 3
test_ldap_2/ldappassword Correcto SunONE_West (orden de búsqueda 2)
test_ldap_4/RSA PIN Fallo

EPM System muestra un error de autentificación.Pie 4

 

Nota al pie 2

La autentificación personalizada no puede autentificar este usuario porque el usuario ha introducido las credenciales de EPM System. EPM System puede identificar solo este usuario en un directorio de usuario que no esté activado para autentificación personalizada. El usuario no está en el directorio nativo (número de orden de búsqueda 1), pero se identifica en SunONE West (número de orden de búsqueda 2).

Nota al pie 3

EPM System no encuentra este usuario en el directorio nativo (número de orden de búsqueda 1) o SunONE West (número de orden de búsqueda 2). El módulo de autentificación personalizado valida al usuario en un servidor de RSA y devuelve test_user_3@SunONE_EAST a EPM System. EPM System busca al usuario en SunONE East (número de orden de búsqueda 3), que es un directorio de usuario con la autentificación personalizada activa.

Nota al pie 4

Oracle recomienda que todos los usuarios autentificados por el módulo personalizado estén presentes en un directorio de usuario con autentificación personalizada activada incluida en el orden de búsqueda. Se produce un fallo de conexión si el nombre de usuario que devuelve el módulo de autentificación personalizado no está presente en un directorio de usuario con autentificación personalizada activada incluida en el orden de búsqueda.

Escenario de caso de uso 2

En la siguiente tabla se detallan la configuración de directorio de usuario de EPM System y el orden de búsqueda que se usa en este escenario. En este escenario se asume que el módulo de autentificación personalizado usa una infraestructura RSA para autentificar a los usuarios.

En este escenario, el módulo de autentificación personalizado realiza las siguientes acciones:

  • Acepta un nombre de usuario y un PIN de RSA como credenciales de usuario
  • Devuelve un nombre de usuario, por ejemplo, test_ldap_2, a la seguridad de EPM System

Tabla 5-3 Un orden de búsqueda de ejemplo

Directorio de usuario Orden de búsqueda Autentificación personalizada Nombres de usuario de ejemplo ContraseñaPie 5
Directorio nativo 1 Desactivada

test_user_1

test_user_2

test_user_3

password
Activado para LDAP, por ejemplo, SunONE 2 Activada

test_ldap1

test_ldap2

test_user_3

ldappassword en SunONE y RSA PIN en el módulo personalizado

Nota al pie 5 Para hacerlo más sencillo, se asume que todos los usuarios usan la misma contraseña para el directorio de usuario.

Para iniciar el proceso de autentificación, un usuario introduce un nombre de usuario y una contraseña en la pantalla de inicio de sesión de un producto EPM System.

Tabla 5-4 Interacción del usuario y resultados

Nombre de usuario y contraseña Resultado de inicio de sesión Directorio de usuario de conexión
test_user_1/password Correcto Directorio nativo
test_user_3/password Correcto Directorio nativo
test_user_3/ldappassword Fallo SunONEPie 6
test_user_3/RSA PIN Correcto SunONEPie 7

Nota al pie 6

La autentificación del usuario en el directorio nativo falla porque las contraseñas no coinciden. La autentificación del usuario mediante el módulo de autentificación personalizado falla porque la contraseña usada no es un PIN de RSA válido. EPM System no intenta autentificar a este usuario en SunONE (orden de búsqueda 2), porque la configuración de la autentificación personalizada sustituye a la autentificación de EPM System en este directorio.

Nota al pie 7

La autentificación del usuario en el directorio nativo falla porque las contraseñas no coinciden. El módulo de autentificación personalizado autentifica al usuario y devuelve el nombre de usuario test_user_3 a EPM System.

Escenario de caso de uso 3

En la siguiente tabla se detallan la configuración de directorio de usuario de EPM System y el orden de búsqueda que se usa en este escenario. En este escenario se asume que el módulo de autentificación personalizado usa una infraestructura RSA para autentificar a los usuarios.

Para favorecer la claridad en esos escenarios, Oracle recomienda que su módulo de autentificación personalizado devuelva el nombre de usuario en formato username@providername, por ejemplo, test_ldap_4@SunONE.

Tabla 5-5 Un orden de búsqueda de ejemplo

Directorio de usuario Orden de búsqueda Autentificación personalizada Nombres de usuario de ejemplo ContraseñaPie 8
Directorio nativo 1 Activada

test_user_1

test_user_2

test_user_3

RSA_PIN
Activado para LDAP, por ejemplo, MSAD 2 Desactivada

test_ldap1

test_ldap4

test_user_3

ldappassword
Activado para LDAP, por ejemplo, SunONE 3 Activada

test_ldap1

test_ldap4

test_user_3

ldappassword en SunONE y RSA PIN en el módulo personalizado

Nota al pie 8 Para hacerlo más sencillo, se asume que todos los usuarios usan la misma contraseña para el directorio de usuario.

Para iniciar el proceso de autentificación, un usuario introduzca un nombre de usuario y una contraseña en la pantalla de conexión de un producto EPM System.

Tabla 5-6 Interacción del usuario y resultados

Nombre de usuario y contraseña Resultado de autentificación Directorio de usuario de conexión
test_user_1/password Correcto Directorio nativo
test_user_3/RSA_PIN Correcto Directorio nativo
test_user_3/ldappassword Correcto MSAD (orden de búsqueda 2)
test_ldap_4/ldappassword Correcto MSAD (orden de búsqueda 2)
test_ldap_4/RSA PIN Correcto SunONE (orden de búsqueda 3)

Directorios de usuarios y módulo de autentificación personalizado

Para usar el módulo de autentificación personalizado, los directorios de usuarios que contienen información de usuarios y grupos de EPM System se pueden configurar de forma individual para delegar la autentificación al módulo personalizado.

Los usuarios de EPM System que estén autentificados mediante un módulo personalizado deben estar presentes en uno de los directorios de usuario incluidos en el módulo de búsqueda (consulte Orden de búsqueda). Asimismo, se debe configurar el directorio de usuario para delegar la autentificación al módulo personalizado.

La identidad del usuario en el proveedor personalizado (por ejemplo, 1357642 en la infraestructura SecurID de RSA) puede ser distinto del nombre de usuario del directorio de usuario (por ejemplo, jDoe en una instancia de Oracle Internet Directory) configurado en Servicios compartidos. Después de autentificar al usuario, el módulo de autentificación personalizado debe devolver el nombre de usuario jDoe a EPM System.

Nota:

Como mejor práctica, Oracle recomienda que el nombre de usuario de los directorios de usuario configurados en EPM System sea idéntico a los disponibles en el directorio de usuario que usa el módulo de autentificación personalizado.

Interfaz Java de CSSCustomAuthenticationIF

El módulo de autentificación personalizado debe usar la interfaz Java de CSSCustomAuthenticationIF para integrarse con el marco de seguridad de EPM System. Debe devolver una cadena de nombre de usuario si la autentificación personalizada es correcta o un mensaje de error si la autentificación personalizada no es correcta. Para que finalice el proceso de autentificación, el nombre de usuario que devuelve el módulo de autentificación personalizado debe estar presente en uno de los directorios de usuario incluidos en el orden de búsqueda de Servicios compartidos. El marco de seguridad de EPM System soporta el formato username@providerName.

Nota:

Asegúrese de que el nombre de usuario que devuelve el módulo de autentificación personalizado no contengan un * (asterisco), porque el marco de seguridad de EPM System lo interpreta como un carácter comodín al buscar usuarios.

Consulte Código de ejemplo 1 para la firma de la interfaz de CSSCustomAuthenticationIF.

Su módulo de autentificación personalizado (puede ser un archivo de clase) se debe incluir en CustomAuth.jar. La estructura del paquete no es importante.

Para obtener información detallada sobre la interfaz de CSSCustomAuthenticationIF, consulte Documentación de la API de seguridad.

El método authenticate de CSSCustomAuthenticationIF soporta la autentificación personalizada. El método authenticate acepta las credenciales (nombre de usuario y contraseña) que el usuario ha introducido al intentar acceder a EPM System como parámetros de entrada. Este método devuelve una cadena (nombre de usuario) si la autentificación personalizada es correcta. Devuelve una excepción java.lang.Exception si la autentificación no es correcta. El nombre de usuario que devuelve el método debería identificar de forma única un usuario en uno de los directorios de usuario incluidos en el orden de búsqueda de Servicios compartidos. El marco de seguridad de EPM System soporta el formato username@providerName.

Nota:

Para inicializar recursos, por ejemplo, una agrupación de conexiones JDBC, utilice el constructor de clases. Al hacerlo, mejora el rendimiento al no cargar recursos para cada una de las autentificaciones.