Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la capa gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al completar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Configuración de la renovación gradual de contraseñas en Oracle Database en Oracle Cloud Infrastructure
Introducción
La renovación gradual de contraseñas es una función de Oracle Database que permite cambiar la contraseña de un usuario de base de datos sin interrumpir las aplicaciones que utilizan actualmente la contraseña antigua. Con la renovación gradual de la contraseña, la contraseña antigua sigue siendo válida durante un período de tiempo especificado, después del cual ya no se acepta, es decir, se permiten dos contraseñas diferentes para un usuario temporalmente. Esto permite la propagación de la nueva contraseña a todas las aplicaciones cliente sin tiempo de inactividad. El período de renovación de contraseña comienza en el momento en que se cambia la contraseña.
La función de renovación gradual de contraseñas se muestra como una configuración de recurso de contraseña de perfil de usuario (límite de recursos de contraseña) PASSWORD_ROLLOVER_TIME
, que se aplica a las sesiones de usuario. Los perfiles de usuario de Oracle Database son un juego de límites en los recursos de la base de datos: configuración de nivel de usuario. El perfil de usuario ayuda a regular la cantidad de recursos utilizados por cada usuario de base de datos. Una base de datos se crea con un perfil por defecto denominado DEFAULT
, que se asigna a todos los usuarios de la base de datos si no se especifica lo contrario. Podemos utilizar el perfil por defecto o crear un nuevo perfil para agregar límites de recursos de contraseña.
En este tutorial, solo nos centraremos en PASSWORD_ROLLOVER_TIME
y revisaremos una guía paso a paso para utilizar esta función en un servicio de base de datos de Oracle Autonomous Transaction Processing (ATP). Para ello, utilizaremos la herramienta Oracle SQL Developer Web de la consola de OCI.
Hay otras cosas que uno debe saber antes de usar la función de renovación de contraseña.
-
Si la contraseña se vuelve a cambiar en el período de renovación, solo las contraseñas más antiguas y más recientes permanecen válidas, por ejemplo, si el usuario inicialmente tenía la contraseña p1 que se cambió a p2 con renovación de contraseña y se vuelve a cambiar a p3 en el período de renovación del primer cambio, solo p1 y p3 permanecen válidos y p2 se convierte en no válido. Además, la hora de caducidad del período de renovación de contraseña no cambia, es decir, no se actualiza para los nuevos cambios de contraseña. Esto resulta muy útil cuando la contraseña se rota varias veces en la ventana de renovación de contraseña, ya que las aplicaciones pueden seguir utilizando la contraseña antigua para crear conexiones.
-
Los usuarios administrativos no pueden utilizar la función de renovación de contraseña incluso si están asociados a un perfil que tiene el parámetro
PASSWORD_ROLLOVER_TIME
definido y no se pueden otorgar privilegios administrativos a los usuarios que están asociados a un perfil que tiene el parámetroPASSWORD_ROLLOVER_TIME
definido.
Objetivos
- Utilice la función de renovación gradual de contraseñas en Oracle Database. Aproveche esta capacidad para evitar que se produzca el tiempo de inactividad de la aplicación o la coordinación debido al cambio de contraseña.
Requisitos
-
Una cuenta de OCI activa.
-
Conocimientos de Oracle Database.
-
Una instancia de base de datos ATP.
-
Privilegios de usuario para poder crear perfiles y asignar perfiles al usuario en Oracle Cloud Infrastructure Database.
Tarea 1: Comprobación del perfil predeterminado en ATP
Veremos el perfil por defecto y el valor del recurso PASSWORD_ROLLOVER_TIME
en un ATP.
Abra la herramienta Oracle SQL Developer Web y ejecute la siguiente consulta SQL para comprobar los límites del perfil DEFAULT
.
select * from dba_profiles where profile = 'DEFAULT';
En la siguiente imagen, vemos que el perfil DEFAULT
tiene muchos recursos y que el límite (valor) de PASSWORD_ROLLOVER_TIME
es 0. Esto significa que la renovación gradual de la contraseña está desactivada para el perfil DEFAULT
. Se puede cambiar el límite de recursos en el perfil DEFAULT
, pero crearemos un nuevo perfil para demostrar esta función.
Tarea 2: Creación de un nuevo perfil de usuario
Cree un perfil con FAILED_LOGIN_ATTEMPTS
definido en 10 y el límite PASSWORD_ROLLOVER_TIME
en 1 hora (1/24 días).
-
Ejecute la siguiente consulta SQL para crear un perfil denominado
PW_ROLLOVER_TIME_1HR_PROF
.create profile PW_ROLLOVER_TIME_1HR_PROF limit FAILED_LOGIN_ATTEMPTS 10 PASSWORD_ROLLOVER_TIME 1/24;
-
Ejecute la siguiente consulta SQL para comprobar el límite
PASSWORD_ROLLOVER_TIME
.select * from dba_profiles where profile = 'PW_ROLLOVER_TIME_1HR_PROF';
El límite de recursos para
PASSWORD_ROLLOVER_TIME
es0.416
(1/24 día) y los intentos de conexión fallidos se definen en10
.
Tarea 3: Creación de una cuenta de usuario
Crearemos una cuenta de usuario y asignaremos el perfil creado PW_ROLLOVER_TIME_1HR_PROF
al usuario.
-
Ejecute la siguiente consulta SQL para crear un usuario denominado
db_test
.create user db_test identified by "Pass_Rollover@2023" profile = 'PW_ROLLOVER_TIME_1HR_PROF';
Un usuario existente también se puede asociar a un perfil mediante el siguiente comando.
alter user <user_name> profile <profile_name>;
-
Ejecute la siguiente consulta SQL para otorgar el privilegio
CREATE SESSION
para probar la conexión a la base de datos.GRANT CREATE SESSION TO DB_TEST;
-
Comprobaremos el estado de la cuenta mediante la siguiente consulta SQL.
select user_name, profile, account_status from dba_users where user_name = 'DB_TEST';
Tarea 4: Cambio de la Contraseña de Usuario
Cambie la contraseña de usuario y consulte el estado de la cuenta.
-
Ejecute la siguiente consulta SQL para cambiar la contraseña de usuario.
alter user DB_TEST identified by "New_Pass@2023";
-
Compruebe el estado de la cuenta.
El estado de la cuenta ahora muestra
IN ROLLOVER
, lo que significa que la cuenta de usuarioDB_TEST
está actualmente en renovación y que tanto la contraseña antigua como la nueva se pueden utilizar para conectarse al usuario durante 1 hora. Después de 1 hora, la contraseña antigua ya no se aceptará y las conexiones se pueden establecer solo con la nueva contraseña.
Tarea 5: Vencimiento forzoso del período de renovación
La función de renovación de contraseña nos permite hacer que caduque la renovación de forma forzada cuando no deseamos que la contraseña antigua sea válida para el período de renovación restante.
-
Ejecute la siguiente consulta SQL para que caduque la renovación de contraseña del usuario.
alter user DB_TEST expire password rollover period;
-
Compruebe el estado de la cuenta.
El estado de la cuenta ha cambiado a
OPEN
y ya no podemos conectarnos a la base de datos con una contraseña antigua. Por lo tanto, cuando un usuario está en renovación, como las contraseñas nuevas y antiguas son funcionales, el estado de la cuenta en la tablaDBA_USERS
esOPEN & IN ROLLOVER
y el estado de la cuenta cambia aOPEN
después de que caduque el período de renovación.
Enlaces relacionados
Agradecimientos
- Autor: Satyam Kumar (miembro del personal técnico)
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 Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Set up Gradual Password Rollover in Oracle Database on Oracle Cloud Infrastructure
F93093-01
February 2024
Copyright © 2024, Oracle and/or its affiliates.