Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par des valeurs propres à votre environnement cloud.
Configuration de la reconduction progressive des mots de passe dans Oracle Database sur Oracle Cloud Infrastructure
Introduction
La reconduction progressive des mots de passe est une fonctionnalité d'Oracle Database qui permet de modifier le mot de passe d'un utilisateur de base de données sans interrompre les applications qui utilisent actuellement l'ancien mot de passe. Avec le remplacement progressif du mot de passe, l'ancien mot de passe reste valide pendant une période donnée, après quoi il n'est plus accepté, c'est-à-dire que deux mots de passe différents sont autorisés temporairement pour un utilisateur. Cela permet de propager le nouveau mot de passe vers toutes les applications client sans aucun temps d'inactivité. La période de remplacement du mot de passe commence au moment où le mot de passe est modifié.
La fonctionnalité de remplacement progressif du mot de passe est exposée en tant que paramètre de ressource de mot de passe de profil utilisateur (limite de ressource de mot de passe) PASSWORD_ROLLOVER_TIME, qui est appliqué aux sessions utilisateur. Les profils utilisateur dans Oracle Database sont un ensemble de limites sur les ressources de base de données : la configuration au niveau de l'utilisateur. Le profil utilisateur permet de réguler la quantité de ressources utilisées par chaque utilisateur de base de données. Une base de données est créée avec un profil par défaut nommé DEFAULT, qui est affecté à tous les utilisateurs de la base de données si aucun autre profil n'est indiqué. Nous pouvons utiliser le profil par défaut ou créer un nouveau profil pour ajouter des limites de ressource de mot de passe.
Dans ce tutoriel, nous allons nous concentrer uniquement sur PASSWORD_ROLLOVER_TIME et passer par un guide détaillé pour l'utilisation de cette fonctionnalité dans un service de base de données Oracle Autonomous Transaction Processing (ATP). Pour cela, nous allons utiliser l'outil Oracle SQL Developer Web de la console OCI.
Il y a d'autres choses que vous devez savoir avant d'utiliser la fonction de remplacement de mot de passe.
-
Si le mot de passe est à nouveau modifié au cours de la période de reconduction, seuls les mots de passe les plus anciens et les plus récents restent valides. Par exemple, si l'utilisateur avait initialement le mot de passe p1, qui a été remplacé par p2, et qu'il est à nouveau remplacé par p3 au cours de la période de reconduction de la première modification, seuls p1 et p3 restent valides et p2 devient non valide. En outre, le délai d'expiration de la période de remplacement du mot de passe ne change pas, c'est-à-dire qu'il n'est pas mis à jour pour les nouveaux changements de mot de passe. Cela est très utile lorsque le mot de passe fait l'objet de plusieurs rotations dans la fenêtre de remplacement de mot de passe, car les applications peuvent toujours utiliser l'ancien mot de passe pour créer des connexions.
-
Les administrateurs ne peuvent pas utiliser la fonctionnalité de remplacement de mot de passe, même s'ils sont attachés à un profil dont le paramètre
PASSWORD_ROLLOVER_TIMEest défini, et les privilèges d'administration ne peuvent pas être accordés aux utilisateurs attachés à un profil dont le paramètrePASSWORD_ROLLOVER_TIMEest défini.
Objectifs
- Utilisez la fonctionnalité de remplacement progressif des mots de passe dans Oracle Database. Tirez parti de cette fonctionnalité pour éviter les temps d'arrêt ou la coordination des applications dus à la modification du mot de passe.
Prérequis
-
Compte OCI actif.
-
Connaissance d'Oracle Database.
-
Une instance de base de données ATP.
-
Privilèges utilisateur permettant de créer un profil et de l'affecter à l'utilisateur dans Oracle Cloud Infrastructure Database.
Tâche 1 : vérifier le profil par défaut dans le DAV
Le profil par défaut et la valeur de la ressource PASSWORD_ROLLOVER_TIME apparaîtront dans un DAV.
Ouvrez l'outil Oracle SQL Developer Web et exécutez la requête SQL suivante pour vérifier les limites du profil DEFAULT.
select * from dba_profiles where profile = 'DEFAULT';

Dans l'image suivante, le profil DEFAULT dispose de nombreuses ressources et la limite (valeur) de PASSWORD_ROLLOVER_TIME est de 0. Cela signifie que la reconduction progressive du mot de passe est désactivée pour le profil DEFAULT. La limite de ressources dans le profil DEFAULT peut être modifiée, mais nous allons créer un nouveau profil pour illustrer cette fonctionnalité.
Tâche 2 : créer un profil utilisateur
Créez un profil avec FAILED_LOGIN_ATTEMPTS défini sur 10 et la limite PASSWORD_ROLLOVER_TIME sur 1 heure (1/24 jour).
-
Exécutez la requête SQL suivante pour créer un profil nommé
PW_ROLLOVER_TIME_1HR_PROF.create profile PW_ROLLOVER_TIME_1HR_PROF limit FAILED_LOGIN_ATTEMPTS 10 PASSWORD_ROLLOVER_TIME 1/24;
-
Exécutez la requête SQL suivante pour vérifier la limite
PASSWORD_ROLLOVER_TIME.select * from dba_profiles where profile = 'PW_ROLLOVER_TIME_1HR_PROF';
La limite de ressources pour
PASSWORD_ROLLOVER_TIMEest0.416(1/24 jour) et les tentatives de connexion ayant échoué sont définies sur10.
Tâche 3 : créer un compte utilisateur
Nous allons créer un compte utilisateur et affecter le profil créé PW_ROLLOVER_TIME_1HR_PROF à l'utilisateur.
-
Exécutez la requête SQL suivante pour créer un utilisateur nommé
db_test.create user db_test identified by "Pass_Rollover@2023" profile = 'PW_ROLLOVER_TIME_1HR_PROF';
Un utilisateur existant peut également être associé à un profil à l'aide de la commande suivante.
alter user <user_name> profile <profile_name>; -
Exécutez la requête SQL suivante pour accorder le privilège
CREATE SESSIONde test de la connexion de base de données.GRANT CREATE SESSION TO DB_TEST;
-
Nous allons vérifier le statut du compte à l'aide de la requête SQL suivante.
select user_name, profile, account_status from dba_users where user_name = 'DB_TEST';
Tâche 4 : modifier le mot de passe utilisateur
Modifiez le mot de passe utilisateur et consultez le statut du compte.
-
Exécutez la requête SQL suivante pour modifier le mot de passe utilisateur.
alter user DB_TEST identified by "New_Pass@2023"; -
Vérifiez le statut du compte.

Le statut du compte affiche désormais
IN ROLLOVER, ce qui signifie que le compte utilisateurDB_TESTest actuellement reporté et que l'ancien et le nouveau mot de passe peuvent être utilisés pour se connecter à l'utilisateur pendant 1 heure. Après 1 heure, l'ancien mot de passe ne sera plus accepté et les connexions peuvent être établies à l'aide du nouveau mot de passe uniquement.
Tâche 5 : expiration forcée de la période de reconduction
La fonctionnalité de reconduction de mot de passe nous permet d'expirer la reconduction de manière forcée lorsque nous ne voulons pas que l'ancien mot de passe soit valide pour la période de reconduction restante.
-
Exécutez la requête SQL suivante pour faire expirer la reconduction du mot de passe pour l'utilisateur.
alter user DB_TEST expire password rollover period;
-
Vérifiez le statut du compte.

Le statut du compte est passé à
OPENet nous ne pouvons plus nous connecter à la base de données à l'aide de l'ancien mot de passe. Par conséquent, lorsqu'un utilisateur est en reconduction, comme les nouveaux mots de passe et les anciens mots de passe, le statut du compte dans la tableDBA_USERSestOPEN & IN ROLLOVERet le statut du compte devientOPENaprès l'expiration de la période de reconduction.
Liens connexes
Remerciements
- Auteur - Satyam Kumar (membre du personnel technique)
Ressources de formation supplémentaires
Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Set up Gradual Password Rollover in Oracle Database on Oracle Cloud Infrastructure
F93094-01
February 2024
Copyright © 2024, Oracle and/or its affiliates.