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を実装するステップについて説明します。

なぜこれが必要なのか?
以前は、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のいずれかを使用したプッシュベース認証がサポートされ、堅牢で統合されたセキュリティ・ソリューションが提供されます。
主な利点
- セキュリティの強化:パスワードベースの攻撃および資格証明の盗難に対するより強力な保護を提供します。
- ユーザー・エクスペリエンスの簡素化:プッシュベースの認証が便利で、ユーザーがワンタイム・コードを手動で入力する必要がなくなります。
- 包括的カバレッジ: CDBルートとPDBの両方内の重要な管理アカウント(SYSDBA、SYSOPERなど)にセキュリティを拡張します。
- 規制コンプライアンス: PCI DSSやDORAなどの厳格なコンプライアンス要件を満たすのに役立ちます。
- 粒度制御:ユーザーごとに選択的なMFA有効化が可能で、柔軟なロールアウト戦略が提供されます。
- シームレスな統合:クライアント側の変更や変更は必要ありません。
対象読者
このチュートリアルは、特に次のことを目的として設計されています。
- IAM(Identity and Access Management)プロフェッショナル
- データベースの管理者(DBA)
- セキュリティ・アナリストおよび監査者
目標
このチュートリアルの主な目的は、ローカルOracle Databaseユーザーのマルチファクタ認証(MFA)を有効にする方法を示すことです。Oracleでは、MFAとOCI Identity and Access ManagementやCisco Duoなどの外部プロバイダとの統合がサポートされていますが、このガイドでは、Oracle Mobile Authenticator (OMA)アプリケーションを使用したネイティブのプッシュベース認証ワークフローに特に重点を置きます。
前提条件
このチュートリアルを完了するには、次のコンポーネントが必要です。
- Oracle Database Instance: 2025年7月のデータベース・リリース更新(DBRU)を実行しているOracle Database 23aiインスタンス(23.9以上)またはデータベース19cインスタンス。このガイドでは、23ai OCIベース・データベース・サービス・インスタンスを使用します。
- モバイル・デバイス: Oracle Mobile Authenticator (OMA)アプリケーションがインストールされているAndroidまたはiOSスマートフォン。
- OCI Email Delivery: MFA登録の電子メール招待を送信するには、OCI Email Deliveryが必要です。このサービスには次のものが必要です。
- 承認済送信者および検証済ドメイン
- データベース・ホストからOCI Email Deliveryエンドポイントへのアウトバウンド・インターネット・アクセス。
-
詳細は、OCIの電子メール配信のドキュメントを参照してください
電子メール・ドメイン:

承認済送信者:

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

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

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

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

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

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

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

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

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

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

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

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

-
OAuth構成タブで、「クライアントID」および「クライアント・シークレット」を使用できるようになりました。
- コピーおよびセキュア・ストア: クライアントIDとクライアント・シークレットの両方をコピーして、セキュアな場所に格納します。シークレットを表示するには、値の横にあるメニューから「表示」または「コピー」オプションを使用します。
-
アプリケーションのアクティブ化: 「アクション」ドロップダウン・メニューから、「アクティブ化」を選択してアプリケーションを有効にします。

タスク2: 電子メール配信用のOCI Identity and Access Managementグループ構成
OCI Email Deliveryを使用してMFA通知を送信するには、まず必要な権限を持つ専用IAMグループを作成する必要があります。
-
OCIコンソールにログインし、「アイデンティティとセキュリティ」、「ドメイン」に移動します。現在のアイデンティティ・ドメインを選択します。「ユーザー管理」タブをクリックし、「グループ」までスクロール・ダウンして、「グループの作成」をクリックします。

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


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

-
ポリシーの名前および説明を指定します(たとえば、MFA_Email_Delivery_Policy)。「ポリシー・ビルダー」セクションで、次のポリシー・ステートメントを入力し、「作成」をクリックします。
グループ'OracleIdentityCloudService'/'EmailDeliveryServicesUsers'に、コンパートメントAlexKovuruのemail-familyの使用を許可します。

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

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

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


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

-
OCI Email Deliveryでは、承認された送信者および登録済ドメインからの送信のみが許可されることに注意してください(前提条件3で概説されています)。
タスク3: MFA用のデータベースの構成
このタスクでは、Oracle Mobile Authenticator (OMA)およびSMTP統合を使用して、Oracle 23aiプラガブル・データベース(PDB)のマルチファクタ認証(MFA)を構成します。
-
SYSDBA権限でPDBに接続します。
sqlplus "/as sysdba" -
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'; -
sqlnet.oraの更新: ファイルを編集し、次のパラメータを追加します。
SQLNET.INBOUND_CONNECT_TIMEOUT=120 -
Oracle Walletの構成: Oracle Walletは、OAuthおよびSMTP資格証明を安全に格納するために使用されます。PDB GUIDおよびWalletルートの確認
show parameter wallet_root; SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB'; -
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 -
Oracle Walletの作成
orapki wallet create -wallet ./ -pwd <user_password> -auto_login -compat_v12 -
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' -
MFA対応ユーザーの作成: MFAファクタ認証を使用するユーザーを作成します。
CREATE USER testmfa IDENTIFIED BY <user_password> AND FACTOR ‘OMA_PUSH’ AS ‘registered_emailid’;ノート: Eメールは、OMAアプリケーションが登録されている有効なアカウントである必要があります。それ以外の場合、プッシュ通知は配信されません。
-
必要なロールの付与:
GRANT CONNECT, RESOURCE TO testmfa; -
ユーザーは、OMA登録を完了するための指示が記載されたEメールを受信します。この電子メールには、MFAを設定するためにOracle Mobile Authenticatorアプリケーションを使用してスキャンする必要があるQRコードが含まれます。

タスク4: MFA認証のテスト
-
新しいユーザーとして接続します。
sqlplus testmfa/<user_password> -
OMAアプリケーションでログイン・リクエストを承認します。

-
接続ユーザーを確認します。
SHOW USER; SELECT * FROM SESSION_ROLES;
関連リンク
- Oracle Database 23aiのドキュメント – MFAの構成
- Oracleブログ – MFA 2025年7月
- OCIドキュメント –Email Delivery
- CIドキュメント – 機密アプリケーションおよびOAuth
確認
著者 - Alex Kovuru (プリンシパル・クラウド・アーキテクト)
貢献者 - Indiradarshni Balasundaram (シニア・クラウド・エンジニア)
その他の学習リソース
docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Enable MFA for Local Users in Oracle Database 23ai Using Oracle Mobile Authenticator (OMA)
G42854-01