使用 Oracle Mobile Authenticator (OMA) 在 Oracle Database 23ai 中為本機使用者啟用 MFA
簡介
Oracle 2025 年 7 月的資料庫版本更新 (DBRU) 導入了重要的安全性增強功能:內部部署和混合式資料庫使用者的原生多重因素認證 (MFA) 。這項新功能可在 Oracle Database 23ai (23.9+) 中使用,並已備份至 19c (2025 年 7 月最新版本更新) ,讓您能夠使用行動裝置直接的第二個認證因素來保護傳統資料庫帳戶,例如 'SCOTT' 帳戶。這樣就不需要仰賴外部身分識別提供者進行 MFA。本指南將逐步介紹使用 Oracle Mobile Authenticator (OMA) 應用程式導入 MFA 的步驟。

為何需要這麼做?
先前,為 Oracle Database 實作多重因素認證需要與外部身分識別提供者 (例如 Entra ID、OCI Identity and Access Management (IAM) 或 RADIUS) 整合。此方法為無需存取這些啟用 MFA 的目錄 (包括內部部署獨立資料庫、IaaS 部署或 Oracle Base Database Service 系統) 的環境帶來重大挑戰。
透過 2025 年 7 月資料庫版本更新 (DBRU) ,Oracle 現在可為 Oracle Database 19c 和 23ai 中的本機資料庫使用者啟用原生 MFA。此新功能支援使用 Oracle Mobile Authenticator (OMA) 或 Cisco Duo 進行推送式驗證,提供健全的整合式安全性解決方案。
主要優點
- 增強式安全性:針對以密碼為基礎的攻擊和證明資料竊取,提供較強的保護。
- 簡化的使用者體驗:提供方便的推播式驗證,免除使用者手動輸入一次性代碼的需求。
- 完整涵蓋範圍:將安全性延伸至 CDB 根和 PDB 中的重要管理帳戶 (SYSDBA、SYSOPER 等)。
- 法規遵循:協助滿足嚴格的法規遵循要求,例如 PCI DSS 和 DORA。
- Granular Control:允許每位使用者啟用選擇性的 MFA,提供彈性的推出策略。
- 無縫整合:無需用戶端變更或修改。
適用對象
本教程專為:
- IAM (身分識別和存取管理) 專業人員
- 資料庫管理員 (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 Base Database Service 實例。
- 行動裝置:已安裝 Oracle Mobile Authenticator (OMA) 應用程式的 Android 或 iOS 智慧型手機。
- OCI Email Delivery:需有 OCI Email Delivery 才能發送 MFA 註冊的電子郵件邀請函。此服務需要:
- 核准的寄件者和已驗證的網域
- 從資料庫主機至 OCI Email Delivery 端點的外送網際網路存取。
-
如需詳細資訊,請參閱 OCI Email Delivery 文件
電子郵件網棫:

核准的寄件者:

工作 1:OCI 身分識別與存取管理組態
啟用多重因素認證之前,您必須先在 OCI Identity and Access Management 識別網域中設定 OAuth 應用程式。由於資料庫的 MFA 公事包使用其證明資料來驗證認證權杖,因此此應用程式非常重要。
-
登入 OCI 主控台並瀏覽至識別與安全性、網域。

-
選取您目前的網域並複查其詳細資訊。記下網域 URL (不包括連接埠號碼)。

-
在識別網域中註冊 OAuth 從屬端應用程式。這是 MFA 功能正確運作的必要步驟。按一下整合的應用程式,然後按一下新增應用程式。

-
選取機密應用程式,然後按一下啟動工作流程。

-
輸入必要的應用程式詳細資訊,例如名稱和描述,然後按一下送出。

-
按一下您剛建立的應用程式即可檢視其詳細資訊。

-
瀏覽至 OAuth 組態頁籤,然後按一下編輯 OAuth 組態。

-
在從屬端組態段落中,選取立即將此應用程式設定為從屬端。** 在允許的授權類型底下,確定從屬端證明資料是唯一選取的選項。請勿按一下「提交」。

-
向下捲動至應用程式角色區段並加以啟用。

-
按一下新增 App 角色按鈕。

-
新增使用者管理員、識別網域管理以及 MFA 從屬端角色,然後按一下新增按鈕。

-
確認 App 角色,然後按一下送出。

-
OAuth 組態頁籤上的從屬端 ID 和從屬端加密密碼現已可供使用。
- 複製並安全儲存:複製從屬端 ID 和從屬端加密密碼,然後將它們儲存在安全的位置。若要顯示加密密碼,請使用值旁邊功能表的顯示或複製選項。
-
啟動應用程式:從動作下拉式功能表中,選取啟動以啟用應用程式。

工作 2:電子郵件傳遞的 OCI 識別和存取管理群組組態
若要使用 OCI Email Delivery 傳送 MFA 通知,您必須先建立具備必要權限的專用 IAM 群組。
-
登入 OCI 主控台並瀏覽至識別與安全性、網域。選取您目前的識別網域。按一下使用者管理頁籤,向下捲動至群組,然後按一下建立群組。

-
提供新群組的名稱 (例如 EmailDeliveryServicesUsers)。新增負責管理此群組之電子郵件傳遞服務的適當使用者。


-
建立電子郵件傳遞的 IAM 原則。若要允許 IAM 群組傳送電子郵件通知,您必須建立一個授予其必要權限的原則。登入 OCI 主控台並瀏覽至身分識別與安全性、原則,然後按一下建立原則。

-
提供原則的名稱和描述 (例如 MFA_Email_Delivery_Policy)。在原則製作器段落中,輸入下列原則敘述句,然後按一下建立。
允許 'OracleIdentityCloudService'/'EmailDeliveryServicesUsers' 群組使用 AlexKovuru 區間中的電子郵件系列。

-
最後,您必須建立資料庫將使用的 SMTP 證明資料。登入 OCI 主控台,瀏覽至身分識別與安全性、我的設定檔,然後按一下已儲存的密碼頁籤。然後移至 SMTP 證明資料,然後按一下產生證明資料。

-
產生 SMTP 證明資料,並確定立即複製 SMTP 使用者名稱和密碼。

重要事項:密碼只會顯示一次,因此您必須先儲存密碼,才能關閉視窗。


-
登入 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 和公事包根目錄
show parameter wallet_root; SELECT guid FROM v$containers WHERE name = 'DB23MFAPDB'; -
建立 MFA 公事包目錄:
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’;注意:此電子郵件必須是已註冊 OMA App 的有效帳戶。否則,將無法傳遞推送通知。
-
授予必要角色:
GRANT CONNECT, RESOURCE TO testmfa; -
使用者將收到一封內含完成 OMA 註冊指示的電子郵件。此電子郵件將包含 QR Code,他們必須使用 Oracle Mobile Authenticator 應用程式掃描才能設定 MFA。

作業 4:測試 MFA 認證
-
以新使用者身份連線:
sqlplus testmfa/<user_password> -
核准 OMA App 中的登入要求。

-
確認連線的使用者:
SHOW USER; SELECT * FROM SESSION_ROLES;
相關連結
確認
Authors - 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)
G42858-01