Gestion des profils utilisateur avec Autonomous Database

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.

Remarque

Autonomous Database applique des restrictions sur la clause de profil. Reportez-vous à 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.

  1. Pour ajouter ou modifier un profil, en tant qu'utilisateur ADMIN, exécutez CREATE PROFILE ou ALTER PROFILE. Exemples :
    CREATE PROFILE new_profile
      LIMIT PASSWORD_REUSE_MAX 10
      PASSWORD_LOCK_TIME 5;

    Si vous n'êtes pas utilisateur ADMIN, vous devez disposer du privilège CREATE PROFILE pour exécuter CREATE PROFILE. Si vous exécutez ALTER PROFILE, vous devez disposer du privilège ALTER PROFILE.

  2. Utilisez le nouveau profil ou le profil modifié à l'aide d'une commande CREATE USER ou ALTER USER. Exemples :
    CREATE USER new_user IDENTIFIED BY password PROFILE new_profile;
    GRANT CREATE SESSION TO new_user;

Vous créez ainsi new_user avec le profil new_profile et des privilèges de connexion. L'utilisateur 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 utilisateur sur Autonomous Database - Connexion avec un outil client.

Reportez-vous à Création d'un profil pour plus d'informations sur l'utilisation de CREATE PROFILE ou de ALTER PROFILE.

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 ne respecte pas 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.

Remarque

Les affectations de profil pour les utilisateurs avec les profils ORA_PROTECTED_PROFILE et ORA_ADMIN_PROFILE ne peuvent pas être modifiées.

Les utilisateurs suivants partagent le profil ORA_PROTECTED_PROFILE et l'affectation de ces utilisateurs au profil ne peut pas être modifiée :

  • ADBSNMP
  • ADB_APP_STORE
  • DCAT_ADMIN
  • GGADMIN
  • RMAN$CATALOG

L'utilisateur ADMIN est affecté à ORA_ADMIN_PROFILE.

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 sur la 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.

Remarque

La longueur minimale du mot de passe pour une PVF 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 (ce dernier utilise la fonction de vérification de mot de passe CLOUD_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 PVF d'un profil et que vous définissez la longueur minimale du 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 PVF 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 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 lors de la création ou de la modification de mots de passe par les utilisateurs :

    • 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 lors de la création ou de la modification de mots de passe par les utilisateurs :

    • 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 à Exigences en matière de mot de passe ora12c_stig_verify_function.

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 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 supérieure, une lettre inférieure 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 de mot de passe n'est définie pour le profil, la fonction (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.
  • 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 passe de droits INVOKER est fournie en tant qu'entrée à CREATE ou ALTER PROFILE, une erreur ORA-28220 est générée.

  • Si vous créez une fonction 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 utilisateur non-ADMIN est fournie en tant qu'entrée à CREATE ou ALTER PROFILE, une erreur ORA-28220 est générée.

  • Une PVF ne peut pas être modifiée ou supprimée par un utilisateur non-ADMIN. En d'autres termes, les utilisateurs disposant du privilège CREATE ou DROP ANY PROCEDURE ne sont pas autorisés à modifier ou à supprimer une fonction de vérification.

  • Si la PVF associée à un profil est supprimée, toute tentative de modification du mot de passe d'un utilisateur qui utilise la PVF dans son profil génère l'erreur ORA-7443. Les utilisateurs peuvent toujours se connecter lorsque la fonction de paie 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.

  • Les privilèges système CREATE ANY PROCEDURE et DROP ANY PROCEDURE sont soumis à un audit pour la sécurité des fonctions de vérification de mot de passe. Pour plus d'informations, reportez-vous à la liste PROCEDURES dans Liste des privilèges système et d'objet.

Pour plus d'informations, reportez-vous à Gestion de la complexité des mots de passe.

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 restant valide 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 à Managing Gradual Database Password Rollover for Applications.