Cambio gradual de la contraseña en Oracle

Hola a todos, hoy vamos a ver una nueva funcionalidad que nos ofrece Oracle a partir de la versión 19.12, para poder continuar utilizando un usuario cuando la contraseña ha caducado, y comienza el periodo de gracia de la misma. Es una funcionalidad que nos permite un cambio gradual de la contraseña y puede ser muy útil cuando ocurre en un ambiente de producción y no se puede cambiar la contraseña del usuario de aplicación sin esperar a tener que realizar el cambio fuera de horas, para no interrumpir el servicio que da la aplicación.

¿Cómo implementar el cambio gradual de la contraseña en Oracle?

Caducidad de la contraseña

La gestión de la caducidad de contraseñas actualmente se realiza por medio de los PROFILES asignados al usuario, configurando dos de los límites que ofrece el PROFILE en Oracle.

PASSWORD_LIFE_TIME — Marca el periodo de vida de la contraseña. Es el número de días que se puede utilizar la contraseña antes de expirar.

PASSWORD_GRACE_TIME — Marca el periodo de gracia de la contraseña. Es el número de días en los que aún se permite conectar pero se emite un aviso de que hay que cambiar la contraseña. Si no se establece un número de días, por defecto son 7 días.

Esto se puede ver con un ejemplo, con un usuario de ejemplo de los que nos ofrece Oracle, el usuario «hr». Para este ejemplo se utilizará el usuario «hr» con contraseña «hr$2025» y se conectará a una PDB llamada PDB21TEST1

Cuando el usuario se conecta en periodo de gracia, se permite la conexión, pero se avisa que quedan pocos días para la expiración de la contraseña.

Función PASSWORD ROLLOVER

Cuando pasen los días que faltan, si no se ha cambiado la contraseña el usuario expira y ya no se puede conectar con él a la BBDD hasta que no se cambie la contraseña. A partir de la versión de Oracle 19.12 se ha creado la función PASSWORD ROLLOVER, que permite crear una nueva contraseña, y que el usuario conecte indistintamente con la contraseña nueva y con la vencida durante un periodo de tiempo, para poder ir cambiándola en todas las aplicaciones que utilicen ese usuario, sin tener que perder disponibilidad de dichas aplicaciones.

Esta función se implementa en la BBDD mediante un nuevo parámetro que se configura en el PROFILE.

PASSWORD_ROLLOVER_TIME — Marca el periodo en el que conviven la contraseña nueva y la antigua. Es el número de días en que se pueden utilizar las dos contraseñas. Por defecto se configura con 0 días, que significa que está desactivado. No puede superar el periodo de gracia establecido por PASSWORD_GRACE_TIME.

Cambio gradual de la contraseña

Por otro lado, hay un número máximo de días que se puede tener, que son 60.

Cambio gradual de la contraseña

Cómo funciona este parámetro

El primer paso es establecer un periodo donde puedan convivir la contraseña nueva y la antigua, siempre menor de 60 días y que el periodo de gracia. En este caso el periodo de gracia es de 7 días, marcado por el parámetro PASSWORD_GRACE_TIME.

SQL>
SQL> select profile, resource_name, limit from dba_profiles
  2  where profile='DEFAULT' and resource_name='PASSWORD_GRACE_TIME';

PROFILE                        RESOURCE_NAME                    LIMIT
------------------------------ -------------------------------- ------------------------------
DEFAULT                        PASSWORD_GRACE_TIME              7

SQL> alter profile default limit PASSWORD_ROLLOVER_TIME 5;

Perfil modificado.

SQL> select profile, resource_name, limit from dba_profiles
  2  where profile='DEFAULT' and resource_name='PASSWORD_ROLLOVER_TIME';

PROFILE                        RESOURCE_NAME                    LIMIT
------------------------------ -------------------------------- ------------------------------
DEFAULT                        PASSWORD_ROLLOVER_TIME           5

SQL>

Después se realiza el cambio de contraseña normalmente. Se va a establecer como contraseña «hr$roll25»

SQL>
SQL> ALTER USER hr IDENTIFIED BY hr$roll25;

Usuario modificado.

SQL>

Y se comprueba que se puede conectar el usuario con las dos contraseñas

Podemos ayudarte con el cambio gradual de la contraseña en Oracle

Esperamos que os haya resultado de utilidad. No dudéis en poneros en contacto con nosotros en caso de necesitar ayuda en la gestión de vuestras bases de datos. Échale un vistazo a nuestros servicios de soporte y mantenimiento Oracle.

¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.

Sígue a GPS en LinkedIn

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *