附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用裝置代碼流程在 OCI IAM 啟用 Excel 對元件介面公用程式 SSO
簡介
PeopleSoft 中的 Excel 至元件介面 (Excel 至 CI) 公用程式可作為無價工具,可讓使用者透過標準使用者名稱和密碼驗證,將資料從 Microsoft Excel 試算表順暢地匯入至 PeopleSoft 資料庫。每個來源工作簿都包含工作表和 Excel Visual Basic 程式碼模組,可執行每筆交易的基本業務邏輯。如需詳細資訊,請參閱瞭解 Excel 對元件介面公用程式。
隨著 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 的快速進展,對 PeopleSoft 等應用程式支援 Single Sign-On (SSO) 的需求日益重要。這項進化反映了簡化使用者體驗、增強安全性以及跨多個平台簡化存取的必要性,讓使用者可以在保持健全的認證協定的同時順暢瀏覽。
OCI IAM 是一個健全的架構,可用來管理使用者和角色、促進使用者聯合和佈建,以及透過 Oracle SSO 組態和安全宣告標記語言 (SAML) /OAuth 型身分識別提供者 (IdP) 管理,實現安全的應用程式整合。顯然,它的功能是 Oracle Identity Domains App Gateway ,它支援使用標頭式認證 (例如 PeopleSoft) 之應用程式的 Single Sign-On (SSO)。如需詳細資訊,請參閱使用 OCI IAM Identity Domains 設定 PeopleSoft 應用程式的無縫認證。
在本教學課程中,我們將探討傳統 Excel 轉換為 CI 工作表,並將其現代化以支援標準驗證通訊協定。我們將探討如何利用 OCI IAM SSO 驗證使用者,並透過這些增強型試算表實現無縫資料上傳。
PeopleSoft SSO 與 OCI IAM 整合
PeopleSoft 透過 App 閘道與 OCI IAM for SSO 整合,以反向代理主機的方式運作。它會攔截對 PeopleSoft Web 介面的 HTTP 要求,確保使用者已登入並獲授權。OCI IAM 識別網域管理 PeopleSoft 應用程式的認證。
裝置代碼流程的 OCI IAM 支援簡介
裝置代碼流程可在缺少 Web 瀏覽器的裝置或作業系統上啟用使用者驗證。此方法可讓使用者使用其他裝置 (例如電腦或行動電話) 以互動方式登入。下圖說明「裝置代碼流程」的運作方式。
如需有關裝置代碼流程及其在 OCI IAM 內組態的詳細資訊,請參閱使用 IDCS OAuth 裝置流程進行 Fun and Profit 和裝置代碼授權類型。
此外,我們瞭解裝置代碼流程與 Microsoft Excel 試算表相容。如需詳細資訊,請參閱 Excel、OAuth 2.0 及裝置代碼流程。我們將增強傳統的 Excel 至 CI 試算表,以支援裝置代碼流程。讓我們先在 OCI IAM 中建立機密應用程式,以協助進行此整合。
目標
-
使用 OCI IAM SSO 證明資料,使用「裝置代碼流程」將資料上傳至 PeopleSoft 資料庫。
- 下載 Excel 至 CI 檔案並將其儲存至您的本機系統。
- 在 OCI IAM 中建立支援裝置代碼流程的機密應用程式。
- 更新現有的 Visual Basic (VB) 巨集功能並新增 OCI IAM 連線詳細資訊,以將資料上傳至 PeopleSoft 資料庫。
- 使用 OCI IAM SSO 證明資料和裝置代碼流程,將已更新 Microsoft Excel 試算表中的範例資料推送至 PeopleSoft 資料庫。
必要條件
-
存取 OCI 租用戶。
-
Oracle Apps Premium 類型的識別網域及其上一個管理員帳戶。
-
啟用 PeopleSoft SSO 的執行處理具有有效的 SSL 憑證。
-
具有 PeopleSoft SSO 存取權的使用者,以及透過 Excel 將資料上傳至 CI 之 PeopleSoft 資料庫的必要權限。
-
目前使用使用者名稱與密碼來發送資料的完整功能 Excel 至 CI 試算表副本。
-
相依檔案
RelLangMacro.xla
的本機副本,以將 Excel 正確運作至 CI。 -
關於 VB Macro 編碼的基本知識。
作業 1:建立裝置代碼流程的機密應用程式
我們將在 OCI IAM 識別網域下註冊機密應用程式,此識別網域已與您的 PeopleSoft 整合,適用於 SSO,且授權類型為裝置代碼。
-
登入 OCI 主控台,在識別網域底下,按一下網域資訊並複製識別網域 URL 。
備註:從網域 URL 結尾排除 :443 ,我們需要在任務 6 中提供此資訊。
-
移至導覽功能表,然後按一下應用程式。
-
選取機密應用程式,然後按一下啟動工作流程。
-
輸入您應用程式的名稱,然後按一下下一步。
-
選取稍後略過,選取裝置代碼作為允許的授權類型,然後按一下下一步。
-
按一下完成。
-
按一下啟動來啟動應用程式。
-
請記下用戶端 ID 和用戶端密鑰,以便在進一步的組態中使用。
作業 2:使用裝置代碼流程的 Excel 至 CI 與 OCI IAM 架構
使用裝置代碼流程將資料提交至 PeopleSoft 資料庫的步驟。
-
啟動裝置代碼流程:當使用者嘗試將資料提交至 PeopleSoft 資料庫時,Excel 工作表會起始「裝置代碼流程」。
-
使用者代碼顯示:系統會向使用者呈現 6 個字母的使用者代碼,使用者必須複製此代碼,以供日後取得存取權杖時使用。
-
瀏覽器認證:註明使用者程式碼之後,Excel 工作表會自動開啟預設的 Web 瀏覽器並提示使用者登入。如果階段作業已經在作用中,使用者將會自動登入。
-
輸入使用者代碼:順利登入並完成任何多重因素認證 (MFA) 需求之後,瀏覽器將會提示使用者輸入先前複製的使用者代碼。
-
存取權杖發出:順利送出使用者代碼時,會向 Excel 工作表發出存取權杖,讓它能夠將資料送出至 PeopleSoft 資料庫。
下圖說明「裝置代碼」在更多偵測中的流程。
為了協助進行此程序,我們將繼續修改 VB 程式碼,並增強認證和資料提交模組。
作業 3:使用裝置代碼流程更新登入的 VB 代碼
從此處下載 Excel 副本至 CI 試算表:ExcelToCI Sheets_ExcelToCI2007-AppG_SampleFile.zip 並儲存至您具有原始 Excel 至 CI 試算表的本機系統。資料夾也應包含相依檔案 RelLangMacro.xla
,以正確執行 Excel 至 CI。
-
開啟 Excel 至 CI 試算表,並以 PeopleSoft App Gateway 詳細資訊更新連線資訊工作表。請輸入下列資訊。
- Web Server 機器名稱。
- 協定。
- HTTP 連接埠。
-
按一下開發人員和 Visual Basic 以開啟 MicroSoft Visual Basic for Applications。按一下模組。
-
在模組下,展開登入模組,並在下列提及的函數中更新在任務 1 與 OCI IAM 網域 URL 中建立之機密應用程式的用戶端 ID 與用戶端密碼,並儲存檔案。
注意:試算表有註解可協助您新增詳細資訊的位置。
- 公用函數 getLoginInformation 。
- 公用函數 makeInstrospectRequest 。
- 公用函數 makeIDCSRequest 。
注意:
-
概念證明:此工作表可作為概念證明,證明 Excel 至 CI 可支援將資料提交至 PeopleSoft 資料庫的裝置代碼流程。
-
程式碼品質:請注意,程式碼可能不遵守 VB 編碼的最佳做法。強烈建議您在將產品部署到生產環境之前,先在這端進行徹底測試。
-
資料提交測試:試算表已針對資料提交使用案例進行測試。如果它預設為任何其他功能的使用者名稱和密碼認證,您可以修改 VB 模組來合併裝置程式碼邏輯,以增強功能。
-
參照檢查:此外,請複查 Microsoft Visual Basic for Applications 頁面中工具底下的 Excel 至 CI 參照,以確保符合下列螢幕擷取畫面。
作業 4:使用裝置代碼流程測試資料上傳
-
在資料輸入中新增範例資料,然後按一下增益集、提交的階段資料。
-
在暫存與提交工作表中,您應該能夠看到您要提交至 PeopleSoft 資料庫的新資料項目。按一下增益集與提交資料。
-
Excel 工作表現在會起始「裝置代碼流程」,並顯示使用者代碼,記下它。按一下確定,系統會將您重新導向至 OCI IAM 登入頁面。
-
使用您的 SSO 證明資料登入 OCI IAM。
-
在代碼中輸入使用者代碼,然後按一下提交。
-
如果使用者代碼正確,您將會看到恭喜畫面,確認您對應用程式的存取權。
-
存取權杖會傳回 Excel 工作表,用來將資料提交至 PeopleSoft 資料庫。您應該會看到確認資料送出後,對照您輸入的資料確定。
工作表將儲存下次執行的存取權杖詳細資訊,除非存取權杖為作用中,否則系統不會挑戰您進行裝置代碼流程。
Excel 至 CI 工作表中的增強功能商機
-
權杖驗證:目前使用自我檢查端點來驗證存取權杖的有效性,其預設到期時間為 60 分鐘。
-
階段作業持續性:若要防止使用者在 60 分鐘後登出,請考慮實行重新整理記號機制。
-
程式碼修改:更新 VB 程式碼以結合使用重新整理權杖進行持續存取。
-
OCI IAM 的動態擷取詳細資訊:工作表中的函數目前使用識別資訊進行硬式編碼。您可以透過定義 Excel 儲存格來動態擷取這些詳細資訊來增強此功能。
-
存取權杖可見性:存取權杖值目前會顯示在連線資訊工作表中。您可以透過調整儲存格格式來選擇對一般使用者隱藏。
-
與日記帳上傳的相容性: Excel 至 CI 的示範「裝置代碼流程」邏輯也可套用至日記帳上傳。
Jrnlmacro.xla
中的下列模組應在 mImportControl 下更新。下載日記帳上傳的範例郵遞區號。- 專用子 Import_Sheet 。
- 專用函數 sendXML 。
- 公用函數 makeIDCSRequest 。
- 公用函數 makeInstrospectRequest 。
相關連結
認可
- 作者 - Chetan Soni (雲端資深工程師)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Enable Excel to Component Interface Utility SSO with OCI IAM using Device Code Flow
G16871-01
October 2024