Oracle Mobile Authenticator (OMA)を使用したOracle Database 23aiのローカル・ユーザーに対するMFAの有効化

はじめに

Oracleの2025年7月のデータベース・リリース・アップデート(DBRU)では、オンプレミスおよびハイブリッド・データベース・ユーザー向けのネイティブ・マルチファクタ認証(MFA)という重要なセキュリティ強化が導入されています。Oracle Database 23ai (23.9+)で使用可能で、19c (2025年7月の最新リリース更新)にバックポートされたこの新機能により、モバイル・デバイスから直接2番目の認証ファクタを使用して、従来のデータベース・アカウント(SCOTTアカウントなど)を保護できます。これにより、MFAの外部アイデンティティ・プロバイダに依存する必要がなくなります。このガイドでは、Oracle Mobile Authenticator (OMA)アプリケーションを使用してMFAを実装するステップについて説明します。

Autonomous Database

なぜこれが必要なのか?

以前は、Oracle Databaseのマルチファクタ認証を実装するには、Entra ID、OCI Identity and Access Management (IAM)、RADIUSなどの外部アイデンティティ・プロバイダとの統合が必要でした。このアプローチは、オンプレミス・スタンドアロン・データベース、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では、MFAとOCI Identity and Access ManagementやCisco Duoなどの外部プロバイダとの統合がサポートされていますが、このガイドでは、Oracle Mobile Authenticator (OMA)アプリケーションを使用したネイティブのプッシュベース認証ワークフローに特に重点を置きます。

前提条件

このチュートリアルを完了するには、次のコンポーネントが必要です。

  1. Oracle Database Instance: 2025年7月のデータベース・リリース更新(DBRU)を実行しているOracle Database 23aiインスタンス(23.9以上)またはデータベース19cインスタンス。このガイドでは、23ai OCIベース・データベース・サービス・インスタンスを使用します。
  2. モバイル・デバイス: Oracle Mobile Authenticator (OMA)アプリケーションがインストールされているAndroidまたはiOSスマートフォン。
  3. OCI Email Delivery: MFA登録の電子メール招待を送信するには、OCI Email Deliveryが必要です。このサービスには次のものが必要です。

タスク1: OCI Identity and Access Management構成

マルチファクタ認証を有効にする前に、OCI Identity and Access Managementアイデンティティ・ドメインでOAuthアプリケーションを構成する必要があります。データベースのMFAウォレットは認証トークンの検証に資格証明を使用するため、このアプリケーションは不可欠です。

  1. OCIコンソールにログインし、「アイデンティティとセキュリティ、ドメイン」に移動します。

    Autonomous Database

  2. 現在のドメインを選択し、その詳細を確認します。ドメインURL(ポート番号を除く)を書き留めます。

    Autonomous Database

  3. アイデンティティ・ドメイン内にOAuthクライアント・アプリケーションを登録します。これは、MFA機能が正しく機能するために必要なステップです。「統合アプリケーション」をクリックし、「アプリケーションの追加」をクリックします。

    Autonomous Database

  4. 「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。

    Autonomous Database

  5. 名前や説明など、必要なアプリケーションの詳細を入力し、「送信」をクリックします。

    Autonomous Database

  6. 作成したアプリケーションをクリックして、その詳細を表示します。

    Autonomous Database

  7. OAuth構成タブに移動し、「OAuth構成の編集」をクリックします。

    Autonomous Database

  8. 「クライアント構成」セクションで、「このアプリケーションをクライアントとして今すぐ構成」を選択します。** 「許可された権限付与タイプ」で、「クライアント資格証明」が選択されている唯一のオプションであることを確認します。まだ「発行」をクリックしないでください。

    Autonomous Database

  9. 「アプリケーション・ロール」セクションまで下にスクロールして有効にします。

    Autonomous Database

  10. 「アプリケーション・ロールの追加」ボタンをクリックします。

    Autonomous Database

  11. 「ユーザー管理者」、「アイデンティティ・ドメイン管理およびMFAクライアント」ロールを追加し、「追加」ボタンをクリックします。

    Autonomous Database

  12. アプリケーション・ロールを確認し、「送信」をクリックします。

    Autonomous Database

  13. OAuth構成タブで、「クライアントID」および「クライアント・シークレット」を使用できるようになりました。

タスク2: 電子メール配信用のOCI Identity and Access Managementグループ構成

OCI Email Deliveryを使用してMFA通知を送信するには、まず必要な権限を持つ専用IAMグループを作成する必要があります。

  1. OCIコンソールにログインし、「アイデンティティとセキュリティ」「ドメイン」に移動します。現在のアイデンティティ・ドメインを選択します。「ユーザー管理」タブをクリックし、「グループ」までスクロール・ダウンして、「グループの作成」をクリックします。

    Autonomous Database

  2. 新しいグループの名前(EmailDeliveryServicesUsersなど)を指定します。このグループにEメール配信サービスの管理を担当する適切なユーザーを追加します。

    Autonomous Database

    Autonomous Database

  3. 電子メール配信用のIAMポリシーを作成します。IAMグループが電子メール通知を送信できるようにするには、必要な権限を付与するポリシーを作成する必要があります。OCIコンソールにログインし、「アイデンティティとセキュリティ、ポリシー」に移動して、「ポリシーの作成」をクリックします。

    Autonomous Database

  4. ポリシーの名前および説明を指定します(たとえば、MFA_Email_Delivery_Policy)。「ポリシー・ビルダー」セクションで、次のポリシー・ステートメントを入力し、「作成」をクリックします。

    グループ'OracleIdentityCloudService'/'EmailDeliveryServicesUsers'に、コンパートメントAlexKovuruのemail-familyの使用を許可します。

    Autonomous Database

  5. 最後に、データベースが使用するSMTP資格証明を作成する必要があります。OCIコンソールにログインし、「アイデンティティとセキュリティ」「マイ・プロファイル」に移動して、「保存されたパスワード」タブをクリックします。次に、「SMTP資格証明」に移動して、「資格証明の生成」をクリックします。

    Autonomous Database

  6. SMTP資格証明を生成し、SMTPユーザー名とパスワードをすぐにコピーしてください。

    Autonomous Database

    重要:パスワードは1回のみ表示されるため、ウィンドウを閉じる前にパスワードを保存する必要があります。

    Autonomous Database

    Autonomous Database

  7. OCIコンソールにログインし、「開発者サービス」「アプリケーション統合」「電子メール配信」「構成」に移動します。リージョンに割り当てられたSMTP送信情報を検索します。「パブリック・エンドポイント」および「SMTPポート」の値に注意してください。

    Autonomous Database

  8. OCI Email Deliveryでは、承認された送信者および登録済ドメインからの送信のみが許可されることに注意してください(前提条件3で概説されています)。

タスク3: MFA用のデータベースの構成

このタスクでは、Oracle Mobile Authenticator (OMA)および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およびWalletルートの確認

     show parameter wallet_root;
     SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB';
    
  5. MFA Walletディレクトリを作成します。

     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’;
    

    ノート: Eメールは、OMAアプリケーションが登録されている有効なアカウントである必要があります。それ以外の場合、プッシュ通知は配信されません。

  9. 必要なロールの付与:

     GRANT CONNECT, RESOURCE TO testmfa;
    
  10. ユーザーは、OMA登録を完了するための指示が記載されたEメールを受信します。この電子メールには、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;
    

確認

著者 - Alex Kovuru (プリンシパル・クラウド・アーキテクト)

貢献者 - Indiradarshni Balasundaram (シニア・クラウド・エンジニア)

その他の学習リソース

docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。