OMA(Oracle Mobile Authenticator)를 사용하여 Oracle Database 23ai에서 로컬 사용자에 대한 MFA 활성화

소개

Oracle의 2025년 7월 DBRU(Database Release Update)는 온프레미스 및 하이브리드 데이터베이스 사용자를 위한 고유 다단계 인증(MFA)이라는 중요한 보안 향상 기능을 소개합니다. Oracle Database 23ai(23.9+)에서 사용 가능하고 19c(2025년 7월 최신 릴리스 업데이트 포함)로 백포트된 이 새로운 기능을 사용하면 모바일 장치에서 직접 두번째 인증 요소로 'SCOTT' 계정과 같은 기존 데이터베이스 계정을 보호할 수 있습니다. 이를 통해 MFA에 대한 외부 ID 제공자에 의존할 필요가 없습니다. 이 가이드에서는 Oracle Mobile Authenticator(OMA) 애플리케이션을 사용하여 MFA를 구현하는 단계를 안내합니다.

Autonomous Database

이것이 필요한 이유는 무엇입니까?

이전에는 Oracle Database에 대한 다중 요소 인증을 구현하려면 Entra ID, OCI Identity and Access Management(IAM) 또는 RADIUS와 같은 외부 ID 제공자와 통합해야 했습니다. 이러한 접근 방식은 온프레미스 독립형 데이터베이스, IaaS 배포 또는 Oracle Base Database Service 시스템을 포함하여 이러한 MFA 지원 디렉토리에 액세스하지 않는 환경에 상당한 과제를 야기했습니다.

2025년 7월 DBRU(데이터베이스 릴리스 업데이트)를 통해 Oracle은 이제 Oracle Database 19c 및 23ai에서 로컬 데이터베이스 사용자를 위한 네이티브 MFA를 지원합니다. 이 새로운 기능은 강력하고 통합된 보안 솔루션을 제공하는 Oracle Mobile Authenticator(OMA) 또는 Cisco Duo를 통한 푸시 기반 인증을 지원합니다.

주요 이점

대상

이 자습서는 다음 용도로 특별히 설계되었습니다.

목표

이 자습서의 주요 목적은 로컬 Oracle Database 유저에 대해 다중 요소 인증(MFA)을 활성화하는 방법을 보여주는 것입니다. Oracle은 OCI Identity and Access Management 또는 Cisco Duo와 같은 외부 제공업체와 MFA 통합을 지원하지만, 이 가이드는 특히 Oracle Mobile Authenticator(OMA) 애플리케이션을 사용하는 기본 푸시 기반 인증 워크플로우에 중점을 둡니다.

필수 조건

이 자습서를 완료하려면 다음 구성요소가 필요합니다.

  1. Oracle Database Instance: 2025년 7월 DBRU(데이터베이스 릴리스 업데이트)를 실행하는 Oracle Database 23ai 인스턴스(23.9+) 또는 Database 19c 인스턴스입니다. 이 설명서에서는 23ai OCI Base Database Service 인스턴스를 사용합니다.
  2. 모바일 장치: OMA(Oracle Mobile Authenticator) 애플리케이션이 설치된 Android 또는 iOS 스마트폰입니다.
  3. OCI 이메일 딜리버리: MFA 등록에 대한 이메일 초대를 전송하려면 OCI 이메일 딜리버리가 필요합니다. 이 서비스에는 다음이 필요합니다.

작업 1: OCI ID 및 액세스 관리 구성

다중 요소 인증을 사용으로 설정하기 전에 OCI ID 및 액세스 관리 ID 도메인에서 OAuth 애플리케이션을 구성해야 합니다. 데이터베이스의 MFA 전자 지갑은 인증서를 사용하여 인증 토큰을 검증하므로 이 응용 프로그램은 필수적입니다.

  1. OCI 콘솔에 로그인하여 ID 및 보안, 도메인으로 이동합니다.

    Autonomous Database

  2. 현재 도메인을 선택하고 세부정보를 검토합니다. 도메인 URL(포트 번호 제외)을 기록해 둡니다.

    Autonomous Database

  3. ID 도메인 내에 OAuth 클라이언트 애플리케이션을 등록합니다. MFA 기능이 올바르게 작동하는 데 필요한 단계입니다. 통합 애플리케이션을 누른 다음 애플리케이션 추가를 누릅니다.

    Autonomous Database

  4. 기밀 애플리케이션을 선택하고 워크플로우 실행을 누릅니다.

    Autonomous Database

  5. 이름 및 설명과 같은 필수 애플리케이션 세부정보를 입력한 다음 제출을 누릅니다.

    Autonomous Database

  6. 방금 생성한 응용 프로그램을 눌러 세부 정보를 봅니다.

    Autonomous Database

  7. OAuth 구성 탭으로 이동하고 OAuth 구성 편집을 누릅니다.

    Autonomous Database

  8. 클라이언트 구성 섹션에서 지금 이 애플리케이션을 클라이언트로 구성을 선택합니다.** 허용된 권한 부여 유형에서 클라이언트 인증서가 선택된 유일한 옵션인지 확인합니다. Submit yet을 누르지 마십시오.

    Autonomous Database

  9. 앱 롤 섹션으로 스크롤하여 사용으로 설정합니다.

    Autonomous Database

  10. 앱 롤 추가 단추를 누릅니다.

    Autonomous Database

  11. 사용자 관리자, ID 도메인 관리 및 MFA 클라이언트 롤을 추가한 다음 추가 단추를 누릅니다.

    Autonomous Database

  12. 앱 롤을 확인한 다음 제출을 누릅니다.

    Autonomous Database

  13. 이제 OAuth 구성 탭에서 클라이언트 ID클라이언트 암호를 사용할 수 있습니다.

태스크 2: 전자메일 전달을 위한 OCI ID 및 액세스 관리 그룹 구성

MFA 통지 전송을 위해 OCI Email Delivery를 활용하려면 먼저 필요한 권한을 가진 전용 IAM 그룹을 생성해야 합니다.

  1. OCI 콘솔에 로그인하여 ID 및 보안, 도메인으로 이동합니다. 현재 ID 도메인을 선택합니다. 사용자 관리 탭을 누르고 아래로 스크롤하여 그룹, 그룹 생성 순으로 누릅니다.

    Autonomous Database

  2. 새 그룹에 대한 이름을 제공합니다(예: EmailDeliveryServicesUsers). 이 그룹에 전자메일 전달 서비스를 관리할 적절한 사용자를 추가합니다.

    Autonomous Database

    Autonomous Database

  3. 전자메일 전달에 대한 IAM 정책을 생성합니다. IAM 그룹이 전자 메일 통지를 보내도록 허용하려면 필요한 권한을 부여하는 정책을 만들어야 합니다. OCI 콘솔에 로그인하여 ID 및 보안, 정책으로 이동한 다음 정책 생성을 누릅니다.

    Autonomous Database

  4. 정책에 대한 이름설명(예: MFA_Email_Delivery_Policy)을 제공합니다. 정책 작성기 섹션에서 다음 정책 문을 입력한 다음 생성을 누릅니다.

    'OracleIdentityCloudService'/'EmailDeliveryServicesUsers' 그룹이 AlexKovuru 컴파트먼트의 email-family를 사용하도록 허용

    Autonomous Database

  5. 마지막으로 데이터베이스에서 사용할 SMTP 자격 증명을 만들어야 합니다. OCI 콘솔에 로그인하고 ID 및 보안, 내 프로파일로 이동한 다음 저장된 비밀번호 탭을 누릅니다. 그런 다음 SMTP 인증서로 이동하고 인증서 생성을 누릅니다.

    Autonomous Database

  6. SMTP 자격 증명을 생성하고 SMTP 사용자 이름과 암호를 즉시 복사해야 합니다.

    Autonomous Database

    중요: 비밀번호는 한 번만 표시되므로 창을 닫기 전에 저장해야 합니다.

    Autonomous Database

    Autonomous Database

  7. OCI 콘솔에 로그인하여 개발자 서비스, 애플리케이션 통합, 전자메일 전송, 구성으로 이동합니다. 해당 지역에 지정된 SMTP 전송 정보를 찾습니다. Public Endpoint(공용 끝점)SMTP Port(SMTP 포트) 값을 확인합니다.

    Autonomous Database

  8. OCI Email Delivery는 승인된 발신자 및 등록된 도메인으로부터의 전송만 허용합니다(전제 조건 3에 설명된 대로).

작업 3: MFA에 대한 데이터베이스 구성

이 작업은 OMA(Oracle Mobile Authenticator) 및 SMTP 통합을 사용하여 Oracle 23ai PDB(플러그인할 수 있는 데이터베이스)에 대한 다중 요소 인증(MFA)을 구성합니다.

  1. SYSDBA 권한으로 PDB에 접속합니다.

     sqlplus "/as sysdba"
    
  2. MFA에 대한 PDB(플러그인할 수 있는 데이터베이스)를 구성합니다. 다음 매개변수를 설정해야 합니다. MFA_SENDER_EMAIL_ID 매개변수는 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. sqlnet.ora 업데이트: 파일을 편집하고 다음 매개변수를 추가합니다.

     SQLNET.INBOUND_CONNECT_TIMEOUT=120
    
  4. Oracle Wallet 구성: Oracle Wallet은 OAuth 및 SMTP 인증서를 안전하게 저장하는 데 사용됩니다. PDB GUID 및 전자 지갑 루트 확인

     show parameter wallet_root;
     SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB';
    
  5. 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. Oracle Wallet 생성

     orapki wallet create -wallet ./ -pwd <user_password> -auto_login -compat_v12
    
  7. MFA 자격 증명을 Oracle Wallet에 안전하게 저장합니다. 데이터베이스는 OAuth 클라이언트 및 SMTP 인증서에 액세스하기 위해 이 전자 지갑을 사용합니다. 각 자격 증명에 대한 별칭 이름은 아래 나열된 미리 정의된 값과 정확히 일치해야 합니다.

    필수 별칭 및 해당 인증서:

    • oracle.security.mfa.oma.clientid → OAuth 클라이언트 ID(작업 1 – 단계 12)
    • oracle.security.mfa.oma.clientsecret → OAuth 클라이언트 암호(작업 1 - 단계 12)
    • oracle.security.mfa.smtp.user → OCI 사용자 프로파일에서 생성된 SMTP 사용자 이름(작업 2 – 단계 6)
    • oracle.security.mfa.smtp.password → 사용자에 대해 생성된 SMTP 암호(작업 2 – 단계 6)

    orapki 유틸리티를 사용하여 전자 지갑을 생성하고 이러한 인증서를 추가할 수 있습니다.

     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. MFA 지원 사용자 생성: MFA 요소 인증을 사용하여 유저 생성:

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

    참고: 전자메일은 OMA 앱이 등록된 적합한 계정이어야 합니다. 그렇지 않으면 푸시 통지를 전달할 수 없습니다.

  9. 필요한 롤 부여:

     GRANT CONNECT, RESOURCE TO testmfa;
    
  10. OMA 등록을 완료하는 데 필요한 지침이 포함된 전자메일이 사용자에게 전송됩니다. 이 전자메일에는 MFA를 설정하기 위해 Oracle Mobile Authenticator 앱을 사용하여 스캔해야 하는 QR 코드가 포함됩니다.

    Autonomous Database

작업 4: MFA 인증 테스트

  1. 새 사용자로 연결:

     sqlplus testmfa/<user_password>
    
  2. OMA 앱에서 로그인 요청을 승인합니다.

    Autonomous Database

  3. 연결된 유저 확인:

     SHOW USER;
     SELECT * FROM SESSION_ROLES;
    

승인

Authors - Alex Kovuru(주요 클라우드 아키텍트)

제공업체 - Indiradarshni Balasundaram(Senior Cloud Engineer)

추가 학습 자원

docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.