Gestion des profils utilisateur avec Autonomous Database on Dedicated Exadata Infrastructure
Vous pouvez créer et modifier des profils utilisateur dans Autonomous Database. Une fois que vous avez créé ou modifié un profil, vous pouvez indiquer la clause de profil avec CREATE USER
ou ALTER USER
. Vous pouvez également importer des profils utilisateur existants à partir d'un autre environnement à l'aide de l'utilitaire d'import Oracle Data Pump.
Remarques :
Autonomous Database applique des restrictions sur la clause de profil. Reportez-vous à Limites relatives à l'utilisation des commandes SQL pour plus d'informations sur les restrictions relatives à CREATE PROFILE
et à ALTER PROFILE
.
Pour ajouter, modifier ou enlever un paramètre de mot de passe dans un profil, y compris le profil DEFAULT
, vous devez disposer du privilège système ALTER PROFILE
.
Vous créez ainsi new_user
avec le profil new_profile
et des privilèges de connexion. new_user
peut désormais se connecter à la base de données et exécuter des requêtes. Pour accorder des privilèges supplémentaires aux utilisateurs, reportez-vous à Gestion des privilèges d'utilisateur de base de données.
Pour plus d'informations sur l'utilisation de CREATE PROFILE
, reportez-vous à CREATE PROFILE dans Référence de langage SQL Oracle Database 19c ou Référence de langage SQL Oracle Database 23ai.
Vous pouvez importer des profils existants créés dans d'autres environnements à l'aide de l'utilitaire d'import Oracle Data Pump (impdp
). Les associations de profil existantes avec des utilisateurs de base de données sont conservées après l'import dans Autonomous Database. Lorsqu'un utilisateur nouvellement créé, créé à partir d'un import Oracle Data Pump, tente de se connecter pour la première fois, la connexion est gérée comme suit :
- Les restrictions de complexité des mots de passe sont les mêmes que celles pour les utilisateurs sur Autonomous Database.
-
Si le mot de passe de l'utilisateur enfreint les exigences de complexité du mot de passe, le compte expire 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.
Remarques :
Les affectations de profil pour les utilisateurs avec le profilORA_PROTECTED_PROFILE
ne peuvent pas être modifiées.
Lorsque vous créez ou modifiez un profil, vous pouvez indiquer une fonction de vérification de mot de passe pour gérer la complexité des mots de passe. Pour plus d'informations, reportez-vous à Gestion de la complexité des mots de passe sur Autonomous Database.
Gestion de la complexité des mots de passe sur Autonomous Database
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 utilisateur.
Remarques :
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 lettre majuscule, une lettre minuscule et un caractère numérique. La longueur minimale de 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 peut pas contenir le nom 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 vous définissez la longueur minimale de mot de passe sur un nombre inférieur à 12 caractères, des outils tels qu'Oracle Database Security Assessment Tool (DBSAT) et Qualys signalent cela comme un risque pour la sécurité de la base de données.
Par exemple, afin d'indiquer 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 autre utilisateur 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 indiquer l'une des fonctions de vérification de mot de passe fournies par Oracle suivantes :
CLOUD_VERIFY_FUNCTION
(fonction de vérification de mot de passe par défaut pour Autonomous Database) :Cette fonction vérifie les exigences suivantes lorsque les utilisateurs créent ou modifient des mots de passe :
-
Le mot de passe doit comporter entre 12 et 30 caractères, et doit inclure au moins une lettre majuscule, une lettre minuscule et un caractère numérique.
-
Le mot de passe ne peut pas contenir le nom utilisateur.
-
Le mot de passe ne peut pas être l'un des quatre derniers mots de passe utilisés pour le même nom utilisateur.
-
Le mot de passe ne peut pas contenir de guillemets (").
-
Le mot de passe ne doit pas être identique à celui défini il y a moins de 24 heures.
-
ORA12C_STIG_VERIFY_FUNCTION
Cette fonction vérifie les exigences suivantes lorsque les utilisateurs créent ou modifient des mots de passe :
-
Le mot de passe contient au moins 15 caractères.
-
Le mot de passe contient au moins 1 caractère minuscule et au moins 1 caractère majuscule.
-
Le mot de passe contient au moins 1 chiffre.
-
Le mot de passe doit comporter au moins 1 caractère spécial.
-
Le mot de passe est différent du mot de passe précédent d'au moins 8 caractères.
Pour plus d'informations, reportez-vous à la section ora12c_stig_verify_function Password Requirements du Guide de sécurité Oracle Database 19c ou au Guide de sécurité Oracle Database 23ai.
-
Les restrictions suivantes s'appliquent à une fonction de vérification de mot de passe que vous créez et affectez à un profil :
-
Si vous indiquez un profil utilisateur, la longueur minimale de mot de passe dépend de la définition de 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 lettre majuscule, une lettre minuscule et un caractère numérique. Le mot de passe ne peut pas contenir le nom utilisateur.
-
Si la fonction de vérification de mot de passe est définie sur
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 peut pas contenir le nom utilisateur. -
Si aucune fonction de vérification n'est définie pour le profil, la fonction de vérification (
CLOUD_VERIFY_FUNCTION
) du profil DEFAULT est affectée et la longueur minimale de mot de passe appliquée est de 12 caractères.
-
- Si vous indiquez une fonction de vérification de mot de passe plus stricte que la fonction
CLOUD_VERIFY_FUNCTION
par défaut, la nouvelle fonction de vérification est utilisée. -
Si vous créez une fonction de vérification de mot de passe, celle-ci doit être créée en tant que fonction PL/SQL
DEFINER RIGHTS
. Si une fonction de vérification de mot de passe de droitsINVOKER
est fournie en tant qu'entrée àCREATE
ouALTER
PROFILE
, une erreurORA-28220
est générée. -
Si vous créez une fonction de vérification de mot de passe, celle-ci doit être créée dans le schéma utilisateur ADMIN. Si une fonction de vérification de mot de passe n'appartenant pas à l'utilisateur ADMIN est fournie en tant qu'entrée à
CREATE
ouALTER
PROFILE
, une erreurORA-28220
est générée. -
Une fonction de vérification de mot de passe ne peut pas être modifiée ou supprimée par un utilisateur qui n'est pas un utilisateur ADMIN. Autrement dit, les utilisateurs disposant du privilège
CREATE
ouDROP
ANY PROCEDURE
ne sont pas autorisés à 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 d'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 a expiré 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 suite à l'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 vérification de mot de passe existante au profil. L'utilisateur peut ainsi modifier son mot de passe et se connecter. -
Le privilège système
CREATE ANY PROCEDURE
et le privilège systèmeDROP ANY PROCEDURE
sont audités pour la sécurité PVF. Pour plus d'informations, reportez-vous à la listePROCEDURES
dans Liste des privilèges système et objet dans Référence de langage SQL Oracle Database 19c ou Référence de langage SQL Oracle Database 23ai.
Pour plus d'informations, reportez-vous à Gestion de la complexité des mots de passe dans le Guide de sécurité Oracle Database 19c ou le Guide de sécurité Oracle Database 23ai.
Remplacement graduel de 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 n'ait besoin de programmer un temps d'inactivité.
Pour ce faire, vous pouvez associer à un schéma d'application un profil avec une limite différente de zéro pour le paramètre de profil de mot de passe PASSWORD_ROLLOVER_TIME
. Cela permet de modifier le mot de passe de base de données de l'utilisateur de l'application tout en conservant la validité du mot de passe pendant la durée indiquée par la limite PASSWORD_ROLLOVER_TIME
. Pendant la durée de remplacement, l'instance d'application peut utiliser l'ancien ou le nouveau mot de passe pour la connexion au serveur de base de données. Lorsque le délai de remplacement expire, seul le nouveau mot de passe est autorisé.
Pour plus d'informations, reportez-vous à Gestion du remplacement graduel de mot de passe de base de données pour les applications.