Activation de l'authentification multifacteur pour les utilisateurs locaux dans Oracle Database 23ai à l'aide d'Oracle Mobile Authenticator (OMA)

Présentation

Oracle’s July 2025 Database Release Update (DBRU) introduces a crucial security enhancement: native multi-factor authentication (MFA) for on-premises and hybrid database users. Cette nouvelle fonction, disponible dans Oracle Database 23ai (23.9+) et rétroportée vers 19c (avec la dernière mise à jour de juillet 2025), vous permet de sécuriser les comptes de base de données traditionnels, tels que le compte 'SCOTT', avec un deuxième facteur d'authentification directement à partir d'un appareil mobile. Cela élimine la nécessité de s'appuyer sur des fournisseurs d'identités externes pour l'authentification multifacteur. Ce guide décrit les étapes de mise en oeuvre de l'authentification multifacteur à l'aide de l'application Oracle Mobile Authenticator (OMA).

Base de données autonome

Pourquoi en avons-nous besoin?

Auparavant, la mise en oeuvre de l'authentification multifacteur pour Oracle Database nécessitait l'intégration avec des fournisseurs d'identité externes tels que Entra ID, OCI Identity and Access Management (IAM) ou RADIUS. Cette approche représentait un défi important pour les environnements sans accès à ces répertoires activés pour l'authentification multifacteur, notamment les bases de données autonomes sur place, les déploiements IaaS ou les systèmes Oracle Base Database Service.

Avec la mise à jour de version de base de données (DBRU) de juillet 2025, Oracle active désormais l'authentification multifacteur native pour les utilisateurs de base de données locaux dans Oracle Database 19c et 23ai. Cette nouvelle fonctionnalité prend en charge l'authentification basée sur la poussée avec Oracle Mobile Authenticator (OMA) ou Cisco Duo, offrant une solution de sécurité robuste et intégrée.

Principaux avantages

Public cible

Ce tutoriel est spécialement conçu pour :

Objectif

L'objectif principal de ce tutoriel est de démontrer comment activer l'authentification multifacteur pour les utilisateurs locaux d'Oracle Database. Bien qu'Oracle prenne en charge l'intégration de l'authentification multifacteur avec des fournisseurs externes tels que OCI Identity and Access Management ou Cisco Duo, ce guide se concentrera spécifiquement sur le flux de travail d'authentification basée sur poussée natif à l'aide de l'application Oracle Mobile Authenticator (OMA).

Conditions requises

Pour terminer ce tutoriel, les composants suivants sont requis :

  1. Oracle Database Instance : Instance Oracle Database 23ai (23.9+) ou instance Database 19c exécutant la mise à jour de version de base de données de juillet 2025. Ce guide utilise une instance du service de base de données de base OCI 23ai.
  2. Appareil mobile : Smartphone Android ou iOS avec l'application Oracle Mobile Authenticator (OMA) installée.
  3. Service de transmission de messages pour OCI : Le service de transmission de messages pour OCI est requis pour envoyer des invitations par courriel pour l'inscription à l'authentification multifacteur. Ce service nécessite :

Tâche 1 : Configuration de la gestion des identités et des accès pour OCI

Avant d'activer l'authentification multifacteur, vous devez configurer une application OAuth dans votre domaine d'identité de gestion des identités et des accès OCI. Cette application est essentielle, car le portefeuille d'authentification multifacteur de la base de données utilise ses données d'identification pour valider les jetons d'authentification.

  1. Connectez-vous à la console OCI et naviguez jusqu'à Identité et sécurité, domaines.

    Base de données autonome

  2. Sélectionnez votre domaine courant et vérifiez ses détails. Notez l'URL du domaine (à l'exclusion du numéro de port).

    Base de données autonome

  3. Enregistrez une application client OAuth dans le domaine d'identité. Il s'agit d'une étape requise pour que la fonction d'authentification multifacteur fonctionne correctement. Cliquez sur Applications intégrées, puis sur Ajouter une application.

    Base de données autonome

  4. Sélectionnez Application confidentielle et cliquez sur Lancer le flux de travail.

    Base de données autonome

  5. Entrez les détails requis pour l'application, tels qu'un nom et une description, puis cliquez sur Soumettre.

    Base de données autonome

  6. Cliquez sur l'application que vous venez de créer pour en voir les détails.

    Base de données autonome

  7. Naviguez jusqu'à l'onglet Configuration OAuth et cliquez sur Modifier la configuration OAuth.

    Base de données autonome

  8. Dans la section Configuration du client, sélectionnez Configurer cette application comme client maintenant.** Sous Types d'autorisation, assurez-vous que l'option Données d'identification du client est la seule sélectionnée. Ne cliquez pas encore sur Soumettre.

    Base de données autonome

  9. Faites défiler l'affichage vers le bas jusqu'à la section Rôles d'application et activez-la.

    Base de données autonome

  10. Cliquez sur le bouton Ajouter des rôles d'application.

    Base de données autonome

  11. Ajoutez les rôles Administrateur d'utilisateur, Administration de domaine d'identité et Client d'authentification multifacteur, puis cliquez sur le bouton Ajouter.

    Base de données autonome

  12. Vérifiez les rôles d'application, puis cliquez sur Soumettre.

    Base de données autonome

  13. Dans l'onglet Configuration OAuth, l'ID client et la clé secrète client sont maintenant disponibles.

Tâche 2 : Configuration du groupe de gestion des identités et des accès OCI pour le service de transmission de messages

Pour utiliser le service de transmission de messages pour OCI pour l'envoi d'avis d'authentification multifacteur, vous devez d'abord créer un groupe IAM dédié avec les autorisations nécessaires.

  1. Connectez-vous à la console OCI et naviguez jusqu'à Identité et sécurité, Domaines. Sélectionnez votre domaine d'identité courant. Cliquez sur l'onglet Gestion des utilisateurs, faites défiler l'affichage vers le bas jusqu'à Groupes, puis cliquez sur Créer un groupe.

    Base de données autonome

  2. Indiquez un nom pour le nouveau groupe (par exemple, EmailDeliveryServicesUsers). Ajoutez à ce groupe les utilisateurs appropriés qui seront responsables de la gestion du service de transmission de messages.

    Base de données autonome

    Base de données autonome

  3. Créer une politique IAM pour le service de transmission de messages. Pour permettre au groupe IAM d'envoyer des avis par courriel, vous devez créer une politique qui lui accorde les autorisations nécessaires. Connectez-vous à la console OCI et naviguez jusqu'à Identité et sécurité, politiques, puis cliquez sur Créer une politique.

    Base de données autonome

  4. Indiquez un nom et une description pour la politique (par exemple, MFA_Email_Delivery_Policy). Dans la section Générateur de politiques, entrez l'énoncé de politique suivant, puis cliquez sur Créer.

    Autoriser le groupe 'OracleIdentityCloudService'/'EmailDeliveryServicesUsers' à utiliser email-family dans le compartiment AlexKovuru.

    Base de données autonome

  5. Enfin, vous devez créer les données d'identification SMTP que la base de données utilisera. Connectez-vous à la console OCI, naviguez jusqu'à Identité et sécurité, Mon profil et cliquez sur l'onglet Mots de passe enregistrés. Allez ensuite à Données d'identification SMTP et cliquez sur Générer les données d'identification.

    Base de données autonome

  6. Générez les données d'identification SMTP et assurez-vous de copier immédiatement le nom d'utilisateur et le mot de passe SMTP.

    Base de données autonome

    Important : Le mot de passe ne sera affiché qu'une seule fois. Vous devez donc l'enregistrer avant de fermer la fenêtre.

    Base de données autonome

    Base de données autonome

  7. Connectez-vous à la console OCI et naviguez jusqu'à Services de développement, Intégration d'applications, Transmission de messages, Configuration. Recherchez les informations d'envoi SMTP affectées à votre région. Notez les valeurs Point d'extrémité public et Port SMTP.

    Base de données autonome

  8. Notez que le service de transmission de messages pour OCI permet uniquement l'envoi à partir d'expéditeurs approuvés et de domaines enregistrés (comme indiqué au prérequis 3).

Tâche 3 : Configurer la base de données pour l'authentification multifacteur

Cette tâche configure l'authentification multifacteur pour une base de données enfichable Oracle 23ai à l'aide de l'intégration d'Oracle Mobile Authenticator (OMA) et SMTP.

  1. Connectez-vous à votre base de données enfichable avec les privilèges SYSDBA :

     sqlplus "/as sysdba"
    
  2. Configurez votre base de données enfichable pour l'authentification multifacteur. Vous devrez définir les paramètres suivants. Le paramètre MFA_SENDER_EMAIL_ID doit être réglé à un expéditeur approuvé que vous avez déjà configuré dans le service de transmission de messages pour OCI.

     ALTER SYSTEM SET MFA_OMA_IAM_DOMAIN_URL ='https://idcs-bc1a4xxxxxxxxxxxxxxxx3744.identity.oraclecloud.com'; (from Task 1- step 2)
     ALTER SYSTEM SET MFA_SMTP_HOST ='smtp.email.us-pxxxxix-1.oci.oraclecloud.com'; (from Task 2- step 7)
     ALTER SYSTEM SET MFA_SMTP_PORT = 5x7; (from Task 2- step 7)
        
     ALTER SYSTEM SET MFA_SENDER_EMAIL_ID ="alx.test@alxreviews.com"; (from Prerequisites - step 3)
            
     ALTER SYSTEM SET MFA_SENDER_EMAIL_DISPLAYNAME = 'DB Admin';
    
  3. Mettre à jour sqlnet.ora : Modifier le fichier et ajouter le paramètre suivant :

     SQLNET.INBOUND_CONNECT_TIMEOUT=120
    
  4. Configurer Oracle Wallet : Oracle Wallet est utilisé pour stocker les données d'identification OAuth et SMTP en toute sécurité. Vérifier le GUID de la base de données enfichable et la racine du portefeuille

     show parameter wallet_root;
     SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB';
    
  5. Créer un répertoire de portefeuille pour l'authentification multifacteur :

     mkdir -p /opt/oracle/dcs/commonstore/wallets/DBS23MFA_k3x_phx/3B36E010Dxxxxxxxxxxxx40A7AC6/mfa
     cd /opt/oracle/dcs/commonstore/wallets/DBS23MFA_k3x_phx/3B36E010Dxxxxxxxxxxxx40A7AC6/mfa
    
  6. Créer Oracle Wallet

     orapki wallet create -wallet ./ -pwd <user_password> -auto_login -compat_v12
    
  7. Stockez vos données d'identification pour l'authentification multifacteur en toute sécurité dans un portefeuille Oracle Wallet. La base de données s'appuie sur ce portefeuille pour accéder aux données d'identification du client OAuth et SMTP. Il est important que les noms d'alias de chaque donnée d'identification correspondent exactement aux valeurs prédéfinies listées ci-dessous.

    Alias requis et données d'identification correspondantes :

    • oracle.security.mfa.oma.clientid → ID client OAuth (de la tâche 1 à l'étape 12)
    • oracle.security.mfa.oma.clientsecret → Clé secrète client OAuth (de la tâche 1 à l'étape 12)
    • oracle.security.mfa.smtp.user → Nom d'utilisateur SMTP généré dans votre profil d'utilisateur OCI (de la tâche 2 à l'étape 6)
    • oracle.security.mfa.smtp.password → Mot de passe SMTP généré pour votre utilisateur (de la tâche 2 à l'étape 6)

    Vous pouvez utiliser l'utilitaire orapki pour créer le portefeuille et ajouter ces données d'identification.

     orapki secretstore create_entry -wallet ./ -pwd <user_password> -alias oracle.security.mfa.oma.clientid    -secret a9cdb456cdxxxxxxxxxxxx31c316
        
     orapki secretstore create_entry -wallet ./ -pwd <user_password> -alias oracle.security.mfa.oma.clientsecret -secret idcscs-a263de20-xxxxxxxxxxxx-207f5e56e1ad
        
     orapki secretstore create_entry -wallet ./ -pwd <user_password> -alias oracle.security.mfa.smtp.user        -secret ocid1.user.oc1..aaaa...@ocid1.tenancy.oc1..aaaa....
        
     orapki secretstore create_entry -wallet ./ -pwd <user_password> -alias oracle.security.mfa.smtp.password    -secret '[4lnl0rxxxxxxxxxxxxUgobB'
    
  8. Créer un utilisateur prenant en charge l'authentification multifacteur : Créer un utilisateur avec l'authentification basée sur un facteur d'authentification multifacteur :

     CREATE USER testmfa IDENTIFIED BY <user_password> 
     AND FACTOR ‘OMA_PUSH’ AS ‘registered_emailid’;
    

    Note : Le courriel doit être un compte valide dans lequel l'application OMA est enregistrée. Sinon, l'avis poussé ne peut pas être livré.

  9. Accorder les rôles requis :

     GRANT CONNECT, RESOURCE TO testmfa;
    
  10. L'utilisateur recevra un courriel contenant des instructions pour terminer son inscription à OMA. Ce courriel contiendra un code QR qu'ils doivent balayer à l'aide de l'application Oracle Mobile Authenticator pour configurer l'authentification multifacteur.

    Base de données autonome

Tâche 4 : Tester l'authentification par authentification multifacteur

  1. Connectez-vous en tant que nouvel utilisateur :

     sqlplus testmfa/<user_password>
    
  2. Approuvez la demande de connexion dans l'application OMA.

    Base de données autonome

  3. Vérifiez l'utilisateur connecté :

     SHOW USER;
     SELECT * FROM SESSION_ROLES;
    

Remerciements

Auteurs - Alex Kovuru (architecte en nuage principal)

Contributeurs - Indiradarshni Balasundaram (ingénieur en nuage principal)

Ressources d'apprentissage supplémentaires

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation sur le produit, visitez Oracle Help Center.