在組織的數位化轉型過程中,將舊版 Web 應用程式與新式身份提供商整合通常意味著修改舊版應用程式**和更改使用者介面。 與其將時間和資源花在新的自定義開發上,不如投資於允許您專注於業務邏輯而不是身份驗證過程的體系結構。
某些舊版應用程式不直接支援 OpenID Connect。 當它們遷移到雲時,您可以使用 Oracle Cloud Infrastructure (OCI) API 閘道器作為網路訪問點來協調使用者、身份提供程式和應用之間的身份驗證。 OCI API 閘道器 可以在網路上以標準化方式執行訪問控制,而無需所有應用直接新增 OpenID Connect 程序。 開發人員可以利用 OCI API 閘道器對傳統應用進行現代化改造,同時增強現代應用。 在架構上,OCI API 閘道器是 OCI 中的一項完全託管的無伺服器服務,可用於保護 API 端點和 Web 應用。 OCI API 閘道器提供速率限制、授權執行、動態路由、SSL 實施等安全功能。 OCI API 閘道器可用於保護需要 OpenID 身份驗證支援的傳統 Web 應用。 OCI API 閘道器可用作託管在 OCI 私有子網中的 Web 應用的集中式安全模組。 OCI API 閘道器與身份提供商無關,可與任何受支援的 OAuth 2 配合使用0 個提供商(例如 OKTA、Google、Amazon 和 Auth0 等)整合。 OpenID Connect 協議是 OAuth 2位於 0 協議之上的簡單身份層。 OpenID Connect 支援不同型別的應用程式,例如瀏覽器、移動應用程式和桌面客戶端,以安全、集中和標準化的方式支援身份驗證和身份管理。 利用 OpenID Connect 協議的應用程式依靠身份提供程式來安全地處理身份驗證過程並對使用者進行身份驗證。 OpenID Connect 通過將使用者管理集中到身份提供程式(例如 Oracle Cloud Infrastructure Identity and Access Management)來支援不同應用程式的單點登入。 OCI API 閘道器充當網路訪問點,負責協調使用者、身份提供商和應用之間的身份驗證。 將 OCI API 閘道器放置在應用和客戶端之間,使其能夠攔截請求並處理 OpenID Connect 授權流程。 下圖演示了此參考體系結構。
該過程類似於下圖中所示的過程
客戶端應用通過 OCI API 閘道器請求訪問後端服務。
OCI API 閘道器將客戶端定向到身份驗證提供商。
客戶端使用身份驗證提供程式進行身份驗證。 如果身份驗證成功,客戶端將收到授權令牌。
身份驗證提供程式攜帶訪問令牌,用於將客戶端重定向到 OCI API 閘道器。
OCI API 閘道器通過身份驗證提供程式確認訪問令牌的有效性。
如果令牌驗證成功,OCI API 閘道器會將流量路由到相應的後端服務,並將完成的響應返回給客戶端。
在客戶端已獲得授權的情況下,該過程類似於下圖中所示的過程。
獲取令牌後,瀏覽器會快取該令牌,以便對同一應用程式發出後續請求。
OCI API 閘道器與身份驗證提供商合作驗證令牌,以確保客戶端有權訪問後端服務。
如果客戶端獲得授權,OCI API 閘道器會將請求路由到相應的後端服務,並將完成的響應返回給客戶端。
該體系結構包括以下元件: Oracle Cloud Infrastructure (OCI) 區域是包含乙個或多個資料中心(稱為可用性域)的地理區域。 區域彼此獨立,可能相距甚遠(跨國家甚至跨大陸)。 可用性域是區域內乙個獨立的獨立資料中心。 每個可用性域中的物理資源與其他可用性域中的資源隔離,從而提供容錯能力。 可用性域不共享基礎結構,例如電源或冷卻系統,也不共享內部可用性域網路。 因此,乙個可用性域的故障不太可能影響該區域中的其他可用性域。 容錯域是可用性域中的一組硬體和基礎結構。 每個可用性域包含三個容錯域,具有獨立的電源和硬體。 在多個容錯域中分配資源時,應用程式可以承受容錯域中的物理伺服器故障、系統維護和電源故障。 VCN 是在 Oracle Cloud Infrastructure 區域中設定的可定製的軟體定義網路。 與傳統的資料中心網路一樣,VCN 可讓您完全控制網路環境。 乙個 VCN 可以有多個不重疊的 CIDR 塊,您可以在建立 VCN 後更改這些塊。 您可以將 VCN 拆分為多個子網,這些子網可以定位到某個區域或可用性域。 每個子網都由連續的位址範圍組成,這些位址範圍不與 VCN 中的其他子網重疊。 您可以在建立子網後更改子網的大小。 子網可以是公有子網,也可以是私有子網。 Oracle API Gateway 使您能夠發布具有專用端點的 API,這些端點可在網路中訪問並根據需要向公共 Internet 公開。 終端節點支援 API 認證、請求和響應轉換、CORS、認證和授權以及請求限制。 Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud 應用的訪問控制平面。 借助 IAM API 和使用者介面,您可以管理身份域及其內部資源。 每個 OCI IAM 身份域代表乙個單獨的身份和訪問管理解決方案,或一組不同的使用者。 Oracle Cloud Infrastructure FastConnect 提供了一種在資料中心和 Oracle Cloud Infrastructure 之間建立專用連線的簡單方法。 與基於網際網絡的連線相比,FastConnect 提供更高的頻寬選項和更可靠的網路體驗。 Oracle Cloud 和 Microsoft Azure 互連是 Oracle 的首批多雲產品。 它提供全球特定 Azure 和 Oracle Cloud Infrastructure (OCI) 資料中心之間的直接網路連線。 它使 Azure 管理員和開發人員能夠在一夜之間將其應用連線到在 OCI 中執行的應用和服務,而無需建立專用鏈結或通過公共 Internet 傳送其應用流量。 以下建議可以作為起點。 您的需求可能與此處描述的體系結構不同。 您可以利用 OCI API 閘道器公開 REST API,並為 Web 應用啟用單點登入支援。 OCI API 閘道器還可以指定為應用的集中式安全模組,從而將安全實施轉移到 OCI API 閘道器。 這最大限度地減少了與實施、維護和複雜性相關的成本。 部署此參考體系結構時,請考慮以下因素。 跨站請求偽造 (CSRF) 保護攻擊者可利用瀏覽器 Cookie 的存在發起 CSRF 攻擊,導致使用者向 OCI API 閘道器等 Web 應用提交意外命令。 如果應用程式確定由於存在瀏覽器 cookie 而已成功對使用者進行身份驗證,則應用程式執行該命令可能會導致破壞性後果。
定義 OAuth 2 時0 身份驗證策略型別和 OAuth 2 的自檢終結點0 中,您可以指定 OCI API 閘道器如何儲存使用 OpenID Connect 授權流程獲取的新 JWT 令牌。
如果要將新的 JWT 令牌儲存在會話 Cookie 中,請選擇“將 Cookie 用於會話”。 為了防止潛在的 CSRF 攻擊,當 CSRF 令牌儲存在會話 Cookie 中時,OCI API 閘道器還會在 X-CSRF-Token 響應標頭中返回該令牌。 對 OCI API 閘道器的後續請求(除 GET 請求外)必須在 X-CSRF-Token 標頭中包含 CSRF 令牌,並在會話 Cookie 中包含 JWT 令牌。 跨資料資源共享 (CORS)。
Web 應用和應用中使用的其他 REST API 可能需要支援 CORS,因為請求是通過 OCI API 閘道器從 Web 瀏覽器重定向的。
作為甲骨文標準合作夥伴,Agilewing正在重新定義企業體驗甲骨文雲服務的方式。 憑藉其簡化的開戶流程和一流的技術支援,雅居翼將複雜的開戶和操作流程轉變為簡單、直觀的體驗。 借助我們的一站式服務,您可以快速啟動並執行全套 Oracle 雲服務,從而無縫整合到雲中。 Agilewing 的 AgileCDN 服務與 OCI 基於雲的服務相結合,可提供一流的全球內容加速解決方案。 由2,800多個全球POP節點和7,000個直接連線點組成的強大網路可確保您的業務擴充套件到全球的任何地方,都能確保高效穩定的運營。 利用 Oracle 雲的先進技術,Agilewing 致力於簡化雲服務構建、雲遷移和業務走出去的流程。 “我們的合作模式為客戶提供了經濟高效的解決方案,使他們能夠更專注於核心業務,同時享受 Oracle 雲的高效能和安全性。” Oracle 雲服務是乙個前景廣闊的領域,憑藉其高效能、安全性和全球一致的服務標準,為企業開啟了通往新機遇的大門。 通過雅居樂之翼的專業服務,無論是個人使用者還是企業,都可以輕鬆進入這個充滿技術創新和高效能的新時代。 讓 Agilewing 開始探索 Oracle 雲服務,開啟通往全新世界的大門。