整合 Oracle Access Management 與 Oracle 進階認證

簡介

本教學課程示範如何將 Oracle Access Management (OAM) 與 Oracle Advanced Authentication (OAA) 整合,讓存取受保護應用程式的使用者可以登入使用 Single-Sign On (SSO) 的 OAM,然後以第二個因素進行多重因素認證。

這也會顯示如何設定使用者移轉。使用者移轉是使用者登入 OAM 的處理作業,且使用者會根據定義的 LDAP 屬性,自動移轉至 OAA。為每個使用者註冊的因素是以 OAA 認證 Plugin 中定義的 LDAP 屬性為基礎。如果使用者已在 OAM 的「預設使用者識別存放區」中設定任何 LDAP 屬性,系統會自動在 OAA 中註冊這些因素。此教學課程的 LDAP 屬性 mailmobile 是用來設定使用者的電子郵件和簡訊因子。

目標

在此教學課程中,您將會執行下列作業:

  1. 將 OAA 登錄為 OAM 中的 TAP 合作夥伴
  2. 在 OAA 中設定 OAM 代理程式
  3. 安裝並設定 OAM 中的 OAA Plugin 與模組
  4. 測試 OAM 修正 OAA 整合成功

Oracle Access Management 先決條件

遵循此教學課程之前,您必須具有:

為了進行示範,此教學課程在教學課程系列 Oracle Access Management 12c 入門中所建立的環境上建立。在此環境中,Oracle Access Management 會使用 Oracle Unified Directory (OUD) 作為其預設使用者識別存放區。名為 mybank 的應用程式會部署至 WebLogic 伺服器,並透過 Oracle WebGate 進行保護。此自學課程對 OAM 主機名稱、URL、PATH 和使用者的所有參照,都是根據 Oracle Access Management 12c 入門 教學課程中使用的參照。

如果針對您的 OAM 環境使用以上的教學課程,您必須下載 oaausers.ldif 範例。此檔案包含安裝 OAA 之前所需的使用者和群組。編輯 oaausers.ldif,然後更新每個具有有效值的 mailmobile<password>。這可讓您測試使用者登入 OAM 時 (例如 testuser),使用者將移轉至 OAA 時,其因素設為 SMS 和電子郵件。對 OUD 執行 ldapmodify -f oaausers.ldif 以載入使用者和群組。

Oracle 進階驗證先決條件

遵循此教學課程之前,您必須具有:

將 OAA 登錄為 OAM 中的 TAP 合作夥伴

在此區段中,您將 OAA 註冊為 OAM 中的信任驗證通訊協定 (TAP) 合作夥伴。

目標

將 OAA 註冊為 OAM 中的 TAP 合作夥伴。

在 OAM 中登錄 TAP 合作夥伴

  1. 在 OAM 伺服器上,以 oracle 形式啟動終端機視窗,並輸入下列命令:

    cd /u01/app/oracle/product/middleware/oracle_common/common/bin
    ./wlst.sh
    

    輸出看起來如下:

    Initializing WebLogic Scripting Tool (WLST) ...
    
    Welcome to WebLogic Server Administration Scripting Shell
    
    Type help() for help on available commands
    
    wls:/offline> 
    
  2. 以下列方式連線至「OAM 管理伺服器」:

    wls:/offline> connect ('weblogic','<password>')
    

    輸出看起來如下:

    Successfully connected to Admin Server "AdminServer" that belongs to domain "oam_domain".
    
    Warning: An insecure protocol was used to connect to the server. 
    To ensure on-the-wire security, the SSL port or Admin port should be used instead.
    
    wls:/oam_domain/serverConfig/> 
    
  3. 執行下列命令即可重複 OAA TAP 夥伴:

    wls:/oam_domain/serverConfig/> registerThirdPartyTAPPartner(partnerName = "<partner_name>", keystoreLocation= "<path_to_keystore>", password="<keystore_password>", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="<URL>")
    

    其中:

    • <partner_name> 是您要提供給合作夥伴應用程式的名稱。
    • <path_to_keystore> 是要產生之金鑰存放區的位置和檔案名稱。
    • <keystore_password> 是產生之金鑰存放區的密碼。
    • tapRedirectUrl 是任何有效的 http URL。URL 必須可連線並傳回 200 個確定回應。請勿使用 https URL,否則將會產生錯誤訊息。

    例如:

    registerThirdPartyTAPPartner(partnerName = "OAM-MFAPartner", keystoreLocation= "/tmp/OAMOAAKeyStore.jks", password="********", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="http://oam.example.com:7777")
    

    輸出看起來如下:

    Registration Successful
    wls:/oam_domain/serverConfig/> 
    

    在以上範例中,將會產生金鑰存放區 /tmp/OAMOAAKeyStore.jks。此金鑰與密碼將 OAM 註冊為 OAA 中的代理程式時使用。

  4. 執行下列命令以結束 wlst:

    wls:/oam_domain/serverConfig/> exit()
    Exiting WebLogic Scripting Tool.
    

在 OAA 中設定 OAM 代理程式

在此區段中,您可以在「OAM 管理主控台」中設定 OAM 代理程式。

目標

設定 OAA 中 OAM 的代理程式。

在 OAA 中設定 OAM 代理程式

  1. 以管理員證明資料登入 OAA 管理主控台。例如:https://oaa.example.com/oaa-admin

  2. 快速動作下,選取建立 OAM 整合代理程式

  3. 建立整合代理程式詳細資訊頁籤中,輸入下列項目:

    • 名稱<partner_name>,其中值與先前註冊的 TAP 合作夥伴名稱相同,例如:OAM-MFAPartner
    • 描述OAM TAP Partner for OAA
    • 整合代理程式類型Oracle Access Management
    • 從屬端 ID:按一下 Re-Generate
    • 從屬端密碼:按一下 Re-Generate
    • 私密金鑰檔案:拖放註冊 TAP 合作夥伴時所建立的金鑰檔案 (例如 /tmp/OAMOAAKeyStore.jks),或按一下 + 從檔案系統加以選取
    • 私密金鑰密碼<password> 註冊 TAP 合作夥伴時為金鑰存放區輸入的密碼

    例如:

    createagent.jpg 圖解的說明

  4. Copy the Client ID e.g e1d7dd2d-83e2-4ac8-b338-5dbc6348b526 and Client Secret e.g 34e360cf-3ccc-4dcd-911e-0b00e367dcee9 to a safe place as these are required later when configuring OAM.

  5. 按一下儲存

  6. 整合代理程式畫面中,按一下剛建立的代理程式,例如:OAM-MFAPartner

  7. 保證等級中,按一下建立

  8. 建立保證層次中輸入下列項目,然後按一下建立

    • 名稱OAM-MFA-Level
    • 描述OAM-MFA-Level for OAM Integration

    例如:

    compensationlevel.jpg 的摘要

    注意:針對名稱輸入的值稍後將用於 ASSURANCE_LEVEL 的 OAM OAA Plugin 組態中。

  9. 認證層次頁籤中,按一下 OAM-MFA-Level

  10. 使用下,選取要指派給「保證等級」的「因素」,例如:Oracle Mobile Authenticator電子郵件安全提示簡訊安全提示,然後按一下儲存

    例如:

    definitionpolicy.jpg 圖解的描述

在 OAM 中安裝並設定 OAA Plugin

您可以在此段落中設定 OAM 中的 OAA Plugin。

目標

若要在 OAM 中設定 OAA Plugin,並且建立關聯的認證模組,以啟用與 OAA 的整合以進行第二因子驗證。

安裝 OAM 的 OAA Plugin

注意:如果使用 OAM 搭配 4 月 22 搭售品修正程式 (12.2.1.4.220404) 或更新版本,您可以略過此區段並移至建立 OAA 的認證模組,因為預設會包含此 Plugin。

  1. 在執行 oaamgmt Pod 的 OAA 環境上,將 OAA Plugin OAAAuthnPlugin.jar 從 Pod /u01/oracle/libs 目錄複製到主機機器上的目錄 (例如 /scratch/OAA):

    $ kubectl cp <namespace>/<oaamgmt_pod>:/u01/oracle/libs/OAAAuthnPlugin.jar <directory>/OAAAuthnPlugin.jar
    

    例如:

    $ kubectl cp oaans/oaamgmt-oaa-mgmt-5c68dc9c57-t2h6w:/u01/oracle/libs/OAAAuthnPlugin.jar /scratch/OAA/OAAAuthnPlugin.jar
    
  2. 啟動瀏覽器並存取「OAM 管理」主控台:http://oam.example.com:7001/oamconsole。以 weblogic/<password> 身分登入。

  3. OAAAuthnPlugin.jar 複製到執行瀏覽器的機器上。

  4. 瀏覽至Application Security -> Plug-in -> Authentication Plug-in (僅英文版)。

  5. 外掛程式頁籤中,選取匯入 Plug-In

  6. 匯入 Plug-in 視窗中,選取選擇檔案以選取 Plug-In 檔案 (*.jar) 。選取 OAAAuthnPlugin.jar 的位置,然後按一下匯入

  7. 在同一個頁面上,瀏覽至搜尋欄位並輸入 OAAAuthnPlugin。標示 Plugin 並選取分配選取的項目

  8. Plugin 的啟動狀態顯示已分配之後,請選取啟用選取的項目啟用狀態應變更為已啟用

    例如:

    oaaauthnplugin.jpg 圖解描述

  9. 關閉 Plugins-tab

建立 OAA 的認證模組

  1. 在 OAM 主控台中,瀏覽至應用程式安全性 -> Plug-in -> 認證模組

  2. 認證模組頁籤中,按一下建立認證模組,然後按一下建立自訂認證模組

  3. 驗證模組 -> 一般頁籤中,輸入下列資訊:

    • 名稱OAA-MFA-Auth-Module
    • 描述OAA MFA Authentication Module
  4. 按一下步驟連結,然後在步驟頁籤中,按一下新增

  5. 新增步驟視窗中,輸入下列項目並按一下確定

    • 步驟名稱UserIdentificationStep
    • 描述Identify User
    • 外掛程式名稱UserIdentificationPlugIn
  6. 按一下新增,輸入下列項目,然後按一下確定

    • 步驟名稱User OAA MFA Step
    • 描述MFA with OAA
    • 外掛程式名稱OAAAuthnPlugin
  7. 按一下新增,輸入下列項目,然後按一下確定

    • 步驟名稱PasswordValidation
    • 描述Validate user password on OAM
    • 外掛程式名稱UserAuthenticationPlugin

    模組目前的外觀應該如下:

    Modulesteps.jpg 圖解的描述

  8. 按一下 User OAA MFA Step 並填入下列欄位:

    • OAA_URL<SPUI_URL/authn/v1>,例如 https://oaa.example.com/oaa/rui/authn/v1
    • TAP_AGENT<partner_name>。這個值必須是在以 OAM 註冊 TAP 合作夥伴時指定的名稱,例如 OAM-MFAPartner
    • APPLICATION_ID<app_id>。這是與移轉至 OAA 之 OAM 使用者 (例如 Default) 關聯的 OAA 群組名稱。這個值必須與安裝 OAA 時使用的 oauth.applicationid 相符,否則一般使用者將無法存取「使用者偏好設定 UI」。
    • IDENTITY_STORE_REF<default_user_identity_store>。這應該設為 OAM 主控台 -> 組態 -> 使用者識別存放區中設定的預設存放區值。例如 OUDStore
    • ASSURANCE_LEVEL<assurance_level>。此值應設為先前在 OAA 中建立的保證層次,例如 OAM-MFA-Level
    • CLIENT_ID<client_id>。這是先前建立代理程式時所複製的從屬端 ID 值,例如:e1d7dd2d-83e2-4ac8-b338-5dbc6348b526
    • CLIENT_SECRET<client_secret>。這是先前建立代理程式時所複製的從屬端 ID 值,例如:34e360cf-3ccc-4dcd-911e-0b00e367dcee
    • LDAP_ATTRS: mail,mobile.這些是針對 LDAP 伺服器中使用者的電子郵件地址和行動電話號碼所設定的 LDAP 屬性。如此即可將使用者資料移轉至 OAA。注意:LDAP_ATTRS 必須以小寫指定。即使 LDAP 屬性以 camelCase 形式儲存在 LDAP 中,亦然。

    例如:

    useoaamfas setup.jpg 圖解的描述

  9. 按一下儲存

  10. 按一下步驟協調流程,然後從初始步驟下拉式清單中選取使用者 OAA MFA 步驟

  11. 在表格中選取值,如下所示:

    名稱 描述 成功時 失敗時 發生錯誤時
    UserIdentificationStep 識別使用者 密碼驗證 失敗 failure,失敗
    使用 OAA MFA 步驟 MFA 與 OAA 成功 UserIdentificationStep failure,失敗
    PasswordValidation 驗證 OAM 上的使用者密碼 使用 OAA MFA 步驟 failure,失敗 failure,失敗

    例如:

    stepor Orchestration.jpg 的說明

  12. 按一下套用

建立 OAA 認證配置

  1. 應用程式安全性啟動畫面 -> 存取管理員中,按一下認證配置

  2. 認證配置頁籤中,選取建立認證配置

  3. 在「建立認證配置」頁籤中,輸入:

    • 名稱<scheme_name> 例如 OAA-MFA-Scheme
    • 說明OAA MFA Authentication Scheme
    • 認證層次2
    • 查問方法Form
    • 挑戰重新導向 URL/oam/server/
    • 認證模組OAA-MFA-Auth-Module
    • 挑戰 URL/pages/login.jsp
    • 內容類型Default
    • 內容值/oam
    • 挑戰參數initial_command=NONE。此參數允許無密碼登入。請參閱Passwordless Login (無密碼登入)

    authnscheme.jpg 圖解的描述

  4. 按一下套用

更新 WebGate 以針對受保護的應用程式使用 OAA MFA 架構

注意:在 Webgate webgate_7777 下的範例中使用,而保護的應用程式 URL 為 /mybank。若使用其他項目,請相應地變更。

  1. 應用程式安全性啟動畫面 -> 存取管理員中,按一下應用程式網域

  2. 應用程式網域頁籤中,按一下搜尋

  3. 按一下 WebGate 以更新,例如:webgate_7777

  4. 在 WebGate 頁籤 (webgate_7777) 中,按一下認證原則。按一下建立

  5. 建立認證原則中,輸入下列項目並按一下「套用」:

    • 名稱OAA_MFA-Policy
    • 認證配置OAA-MFA-Scheme
  6. 在「WebGate」頁籤 (webgate_7777) 中,選取資源頁籤,按一下搜尋,然後按一下建立

  7. 建立資源頁籤中,輸入下列項目並按一下套用

    • 類型HTTP
    • 描述OAA Resource
    • 主機 IDwebgate_7777
    • 資源 URL/mybank/**
    • 作業ALL
    • 保護層次Protected
    • 認證原則OAA_MFA-Policy
    • 授權原則Protected Resource Policy

    注意:如果您已有其他 /mybank URI 的保護,請將這些 URI 更新,然後將認證原則變更為 OAA_MFA_Policy

  8. 重新啟動 OAM 伺服器以選擇新的 OAA Plugin 組態。

測試 OAM 與 OAA 整合

您可以在此段落中存取受保護的應用程式,登入 OAM,測試是否可以使用第二個因素認證。

目標

測試 OAA 與 OAM 整合工作成功。

測試 OAM 與 OAA 整合

  1. 啟動瀏覽器並存取受保護的應用程式,例如:http://oam.example.com:7777/mybank。由於此應用程式受到保護,因此您應該被重新導向至 OAM 登入頁面。以新使用者 testuser/<password> 身分登入。

    oamlogin.jpg 圖解的描述

  2. 如果登入成功,系統會將您重新導向至 OAA 端點,例如:https://oaa.example.com/oaa/authnui。將 OAM 中 OAA Plugin 的 LDAP_ATTRS 設為 mail,mobile,且測試使用者已填入這些 LDAP 屬性,系統便會出現一個查問選擇頁面,供使用者選取 EMAIL 或 SMS。在電子郵件安全提示下,選取傳送 OTP 給您**@**.com

    Challenge.jpg 不等圖的描述

  3. 系統會將您重新導向至電子郵件頁面,要求您在其中輸入已註冊電子郵件的 OTP Device1。在輸入 OTP 欄位中,輸入以電子郵件傳送使用者電子郵件地址的一次性密碼,然後按一下驗證

    emailotp.jpg 圖解

  4. 如果認證成功,您應該被重新導向至受保護的應用程式頁面,例如 /mybank

    mybank.jpg 圖解

  5. 關閉現有瀏覽器並啟動新的瀏覽器。再次存取受保護的應用程式,例如:http://oam.example.com:7777/mybank

  6. 由於透過認證配置 OAA-MFA-Scheme 中的 initial_command=NONE 參數啟用無密碼登入,因此系統不會要求使用者輸入 OAM 使用者與密碼,並指示選擇其第二個因素認證方法。在簡訊安全提示下,選擇傳送 OTP 至電話 0****3

    Challenge.jpg 不等圖的描述

  7. 系統會將您重新導向至簡訊頁面,要求從註冊的 SMS 裝置輸入 OTP。在輸入 OTP 欄位中,輸入傳送給使用者行動裝置的一次性密碼,然後按一下驗證

  8. 如果認證成功,您應該被重新導向至受保護的應用程式頁面,例如 /mybank

深入瞭解

意見

若要對此教學課程提供意見,請聯絡 idm_user_assistance_ww_grp@oracle.com

致謝

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或是存取更多免費學習內容至 Oracle Learning YouTube 通道。此外,瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請瀏覽 Oracle Help Center