miércoles, 22 de agosto de 2012

Definición de políticas de complejidad de claves en E-business Suite R12

Por requerimientos de auditoria en mi trabajo, es necesario establecer políticas de seguridad para las claves de los usuarios. En concreto los requerimientos para las claves de usuario son:

1. Deben tener un largo mínimo de 6 caracteres
2. Deben ser alfanuméricas, sin caracteres consecutivos
3. Una clave no puede repetirse en los próximos 150 días
4. Cada 30 días caducan las contraseñas

Revisando en la documentación de R12 encontré la siguiene nota de MOS: How to Implement (Signon Password Custom) Profile Option in Oracle Applications 11i / R12 [ID 362663.1].

La nota es bastante buena pero para mi que recién vengo entrando al mundo del ERP me tomó más tiempo del necesario encontrar las opciones. Por ello decidí hacer algo más detallado en base a lo anterior.

La nota habla de cargar una clase java al ERP. Esta parte es sencilla y bastante detallada, solo tomé el código, lo guardé en un archivo AppsPasswordValidationCUS.java y seguí las instrucciones pero de todas formas las detallo a continuación: 

1. Una vez creado el archivo se carga al ERP:
    
     loadjava -user apps/apps -verbose -resolve -force AppsPasswordValidationCUS.java


2. Ejecutar adadmin para recompilar el esquema apps. Para ello ejecutamos adadmin, nos pedirá algunos datos de rutina como las claves de los usuarios SYSTEM y apps. Cuando estemos listo aparecerá el menú de adadmin. Elegimos la opción 3->1 para recompilar APPS




3.Ejecutamos el siguiente SELECT para chequear que la clase java se cargó en la base de datos sin problemas:

  SELECT dbms_java.longname(object_name), status   
  FROM user_objects
  WHERE object_type = 'JAVA CLASS' 
  AND dbms_java.longname(object_name) like '%AppsPasswordValidationCUS';

Si devuelve VALID estamos listos para pasar a la interfaz del ERP y establecer el nuevo validador de claves.

4. Actualizar la opción del perfil para aplicar la política de claves. Para esto ingresamos con sysadmin y entramos a System Administrator -> Profile -> System y buscamos el texto "%Signon%"



Acá veremos todas las opciones de perfil relacionadas a claves



5. Establecemos las opciones necesarias para nuestra validación de claves:

Signon Password Custom = oracle.apps.fnd.security.AppsPasswordValidationCUS
Signon Password No Reuse = 150 (días)



6. Para satisfacer el requerimiento de que las claves caduquen cada 30 días, debemos hacerlo por cada usuario en la opción System Administrator ->  Security : User -> Define



7. Y listo! A partir de ahora cada vez que el usuario cambie la clave se le exigirán las nuevas medidas de seguridad que definimos.