Activación de MFA para usuarios locales en Oracle Database 23ai mediante Oracle Mobile Authenticator (OMA)

Introducción

La actualización de la versión de la base de datos (DBRU) de julio de 2025 de Oracle presenta una mejora de seguridad crucial: autenticación multifactor (MFA) nativa para usuarios de bases de datos locales e híbridas. Esta nueva función, disponible en Oracle Database 23ai (23.9+) y respaldada por 19c (con la última actualización de la versión de julio de 2025), le permite proteger las cuentas de base de datos tradicionales, como la cuenta "SCOTT", con un segundo factor de autenticación directamente desde un dispositivo móvil. Esto elimina la necesidad de depender de proveedores de identidad externos para la MFA. En esta guía, le mostraremos los pasos para implantar la MFA mediante la aplicación Oracle Mobile Authenticator (OMA).

Autonomous Database

¿Por qué necesitamos esto?

Anteriormente, la implantación de la autenticación multifactor para Oracle Database requería la integración con proveedores de identidad externos como Entra ID, OCI Identity and Access Management (IAM) o RADIUS. Este enfoque presenta un desafío significativo para los entornos sin acceso a estos directorios activados para MFA, incluidas las bases de datos independientes locales, los despliegues de IaaS o los sistemas de Oracle Base Database Service.

Con la actualización de la versión de la base de datos (DBRU) de julio de 2025, Oracle ahora permite la MFA nativa para usuarios de bases de datos locales en Oracle Database 19c y 23ai. Esta nueva capacidad admite la autenticación basada en push con Oracle Mobile Authenticator (OMA) o Cisco Duo, que ofrece una solución de seguridad sólida e integrada.

Ventajas Clave

Público Objetivo

Este tutorial está diseñado específicamente para:

Objetivo

El objetivo principal de este tutorial es demostrar cómo activar la autenticación multifactor (MFA) para los usuarios locales de Oracle Database. Aunque Oracle admite la integración de MFA con proveedores externos como OCI Identity and Access Management o Cisco Duo, esta guía se centrará específicamente en el flujo de trabajo de autenticación push nativa mediante la aplicación Oracle Mobile Authenticator (OMA).

Requisitos

Para completar este tutorial, se necesitan los siguientes componentes:

  1. Oracle Database Instance: una instancia de Oracle Database 23ai (23.9+) o una instancia de Database 19c que ejecuta la actualización de versión de la base de datos (DBRU) de julio de 2025. En esta guía se utiliza una instancia de OCI Base Database Service de 23ai.
  2. Dispositivo móvil: smartphone Android o iOS con la aplicación Oracle Mobile Authenticator (OMA) instalada.
  3. OCI Email Delivery: se necesita OCI Email Delivery para enviar invitaciones por correo electrónico para la inscripción en MFA. Este servicio requiere:

Tarea 1: Configuración de OCI Identity and Access Management

Antes de activar la autenticación multifactor, debe configurar una aplicación OAuth en el dominio de identidad de OCI Identity and Access Management. Esta aplicación es esencial, ya que la cartera de MFA de la base de datos utiliza sus credenciales para validar tokens de autenticación.

  1. Conéctese a la consola de OCI y vaya a Identidad y seguridad, dominios.

    Autonomous Database

  2. Selecciona tu dominio actual y revisa sus detalles. Anote la URL del dominio (excluyendo el número de puerto).

    Autonomous Database

  3. Registre una aplicación cliente OAuth en el dominio de identidad. Este es un paso necesario para que la función de MFA funcione correctamente. Haga clic en Aplicaciones integradas y, a continuación, en Agregar aplicación.

    Autonomous Database

  4. Seleccione Aplicación confidencial y haga clic en Iniciar flujo de trabajo.

    Autonomous Database

  5. Introduzca los detalles de aplicación necesarios, como un nombre y una descripción y, a continuación, haga clic en Enviar.

    Autonomous Database

  6. Haga clic en la aplicación que acaba de crear para ver sus detalles.

    Autonomous Database

  7. Vaya al separador Configuración de OAuth y haga clic en Editar configuración de OAuth.

    Autonomous Database

  8. En la sección Configuración de cliente, seleccione Configurar esta aplicación como cliente ahora.** En Tipos de permiso permitidos, asegúrese de que Credenciales de cliente sea la única opción seleccionada. No haga clic en Enviar todavía.

    Autonomous Database

  9. Desplácese hasta la sección Roles de aplicación y actívela.

    Autonomous Database

  10. Haga clic en el botón Agregar roles de aplicación.

    Autonomous Database

  11. Agregue los roles Administrador de usuarios, Administración de dominio de identidad y Cliente de MFA y, a continuación, haga clic en el botón Agregar.

    Autonomous Database

  12. Verifique los roles de aplicación y, a continuación, haga clic en Enviar.

    Autonomous Database

  13. En el separador OAuth configuration, el ID de cliente y el secreto de cliente ya están disponibles.

Tarea 2: Configuración del grupo de gestión de identidad y acceso de OCI para Email Delivery

Para utilizar OCI Email Delivery para enviar notificaciones de MFA, primero debe crear un grupo de IAM dedicado con los permisos necesarios.

  1. Conéctese a la consola de OCI y vaya a Identity & Security, Domains. Seleccione el dominio de identidad actual. Haga clic en el separador Gestión de usuarios, desplácese hacia abajo hasta Grupos y, a continuación, haga clic en Crear grupo.

    Autonomous Database

  2. Proporcione un nombre para el nuevo grupo (por ejemplo, EmailDeliveryServicesUsers). Agregue los usuarios adecuados que serán responsables de gestionar el servicio de entrega de correo electrónico a este grupo.

    Autonomous Database

    Autonomous Database

  3. Cree una política de IAM para Email Delivery. Para permitir que el grupo de IAM envíe notificaciones de correo electrónico, debe crear una política que le otorgue los permisos necesarios. Conéctese a la consola de OCI, navegue a Identidad y seguridad, políticas y, a continuación, haga clic en Crear política.

    Autonomous Database

  4. Proporcione un nombre y una descripción para la política (por ejemplo, MFA_Email_Delivery_Policy). En la sección Creador de políticas, introduzca la siguiente sentencia de política y, a continuación, haga clic en Crear.

    permitir que el grupo 'OracleIdentityCloudService'/'EmailDeliveryServicesUsers' utilice la familia de correo electrónico en el compartimento AlexKovuru.

    Autonomous Database

  5. Por último, debe crear las credenciales SMTP que utilizará la base de datos. Conéctese a la consola de OCI, vaya a Identidad y seguridad, Mi perfil y haga clic en el separador Contraseñas guardadas. A continuación, vaya a Credenciales SMTP y haga clic en Generar credenciales.

    Autonomous Database

  6. Genere las credenciales SMTP y asegúrese de copiar el nombre de usuario y la contraseña SMTP inmediatamente.

    Autonomous Database

    Importante: la contraseña solo se mostrará una vez, por lo que debe guardarla antes de cerrar la ventana.

    Autonomous Database

    Autonomous Database

  7. Conéctese a la consola de OCI y vaya a Developer Services, Application Integration, Email Delivery y Configuration. Busque la SMTP Sending Information (Información de envío SMTP) asignada a su región. Observe los valores Public Endpoint (Punto final público) y SMTP Port (Puerto SMTP).

    Autonomous Database

  8. Tenga en cuenta que OCI Email Delivery solo permite el envío desde remitentes aprobados y dominios registrados. (como se describe en el requisito previo 3).

Tarea 3: Configuración de la base de datos para MFA

Esta tarea configura la autenticación multifactor (MFA) para una base de datos de conexión (PDB) de Oracle 23ai mediante la integración de Oracle Mobile Authenticator (OMA) y SMTP.

  1. Conéctese a la PDB con privilegios de SYSDBA:

     sqlplus "/as sysdba"
    
  2. Configure la base de datos conectable (PDB) para MFA; deberá definir los siguientes parámetros. El parámetro MFA_SENDER_EMAIL_ID se debe definir en un remitente aprobado que ya haya configurado en OCI Email Delivery.

     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. Actualice sqlnet.ora: edite el archivo y agregue el siguiente parámetro:

     SQLNET.INBOUND_CONNECT_TIMEOUT=120
    
  4. Configurar Oracle Wallet: Oracle Wallet se utiliza para almacenar las credenciales OAuth y SMTP de forma segura. Comprobar GUID de PDB y Raíz de Cartera

     show parameter wallet_root;
     SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB';
    
  5. Crear directorio de cartera de MFA:

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

     orapki wallet create -wallet ./ -pwd <user_password> -auto_login -compat_v12
    
  7. Almacene sus credenciales de MFA de forma segura en Oracle Wallet. La base de datos se basa en esta cartera para acceder al cliente OAuth y a las credenciales SMTP. Es importante que los nombres de alias de cada credencial coincidan exactamente con los valores predefinidos que se muestran a continuación.

    Alias necesarios y sus credenciales correspondientes:

    • oracle.security.mfa.oma.clientid → ID de cliente OAuth (de la tarea 1 al paso 12)
    • oracle.security.mfa.oma.clientsecret → Secreto de cliente OAuth (de la tarea 1 al paso 12)
    • oracle.security.mfa.smtp.user → Nombre de usuario SMTP generado en su perfil de usuario de OCI (de la tarea 2 a los pasos 6)
    • oracle.security.mfa.smtp.password → Contraseña SMTP generada para el usuario (de la tarea 2 a los pasos 6)

    Puede utilizar la utilidad orapki para crear la cartera y agregar estas credenciales.

     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. Crear usuario activado para MFA: cree un usuario con autenticación de factor de MFA:

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

    Nota: El correo electrónico debe ser una cuenta válida donde esté registrada la aplicación OMA. De lo contrario, la notificación push no se puede entregar.

  9. Otorgue los roles necesarios:

     GRANT CONNECT, RESOURCE TO testmfa;
    
  10. El usuario recibirá un correo electrónico con instrucciones para completar su registro OMA. Este correo electrónico contendrá un código QR que deben escanear mediante la aplicación Oracle Mobile Authenticator para configurar la MFA.

    Autonomous Database

Tarea 4: Probar autenticación de MFA

  1. Conéctese como nuevo usuario:

     sqlplus testmfa/<user_password>
    
  2. Apruebe la solicitud de inicio de sesión en la aplicación OMA.

    Autonomous Database

  3. Verifique el usuario conectado:

     SHOW USER;
     SELECT * FROM SESSION_ROLES;
    

Acuses de recibo

Autores: Alex Kovuru (arquitecto principal de la nube)

Colaboradores - Indiradarshni Balasundaram (ingeniero superior en la nube)

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.