Gérer les profils d'utilisateur avec Autonomous Database sur une infrastructure Exadata dédiée
Vous pouvez créer et modifier des profils d'utilisateur dans la base de données autonome. Après avoir créé ou modifié un profil, vous pouvez spécifier la clause de profil à l'aide de CREATE USER
ou ALTER USER
. Vous pouvez également importer des profils d'utilisateur existants à partir d'un autre environnement à l'aide de la fonction d'importation d'Oracle Data Pump.
Note :
Autonomous Database comporte des restrictions sur la clause de profil. Voir Limitations liées à l'utilisation de commandes SQL pour plus d'informations sur les restrictions liées à CREATE PROFILE
et ALTER PROFILE
.
Pour ajouter, modifier ou supprimer un paramètre de mot de passe dans un profil, notamment le profil DEFAULT
, vous devez disposer du privilège de système ALTER PROFILE
.
new_user
est créé avec le profil new_profile
et avec les privilèges de connexion. new_user
peut maintenant se connecter à la base de données et exécuter des interrogations. Pour accorder des privilèges supplémentaires aux utilisateurs, voir Gérer les privilèges des utilisateurs de base de données.
Voir CREATE PROFILE dans Informations de référence sur le langage SQL pour Oracle Database 19c ou Informations de référence sur le langage SQL pour Oracle Database 23ai pour plus d'informations sur l'utilisation de CREATE PROFILE
.
Vous pouvez importer des profils existants créés dans d'autres environnements à l'aide de la fonction d'importation d'Oracle Data Pump (impdp
). Toute association existante entre des profils et des utilisateurs de base de données est conservée après l'importation dans la base de données autonome. Lorsqu'un utilisateur nouvellement créé, créé à partir d'une importation Oracle Data Pump, tente de se connecter pour la première fois, la connexion est traitée comme suit :
- Les restrictions de complexité du mot de passe sont les mêmes que celles appliquées à tout utilisateur sur Autonomous Database.
-
Si le mot de passe de l'utilisateur ne respecte pas les exigences de complexité du mot de passe, le compte a expiré avec un délai de grâce de 30 jours. Dans ce cas, l'utilisateur doit modifier son mot de passe avant la fin du délai de grâce.
Note :
Impossible de modifier les affectations de profil pour les utilisateurs ayant le profilORA_PROTECTED_PROFILE
.
Lorsque vous créez ou modifiez un profil, vous pouvez spécifier une fonction de vérification de mot de passe pour gérer la complexité du mot de passe. Pour plus d'informations, voir Gérer la complexité des mots de passe dans la base de données autonome.
Gérer la complexité des mots de passe dans la base de données autonome
Vous pouvez créer une fonction de vérification de mot de passe et l'associer à un profil pour gérer la complexité des mots de passe d'utilisateur.
Note :
La longueur minimale du mot de passe pour une fonction de vérification de mot de passe spécifiée par l'utilisateur est de 8 caractères et doit inclure au moins une majuscule, une minuscule et un caractère numérique. La longueur minimale du mot de passe pour le profil DEFAULT est de 12 caractères (le profil DEFAULT utilise la fonction de vérification de mot de passeCLOUD_VERIFY_FUNCTION
). Le mot de passe ne doit pas contenir le nom d'utilisateur.
Oracle recommande d'utiliser une longueur minimale de mot de passe de 12 caractères. Si vous définissez la fonction de vérification de mot de passe d'un profil et que la longueur minimale du mot de passe est inférieure à 12 caractères, des outils tels que DBSAT (Oracle Database Security Assessment Tool) et Qualys signalent ce problème comme un risque pour la sécurité de la base de données.
Par exemple, pour spécifier une fonction de vérification de mot de passe pour un profil, utilisez la commande suivante :
CREATE PROFILE example_profile LIMIT PASSWORD_VERIFY_FUNCTION ADMIN.EXAMPLE_PVF
Si le profil est créé ou modifié par un utilisateur autre que l'utilisateur ADMIN, vous devez accorder le privilège EXECUTE
sur la fonction de vérification de mot de passe. Si vous créez une fonction de vérification de mot de passe et que la vérification du mot de passe échoue, la base de données signale l'erreur ORA-28219
.
Vous pouvez spécifier une fonction de vérification de mot de passe fournie par Oracle à partir de l'un des éléments suivants :
CLOUD_VERIFY_FUNCTION
(il s'agit de la fonction de vérification de mot de passe par défaut pour la base de données autonome) :Cette fonction vérifie que les exigences suivantes sont respectées lorsque les utilisateurs créent ou modifient des mots de passe :
-
Le mot de passe doit comporter entre 12 et 30 caractères et contenir au moins un caractère numérique, une majuscule et une minuscule.
-
Le mot de passe ne doit pas contenir le nom d'utilisateur.
-
Le mot de passe ne peut pas être l'un des quatre derniers mots de passe utilisés pour le même nom d'utilisateur.
-
Le mot de passe ne peut pas contenir de guillemet (").
-
Le mot de passe ne doit pas déjà avoir été défini il y a moins de 24 heures.
-
ORA12C_STIG_VERIFY_FUNCTION
Cette fonction vérifie que les exigences suivantes sont respectées lorsque les utilisateurs créent ou modifient des mots de passe :
-
Le mot de passe comporte au moins 15 caractères.
-
Le mot de passe comporte au moins 1 caractère minuscule et au moins 1 caractère majuscule.
-
Le mot de passe comporte au moins 1 chiffre.
-
Le mot de passe comporte au moins 1 caractère spécial.
-
Le mot de passe comporte au moins 8 caractères différents de ceux du mot de passe précédent.
Pour plus d'informations, voir ora12c_stig_verify_function Password Requirements dans le guide de sécurité d'Oracle Database 19c ou le guide de sécurité d'Oracle Database 23ai.
-
Notez les restrictions suivantes relatives à une fonction de vérification de mot de passe que vous créez et affectez à un profil :
-
Si vous spécifiez un profil d'utilisateur, la longueur minimale du mot de passe dépend de la façon dont vous définissez la fonction de vérification de mot de passe associée, comme suit :
-
Si une fonction de vérification de mot de passe est définie, la longueur minimale du mot de passe appliquée est de 8 caractères avec au moins une majuscule, une minuscule et un caractère numérique. Le mot de passe ne doit pas contenir le nom d'utilisateur.
-
Si la fonction de vérification de mot de passe est définie comme
NULL
, la longueur minimale du mot de passe appliquée est de 8 caractères avec au moins une lettre majuscule, une lettre minuscule et un caractère numérique. Le mot de passe ne doit pas contenir le nom d'utilisateur. -
Si aucune PVF n'est définie pour le profil, celle du profil DEFAULT (
CLOUD_VERIFY_FUNCTION
) est affectée et la longueur minimale du mot de passe appliquée est de 12 caractères.
-
- Si vous spécifiez une fonction de vérification de mot de passe plus stricte que celle par défaut,
CLOUD_VERIFY_FUNCTION
, la nouvelle fonction de vérification est utilisée. -
Une fonction de vérification de mot de passe que vous créez doit être créée en tant que fonction PL/SQL
DEFINER RIGHTS
. Si une fonction de vérification de mot de passeINVOKER RIGHTS
est fournie comme entrée pourCREATE
ouALTER
PROFILE
, l'erreurORA-28220
est générée. -
Toute fonction de vérification de mot de passe que vous créez doit être créée dans le schéma d'utilisateur ADMIN. Si une fonction de vérification de mot de passe appartenant à un utilisateur différent d'ADMIN est fournie comme entrée pour
CREATE
ouALTER
PROFILE
, l'erreurORA-28220
est générée. -
Une fonction de vérification de mot de passe ne peut pas être modifiée ni supprimée par un utilisateur différent d'ADMIN. Autrement dit, tout utilisateur disposant du privilège
CREATE
ouDROP
ANY PROCEDURE
n'est pas autorisé à modifier ou à supprimer une fonction de vérification de mot de passe. -
Si la fonction de vérification de mot de passe associée à un profil est supprimée, toute tentative de modification du mot de passe pour un utilisateur qui utilise la fonction de vérification de mot de passe dans son profil génère l'erreur
ORA-7443
. Les utilisateurs peuvent toujours se connecter lorsque la fonction de vérification de mot de passe associée à leur profil est supprimée. Toutefois, si le mot de passe d'un utilisateur expire et que la fonction de vérification de mot de passe est supprimée, l'utilisateur ne peut pas se connecter.Pour effectuer une récupération après une erreur
ORA-7443
, l'utilisateur ADMIN doit recréer la fonction de vérification de mot de passe supprimée et l'affecter au profil, ou affecter une fonction de mot de passe existante au profil. Cela permet à un utilisateur de modifier son mot de passe et ses données de connexion. -
Le privilège système
CREATE ANY PROCEDURE
et le privilège systèmeDROP ANY PROCEDURE
sont vérifiés pour la sécurité PVF. Pour plus d'informations, voir la listePROCEDURES
sous Listes des privilèges système et objet dans Informations de référence sur le langage SQL pour Oracle Database 19c ou Informations de référence sur le langage SQL pour Oracle Database 23ai.
Pour plus d'informations, voir Gestion de la complexité des mots de passe dans le guide de sécurité d'Oracle Database 19c ou le guide de sécurité d'Oracle Database 23ai.
Substitution progressive du mot de passe de base de données pour les applications
Une application peut modifier ses mots de passe de base de données sans qu'un administrateur ait à programmer un temps d'arrêt.
Pour ce faire, vous pouvez associer à un schéma d'application un profil dont le paramètre de profil de mot de passe PASSWORD_ROLLOVER_TIME
présente une limite différente de zéro. Cela permet de modifier le mot de passe de base de données de l'utilisateur de l'application tout en permettant à l'ancien mot de passe de rester valide pendant la durée limite PASSWORD_ROLLOVER_TIME
. Pendant la période de substitution, l'instance d'application peut utiliser l'ancien mot de passe ou le nouveau pour se connecter au serveur de base de données. Lorsque le délai de substitution expire, seul le nouveau mot de passe est autorisé.
Pour plus d'informations, voir Gestion de la substitution progressive du mot de passe de base de données pour les applications.