Ativando a MFA para Usuários Locais no Oracle Database 23ai usando o Oracle Mobile Authenticator (OMA)

Introdução

A Atualização da Release do Banco de Dados (DBRU) de julho de 2025 da Oracle apresenta um aprimoramento de segurança crucial: autenticação multifator nativa (MFA) para usuários de banco de dados on-premises e híbrido. Esse novo recurso, disponível no Oracle Database 23ai (23.9+) e com backport para 19c (com a Atualização de Versão mais recente de julho de 2025), permite proteger contas de banco de dados tradicionais, como a conta 'SCOTT', com um segundo fator de autenticação diretamente de um dispositivo móvel. Isso elimina a necessidade de contar com provedores de identidade externos para MFA. Este guia mostrará as etapas para implementar a MFA usando o aplicativo Oracle Mobile Authenticator (OMA).

Autonomous Database

Por que precisamos de isso?

Anteriormente, a implementação da autenticação multifator para o Oracle Database exigia integração com provedores de identidade externos, como Entra ID, OCI Identity and Access Management (IAM) ou RADIUS. Essa abordagem apresentou um desafio significativo para ambientes sem acesso a esses diretórios ativados para MFA, incluindo bancos de dados autônomos on-premises, implantações IaaS ou sistemas Oracle Base Database Service.

Com a Atualização da Release do Banco de Dados (DBRU) de julho de 2025, a Oracle agora permite a MFA nativa para usuários de banco de dados local no Oracle Database 19c e 23ai. Esse novo recurso suporta autenticação baseada em push com o Oracle Mobile Authenticator (OMA) ou o Cisco Duo, oferecendo uma solução de segurança robusta e integrada.

Benefícios-chave

Público-alvo

Este tutorial foi projetado especificamente para:

Objetivo

O principal objetivo deste tutorial é demonstrar como ativar a autenticação multifator (MFA) para usuários locais do Oracle Database. Embora a Oracle suporte a integração de MFA com provedores externos, como OCI Identity and Access Management ou Cisco Duo, este guia se concentrará especificamente no workflow nativo de autenticação baseada em push usando o aplicativo Oracle Mobile Authenticator (OMA).

Pré-requisitos

Para concluir este tutorial, os seguintes componentes são necessários:

  1. Oracle Database Instance: Uma instância do Oracle Database 23ai (23.9+) ou uma instância do Database 19c que executa a DBRU (Database Release Update) de julho de 2025. Este guia usa uma instância do OCI Base Database Service com 23ai.
  2. Dispositivo Móvel: Um smartphone Android ou iOS com o aplicativo Oracle Mobile Authenticator (OMA) instalado.
  3. E-mail Delivery do OCI: O OCI Email Delivery é necessário para enviar convites por e-mail para inscrição de MFA. Este serviço requer:

Tarefa 1: Configuração do OCI Identity and Access Management

Antes de ativar a autenticação multifator, você deve configurar um aplicativo OAuth no Domínio de Identidades do OCI Identity and Access Management. Esse aplicativo é essencial, pois a wallet de MFA do banco de dados usa suas credenciais para validar tokens de autenticação.

  1. Faça log-in na Console do OCI e navegue até Identity & Security, Domains.

    Autonomous Database

  2. Selecione seu domínio atual e revise seus detalhes. Anote o URL do domínio (excluindo o número da porta).

    Autonomous Database

  3. Registre um aplicativo cliente OAuth no Domínio de Identidades. Esta é uma etapa obrigatória para que o recurso MFA funcione corretamente. Clique em Aplicativos Integrados e em Adicionar aplicativo.

    Autonomous Database

  4. Selecione Aplicativo Confidencial e clique em Iniciar workflow.

    Autonomous Database

  5. Informe os detalhes obrigatórios do aplicativo, como um nome e uma descrição. Em seguida, clique em Enviar.

    Autonomous Database

  6. Clique no aplicativo que você acabou de criar para exibir seus detalhes.

    Autonomous Database

  7. Navegue até a guia OAuth configuration e clique em Editar configuração OAuth.

    Autonomous Database

  8. Na seção Configuração do cliente, selecione Configurar este aplicativo como cliente agora.** Em Tipos de concessão permitidos, certifique-se de que Credenciais do Cliente seja a única opção selecionada. Não clique em Enviar ainda.

    Autonomous Database

  9. Role para baixo até a seção Atribuições de aplicativo e ative-a.

    Autonomous Database

  10. Clique no botão Adicionar atribuições de Aplicativo.

    Autonomous Database

  11. Adicione as atribuições Administrador de Usuários, Administração de Domínios de Identidades e Cliente MFA e clique no botão Adicionar.

    Autonomous Database

  12. Verifique as atribuições de Aplicativo e clique em Enviar.

    Autonomous Database

  13. Na guia OAuth Configuration, o ID do Cliente e o Segredo do cliente agora estão disponíveis.

Tarefa 2: Configuração do Grupo de Gerenciamento de Acesso e Identidade do OCI para o Serviço Email Delivery

Para utilizar o OCI Email Delivery para enviar notificações de MFA, primeiro você deve criar um grupo dedicado do IAM com as permissões necessárias.

  1. Faça log-in na Console do OCI e navegue até Identidade e Segurança, Domínios. Selecione seu Domínio de Identidades atual. Clique na guia Gerenciamento de Usuários, role para baixo até Grupos e clique em Criar grupo.

    Autonomous Database

  2. Forneça um nome para o novo grupo (por exemplo, EmailDeliveryServicesUsers). Adicione o(s) usuário(s) apropriado(s) que será(ão) responsável(eis) por gerenciar o serviço de entrega de e-mail a este grupo.

    Autonomous Database

    Autonomous Database

  3. Crie uma Política do IAM para o Serviço Email Delivery. Para permitir que o grupo do IAM envie notificações por e-mail, crie uma política que conceda a ele as permissões necessárias. Faça log-in na Console do OCI e navegue até Identidade e Segurança, Políticas e clique em Criar Política.

    Autonomous Database

  4. Forneça um Nome e uma Descrição para a política (por exemplo, MFA_Email_Delivery_Policy). Na seção Criador de Políticas, informe a instrução de política a seguir e clique em Criar.

    allow group 'OracleIdentityCloudService'/'EmailDeliveryServicesUsers' to use email-family in compartment AlexKovuru.

    Autonomous Database

  5. Por fim, você precisa criar as credenciais SMTP que o banco de dados usará. Faça log-in na Console do OCI, navegue até Identidade e Segurança, Meu Perfil e clique na Guia Senhas salvas. Em seguida, acesse credenciais SMTP e clique em Gerar Credenciais.

    Autonomous Database

  6. Gere as credenciais SMTP e certifique-se de copiar o nome de usuário e a senha SMTP imediatamente.

    Autonomous Database

    Importante: A senha será exibida apenas uma vez, portanto, você deve salvá-la antes de fechar a janela.

    Autonomous Database

    Autonomous Database

  7. Faça log-in na Console do OCI e navegue até Developer Services, Application Integration, Email Delivery, Configuração. Localize as Informações de Envio SMTP atribuídas à sua região. Observe os valores Ponto Final Público e Porta SMTP.

    Autonomous Database

  8. Observe que o OCI Email Delivery só permite o envio de remetentes aprovados e domínios registrados. (conforme descrito no Pré-requisito 3).

Tarefa 3: Configurar o Banco de Dados para MFA

Esta tarefa configura a autenticação multifator (MFA) para um PDB (banco de dados plugável) do Oracle 23ai usando a integração do OMA (Oracle Mobile Authenticator) e SMTP.

  1. Estabeleça conexão com seu PDB com privilégios SYSDBA:

     sqlplus "/as sysdba"
    
  2. Configure seu PDB (Banco de Dados Plugável) para MFA. Você precisará definir os parâmetros a seguir. O parâmetro MFA_SENDER_EMAIL_ID deve ser definido como um remetente aprovado que você já configurou no 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. Atualize sqlnet.ora: Edite o arquivo e adicione o seguinte parâmetro:

     SQLNET.INBOUND_CONNECT_TIMEOUT=120
    
  4. Configurar o Oracle Wallet: O Oracle Wallet é usado para armazenar as credenciais OAuth e SMTP com segurança. Verificar GUID do PDB e Raiz da Wallet

     show parameter wallet_root;
     SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB';
    
  5. Criar Diretório da Wallet 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. Criar Oracle Wallet

     orapki wallet create -wallet ./ -pwd <user_password> -auto_login -compat_v12
    
  7. Armazene suas credenciais de MFA com segurança em um Oracle Wallet. O banco de dados depende dessa wallet para acessar as credenciais do cliente OAuth e SMTP. É importante que os nomes de alias de cada credencial correspondam exatamente aos valores predefinidos listados abaixo.

    Aliases obrigatórios e suas credenciais correspondentes:

    • oracle.security.mfa.oma.clientid → ID de cliente OAuth (da Tarefa 1 à Etapa 12)
    • oracle.security.mfa.oma.clientsecret → Segredo do Cliente OAuth (da Tarefa 1 à Etapa 12)
    • oracle.security.mfa.smtp.user → Nome de usuário SMTP gerado no seu perfil de usuário do OCI (da Tarefa 2 à Etapa 6)
    • oracle.security.mfa.smtp.password → Senha SMTP gerada para seu usuário (da Tarefa 2 à Etapa 6)

    Você pode usar o utilitário orapki para criar a wallet e adicionar essas credenciais.

     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. Criar Usuário Ativado para MFA: Criar um usuário com autenticação de fator MFA:

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

    Observação: O e-mail deve ser uma conta válida na qual o aplicativo OMA está registrado. Caso contrário, a notificação push não poderá ser entregue.

  9. Conceda atribuições obrigatórias:

     GRANT CONNECT, RESOURCE TO testmfa;
    
  10. O usuário receberá um email com instruções para concluir seu registro no OMA. Este e-mail conterá um código QR que deverá ser digitalizado usando o aplicativo Oracle Mobile Authenticator para configurar a MFA.

    Autonomous Database

Tarefa 4: Testar Autenticação MFA

  1. Conecte-se como novo usuário:

     sqlplus testmfa/<user_password>
    
  2. Aprove a solicitação de log-in no aplicativo OMA.

    Autonomous Database

  3. Verifique o usuário conectado:

     SHOW USER;
     SELECT * FROM SESSION_ROLES;
    

Confirmações

Autores - Alex Kovuru (Arquiteto de Nuvem Principal)

Colaboradores - Indiradarshni Balasundaram (Engenheiro Sênior de Nuvem)

Mais Recursos de Aprendizado

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.