將 PDP 和 PEP 脫鉤,以支援 Oracle Cloud 上的零信任架構

為了協助降低持續威脅的風險,零信任架構應針對原則決策點 (PDP) 使用個別的控制層,並在資料層上實作原則強制點 (PEP)。您可以使用 Oracle Cloud 服務來支援您的零信任架構,並針對您的 PDP 和 PEP 導入強化 Oracle Cloud 的存取控制。

Oracle Cloud Infrastructure (OCI) 提供一組強大的安全性功能,可保護關鍵任務工作負載和機密資料。Oracle Cloud 導入的零信任安全模型是由 National Institute of Standards and Technology (NIST) 建立的零信任架構所提供。此模型可讓您強制執行嚴格的安全態勢,需要每位嘗試存取系統、網路和資料的使用者進行驗證。

您可以整合 OCI Identity and Access ManagementOCI API Gateway ,以實現 PDP 和 PEP 之間的區隔。

識別與存取管理 (IAM)

Oracle Cloud 提供名為 OCI Identity and Access Management 的企業級身分識別即服務 (IDaaS) 平台。OCI Identity and Access Management 使用識別網域佈建雲端識別、使用者和安全應用程式。您可以將 OCI Identity and Access Management 與識別網域作為 PDP,藉由定義精細原則來允許或拒絕存取各種雲端資源或服務。

識別平台可同時作為雲端服務的前門,並為企業使用者與消費者提供獨立的身分識別即服務 (IDaaS) 平台。此平台針對在 Oracle Cloud、第三方雲端和您的內部部署資料中心執行的應用程式和服務,提供重要的身分識別管理功能。OCI Identity and Access Management 為 Oracle Cloud 和 Oracle 和非 Oracle 應用程式 (不論是 SaaS、雲端代管或內部部署) 提供認證、單一登入 (SSO) 和識別生命週期管理。IAM 也可讓您控制使用者群組所具備的存取類型,以及對哪些特定雲端資源進行存取。

API 閘道

Oracle Cloud 以安全第一的設計方法建置服務。透過此方法, OCI API 閘道之類的服務可讓您建立資料存取原則,只允許授權的使用者或應用程式存取整個企業的資料。

OCI API 閘道服務可讓您為多個後端建立受管控的 HTTP/S 介面 (API),包括 Oracle Cloud 服務 (例如 OCI Load BalancingOCI FunctionsOCI Compute 執行處理,以及透過 VPN 或 OCI FastConnect 連線至 Oracle Cloud 的內部部署應用程式。OCI API 閘道提供原則強制執行功能,例如 HTTP/S 端點的速率限制、身分識別提供者的認證,以及存取雲端和內部部署中的多個 RESTful 服務。

OCI API 閘道可確保呼叫程式經過認證,因此無法匿名呼叫連線至閘道的後端。OCI API 閘道也可以檢查授權,並允許您將 HTTP 和 HTTP/S URL 新增至後端服務,以透過原則強制授予這些服務前端存取權。您為後端服務指定的 HTTP/S URL 可以是下列其中一項:

  • Oracle Cloud 服務的 URL (例如 OCI FunctionsOCI Object Storage)
  • 您專用或內部網路中透過 VPN 或 OCI FastConnect 連線至 OCI 的服務 URL

架構

此架構設計描述 OCI Identity and Access ManagementOCI API Gateway 之間的整合。在此架構中, OCI API Gateway 會藉由強制實行原則作為 PEP,而 OCI Identity and Access Management 會藉由授權權杖以及授予授權使用者的存取權,作為 PDP。此整合運用 JWT 或 JSON Web 權杖 (也稱為存取權杖)。JWT 是一種開放的產業標準,可讓您與其他 IAM 系統整合。

下圖說明此參照架構。

zero-trust-pdp-pep-oci.png 的描述如下
zero-trust-pdp-pep-oci.png 圖解描述

零信任 -pdp-pep-oci-oracle.zip

下列步驟說明使用 OCI API 閘道OCI Identity and Access Management 的架構授權流程:
  1. 產生存取權杖

    一般使用者的從屬端應用程式會使用 IAM API 從 OCI Identity and Access Management (PDP) 產生 JWT 存取記號。

  2. 使用存取權杖 (JWT) 呼叫

    JWT 存取記號會傳送至 OCI API 閘道,作為每個 API 呼叫之 HTTP 要求標頭的一部分。或者,記號可以包含特別為資源定義的範圍。

  3. 使用 IAM 進行原則驗證和 JWT 驗證

    OCI API Gateway (PEP) 會呼叫 IAM 授權 API 並傳送從用戶端收到的存取權杖。

  4. 政策決定

    OCI Identity and Access Management 服務 (PDP) 會評估記號並傳回允許或拒絕的決策。

  5. 授予後端的存取權

    OCI API 閘道 (PEP) 會根據 IAM 原則決策的結果,授予或拒絕後端服務 (例如 Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)、 OCI FunctionsOCI Object Storage 或 VM 中執行之應用程式公開的服務端點) 的存取。

  6. 回應 (200 OK / 403 禁止)

    OCI API Gateway (PEP) 會將狀態 200 OK (允許) 或 403 Forbidden (拒絕) 傳回給呼叫者。

您可以使用 OCI 主控台或 GUI 和 REST 呼叫來設定此整合的實行。

此架構具有下列元件:

  • API 閘道

    OCI API 閘道服務可讓您發布內含可從您網路存取之專用端點的 API,並且視需要公開給公用網際網路。端點支援 API 驗證、要求與回應轉換、CORS、認證與授權,以及要求限制。

  • 識別與存取管理 (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的存取控制層。IAM API 和使用者介面可讓您管理識別網域和識別網域內的資源。每個 OCI IAM 識別網域都代表一個獨立的識別和存取管理解決方案,或是不同的使用者群體。

    IAM 可讓您控制誰能夠存取 OCI 中的資源,以及他們可以在這些資源上執行的作業。

  • 原則

    Oracle Cloud Infrastructure Identity and Access Management 原則指定誰可以存取哪些資源以及存取方式。存取權是在群組和區間層次授予,這表示您可以編寫原則,讓群組在特定區間或租用戶中擁有特定類型的存取權。

  • Kubernetes 的容器引擎

    Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) 是一項完全託管、可擴展且高可用性的服務,可用來將容器化應用程式部署至雲端。您可以指定應用程式所需的運算資源,而 Container Engine for Kubernetes 則會在現有租用戶的 Oracle Cloud Infrastructure 上佈建這些資源。Container Engine for Kubernetes 使用 Kubernetes 將跨主機叢集的容器化應用程式部署、擴展和管理自動化。

  • 功能

    Oracle Cloud Infrastructure Functions 是一個完全託管的多租戶,可高度擴展,可隨選函數即服務 (FaaS) 平台。它由 Fn Project 開放原始碼引擎提供技術支援。函數可讓您部署程式碼,並直接呼叫或觸發程式碼以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。

  • 物件儲存

    物件儲存可讓您快速存取各種內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料,以及豐富的內容 (例如影像和影片)。您可以安全地儲存資料,然後直接從網際網路或雲端平台內擷取資料。您可以無縫擴充儲存體,而不會發生效能或服務可靠性降低的情況。針對快速、立即且經常存取的「熱」儲存體,使用標準儲存體。將封存儲存用於保留很長一段時間、極少或極少存取的「冷」儲存。

建議

使用下列建議作為起點。您的需求可能與此處描述的架構不同。
  • 安全

    使用 Oracle Cloud Guard 主動監控及維護 Oracle Cloud Infrastructure (OCI) 中資源的安全性。Oracle Cloud Guard 使用偵測器處方,您可以定義這些處方來檢查資源是否有安全漏洞,以及監控操作員和使用者是否有危險的活動。偵測到組態錯誤或不安全的活動時,Oracle Cloud Guard 會建議更正動作,並根據您可以定義的回應器處方協助採取這些動作。

    對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與以最佳做法為基礎之 Oracle 定義的安全原則處方關聯的區間。舉例來說,安全區域中的資源不得從公用網際網路存取,而必須使用客戶管理的金鑰加密。當您在安全區域中建立及更新資源時,OCI 會根據安全區域處方中的原則驗證作業,並拒絕違反任何原則的作業。

  • 雲端保全

    複製並自訂 Oracle 提供的預設處方,以建立自訂偵測器和回應器處方。這些處方可讓您指定哪些類型的安全違規會產生警告,以及允許對它們執行哪些動作。例如,您可能會想要偵測可見性設為公用 OCI Object Storage 儲存桶。

    在租用戶層級套用 Oracle Cloud Guard 以涵蓋最廣泛的範圍,並降低維護多個組態的管理負擔。

    您也可以使用「受管理清單」功能,將特定組態套用至偵測器。

注意事項

實作此參考架構時,請考量下列事項:

  • 使用者啟動設定和存取控制

    當客戶被授予存取資料和後端服務的權限時,他們如何佈建到 Oracle Cloud Infrastructure Identity and Access Management (驗證資料)?撤銷其存取權時,如何取消佈建?這些考量將作為有關如何及向誰提供貨幣化資料產品的廣泛討論的一部分。

  • 效能

    Oracle Cloud Infrastructure API Gateway 可與外部快取伺服器 (例如 Redis 或 KeyDB 伺服器) 整合,以支援回應快取,進而避免在後端服務上造成不必要的負載。使用快取回應時,類似的要求會透過從回應快取擷取資料來完成,而不是將要求傳送至後端服務。這可減少後端服務的負載,有助於提升效能及降低成本。

    OCI API 閘道也會根據認證權杖的存留時間 (TTL) 快取,以減少身分識別提供者的負載並提升效能。

  • 安全

    Oracle Cloud Infrastructure (OCI) 服務使用 OCI Identity and Access Management 原則,例如允許 OCI API Gateway 呼叫函數。OCI API 閘道也可以使用 OAuth 認證和授權來控制存取。認證和授權可以透過 OCI Identity and Access Management 聯合,它提供 OCI API Gateway 對各種服務和認證設定的認證能力。

  • 高可用性

    請考慮根據您的部署需求和區域使用高可用性選項。這些選項包括將資源分散到區域中的多個可用性網域,以及將資源分配到可用性網域內的容錯域。容錯域可為在單一可用性網域內部署的工作負載提供最佳復原能力。若要在應用程式層中提供高可用性,請在不同的容錯域中部署應用程式伺服器,然後使用負載平衡器在應用程式伺服器之間分配從屬端流量。

認可

作者

  • Subba Bhamidipati