使用具備 OCI API 閘道的 Thales CipherTrust Manager 設定 OCI 保留您自己的金鑰

簡介

本教學課程提供使用 Oracle Cloud Infrastructure (OCI) API Gateway 選項,與 Thales CipherTrust Manager (CTM) 設定「保留您自己的金鑰 (HYOK)」的逐步指示。

圖像

HYOK 可讓您在外部託管加密金鑰至 Oracle 的基礎架構之外,保留對加密金鑰的完整所有權和控制權,同時允許 Oracle 服務安全地使用。在此設定中,OCI API Gateway 在 Oracle Cloud Infrastructure External Key Management Service (OCI External KMS) 與 Thales CipherTrust Manager 執行處理之間扮演重要角色,作為安全、可管理且可擴展的橋接器。

為什麼要使用 OCI API Gateway?

透過在 OCI 外部 KMS 和 Thales CipherTrust Manager 之間插入 OCI API 閘道,您將獲得:

在本教學課程的 rest 中,您將使用外部金鑰設定所有必要的基礎架構元件,包括網路、DNS、憑證管理、識別同盟,最後再與 OCI Vault 和 OCI Object Storage 整合。

圖像

本教學課程以教學課程中所建立的 technical foundation 為基礎:在 OCI 中設定 2 個 Thales CipherTrust 雲端金鑰管理程式設備、在它們之間建立叢集,以及將 One 設定為憑證授權機構

如果您想要使用不含 OCI API 閘道選項的 Thales CipherTrust Manager 實行保留自己的金鑰 (HYOK) ,請依照本教學課程進行:使用不含 API 閘道的 CipherTrust Manager 設定 OCI 保留您自己的金鑰 (HYOK)

注意:在本教學課程中,Thales CipherTrust Cloud Key Manager (CCKM) 和 Thales CipherTrust Manager (CTM) 等術語會互換使用。兩者皆指的是相同產品。

目標

圖像

下圖說明此教學課程中所有步驟的元件和組態設定。

圖像

工作 1:複習雲端網路架構

使用 Thales CipherTrust Manager 深入瞭解設定自備金鑰 (HYOK) 的技術步驟之前,必須先瞭解此設定所在的雲端網路架構。

在此案例中,會使用三個 OCI 區域:

兩個模擬的內部部署資料中心之間的連線是使用遠端對等互連連線 (RPC) 建立。不過,在本教學課程中,VPN 設定、RPC 組態和軸輻式 VCN 架構詳細資訊已不在範圍內,因此不會涵蓋在內。

本教學課程著重於使用部署在阿姆斯特丹 (AMS) 區域 (模擬的內部部署資料中心) 的 Thales CipherTrust Manager 設定 HYOK。所有金鑰管理作業都將從此 Thales CipherTrust Manager 執行處理執行。

外部金鑰管理程式專用讓 OCI 能夠安全地與外部 Thales CipherTrust Manager 通訊,並將部署在主要 OCI 區域的其中一個網輻 VCN 中。這可確保 OCI 服務與外部金鑰管理程式之間的安全直接通訊路徑,而不會向公用網際網路公開流量。

此架構透過在定義完善且安全的網路界限內隔離金鑰管理,支援 OCI 中機密工作負載的強式安全與規範態勢。

下圖說明完整的架構。

圖像

工作 2:設定所有位置的 OCI DNS

為了確保 OCI、API 閘道和 Thales CipherTrust Manager 之間的通訊正確,您必須使用 OCI 主控台中的專用 DNS 區域為所有相關元件設定 DNS 解析。

下圖說明此任務中的元件與組態設定。

圖像

已在此教學課程中設定 AMS 和 ASH 的 OCI DNS,請參閱在 OCI 中設定 2 Thales CipherTrust Cloud Key Manager 設備、在它們之間建立叢集,以及設定 1 作為憑證授權機構。使用相同的教學課程來設定 FRA Hub VCN 中的 DNS。

我們有兩個選項可從支點 A VCN 啟用 DNS 解析、為支點 A 設定個別的專用檢視,或將 hub VCN 的專用檢視與支點 A 建立關聯。

在此設定中,我們將使用後者方法,將中樞專用檢視與支點 A VCN 建立關聯。

正確的 DNS 設定是 OCI 與 Thales CipherTrust Manager 之間相互 TLS、OAuth 認證及可靠連線的重要基礎。

請先再次檢查您的 DNS 區域關聯和名稱解析,再繼續進行憑證組態設定。

工作 3:建立 OCI API 閘道的憑證

若要在 OCI 與 Thales CipherTrust Manager 之間啟用安全 TLS 通訊,OCI API Gateway 必須提供受信任的 SSL 憑證。在此設定中,會先在 CTM1 憑證授權機構 (CA) 上產生憑證簽署要求 (CSR) ,然後使用相同的 CA 簽署憑證來建立憑證。

憑證簽署之後,就會上傳到 OCI 並附加到 OCI API Gateway,讓該憑證能夠提供受內部系統信任的加密流量。下圖說明建立 OCI API 閘道之簽署憑證的步驟。 圖像

僅在 AMS CTM 上執行這些步驟。

除了簽署個別的 Thales CipherTrust Manager 憑證之外, CA 根憑證也是信任鏈的重要部分。此根憑證可建立您 Thales CipherTrust Manager 發出之所有憑證 (作為憑證授權機構 (CA)) 的信任基礎。

此憑證稍後將會連附至 OCI API 閘道部署,讓 OCI 能夠使用您環境內發行且受信任的憑證,透過 HTTPS 與 Thales CipherTrust Manager 安全地進行通訊。

工作 4:使用 CA 組合上傳已簽署的 OCI API 閘道憑證

使用 CTM1 Certificate Authority (CA) 產生並簽署 OCI API 閘道憑證之後,下一個作業是在 OCI 中上傳此憑證,以與 OCI API 閘道部署建立關聯。

這可確保使用內部憑證授權機構透過信任和加密的 TLS 連線,與 OCI API 閘道 (例如 OCI 外部 KMS 的要求) 進行任何通訊。

首先,請先上傳根 CA 憑證。

現在,讓我們上傳 OCI API Gateway 的已簽署憑證。

備註:如果憑證上傳失敗,可能是因為產生 CSR 時使用的演算法所致。OCI 不接受使用 ECDSA 演算法的憑證。為了解決此問題,我們使用成功運作的 RSA 演算法重新產生 CSR。

上傳之後,此憑證即可連附至您的 API 閘道部署,讓它能夠對 OCI 外部 KMS 之類的 OCI 服務呈現信任的身分識別。此工作對於在 Oracle 與您的外部金鑰管理程式之間啟用安全、憑證式的信任非常重要。

作業 5:確定允許專用端點與來自防火牆 / 安全清單 / 網路安全群組的 OCI API 閘道通訊

在部署 OCI API 閘道或測試 OCI 與 Thales CipherTrust Manager 之間的整合之前,請務必確保 OCI 外部 KMS 使用的專用端點與 OCI API 閘道之間的網路連線。

注意:

圖像

注意:如果 OCI API 閘道在部署期間無法透過其 FQDN 連線 Thales CipherTrust Manager,則可能無法變成作用中。因此,確保專用端點與 OCI API 閘道之間的網路路徑是成功整合 HYOK 的重要先決條件。

作業 6:建立 OCI API 閘道

上傳簽署的 TLS 憑證之後,下一個任務是建立 OCI API 閘道,作為 OCI 與您的 Thales CipherTrust Manager 通訊的安全進入點。

此 OCI API Gateway 稍後將設定為使用其完整網域名稱 (FQDN) 將要求遞送至 CTM,並使用上傳的 TLS 憑證強制進行安全通訊。

下圖說明此任務中的元件與組態設定。

圖像

注意:如果 OCI API Gateway 部署無法透過設定的後端 URL 連線至 Thales CipherTrust Manager,則可能會失敗。若要避免此情況,請確定:

部署期間無法存取的後端將會導致狀況檢查失敗,因而導致部署錯誤或非作用中狀態。

此 OCI API 閘道稍後將用於部署中,以顯示 OCI 外部 KMS 可呼叫的端點。閘道可作為 OCI 與 Thales CipherTrust Manager 之間的安全認證代理主機,強制執行 TLS 和識別驗證。

作業 7:使用 FQDN 詳細資訊建立 API 部署

現在已建立 OCI API 閘道並已建立憑證,下一個任務是建立 API 部署。這定義閘道的路由行為,特別是 OCI 外部 KMS 的內送要求如何使用其內部 FQDN 轉送至您的 Thales CipherTrust Manager。

部署橋接 OCI 和 Thales CipherTrust Manager,處理入埠要求的路徑式路由和 TLS 終止。

下圖說明此任務中的元件與組態設定。

圖像

部署啟用後,OCI API Gateway 可安全地將 OCI 中已驗證的要求轉送至您的 Thales CipherTrust Manager。此處的 FQDN 組態非常重要,請確定它符合 Thales CipherTrust Manager 憑證中的通用名稱 (CN) SAN ,並透過 DNS 正確解析。

此部署將作為 OCI 外部 KMS 呼叫與 Thales CipherTrust Manager 中代管之外部金鑰互動的金鑰端點。

工作 8:建立機密資源應用程式、關聯機密從屬端應用程式 (應用程式整合) 以及收集 OCI 中的從屬端和加密密碼

若要啟用與 Thales CipherTrust Manager 的 HYOK 整合,您必須建立 OCI 與外部金鑰管理程式之間的信任。

這是透過在 OCI Identity and Access Management (OCI IAM) 中註冊兩個主要元件來完成的:機密資源應用程式機密從屬端應用程式。這些功能對於驗證和授權 OCI 與 Thales CipherTrust Manager 之間的通訊至關重要。

此設定可讓 Thales CipherTrust Manager 透過 OAuth 2.0 向 OCI IAM 進行認證。機密用戶端代表外部金鑰管理程式採取行動,而機密資源則定義存取與信任組態的範圍。沒有這些元件,OCI 無法驗證或安全地與外部金鑰來源通訊。

下圖說明此步驟中的元件與組態設定。

圖像

注意:

工作 9:從 OCI 收集識別網域 URL

若要在 OCI 與 Thales CipherTrust Manager 之間啟用以 OAuth 為基礎的通訊,您必須在設定 Thales CipherTrust Manager 中的身分識別提供者時提供識別網域 URL

工作 10:在 Thales CipherTrust Manager 中建立身分識別提供者

在此任務中,您將在 Thales CipherTrust Manager 中設定身分識別提供者。此設定可讓 Thales CipherTrust Manager 使用在 Task 3 中建立的 OAuth 2.0 證明資料向 OCI 進行認證。

下圖說明此任務中的元件與組態設定。

圖像

工作 11:在 Thales CipherTrust Manager 中新增 OCI 租用戶

在 Thales CipherTrust Manager 中設定身分識別提供者之後,下一個作業正在註冊您的 OCI 租用戶。這可讓 Thales CipherTrust Manager 使用先前設定的 OAuth 證明資料代替您的 OCI 環境管理外部保存庫和金鑰。

下圖說明此任務中的元件與組態設定。

圖像

工作 12:在 OCI 中建立外部金鑰管理程式服務的專用端點

若要安全地將 OCI 連線至 Thales CipherTrust Manager 而不會對公用網際網路公開流量,您必須為 OCI 外部金鑰管理服務建立專用端點

這可確保 OCI 與 Thales CipherTrust Manager 之間的所有通訊都會透過受專用的受控網路路徑進行。

請確定符合下列先決條件:

下圖說明此任務中的元件與組態設定。

圖像

工作 13:在 Thales CipherTrust Manager 中新增外部 Vault

有了 OCI 租用戶和專用端點,下一個工作就是在 Thales CipherTrust Manager 中新增外部保存庫。Thales CipherTrust Manager 中的外部保存庫是對應至 OCI 中外部金鑰管理保存庫的邏輯容器,可讓 Thales CipherTrust Manager 管理用於 HYOK 加密的金鑰。

下圖說明此任務中的元件與組態設定。

圖像

設定之後,此保存庫會成為儲存 OCI 服務所參照之外部金鑰的目標位置。它會橋接您的 OCI 環境和 CipherTrust 管理的金鑰,讓您可以完全控制 HYOK 模型中的加密作業。

工作 14:建立 OCI 外部金鑰管理服務保存庫

現在已經在 Thales CipherTrust Manager 中定義外部保存庫,下一個工作是在 OCI 主控台中建立對應的外部金鑰管理保存庫

此 OCI 保存庫將連結至您的 Thales CipherTrust Manager,並由 OCI 服務使用外部金鑰執行加密和解密作業。

下圖說明此任務中的元件與組態設定。

圖像

OCI 現在將使用指定的專用端點連線至您的 Thales CipherTrust Manager。此保存庫處於作用中狀態後,OCI 會透過此介面與 CCKM 管理的外部金鑰互動,啟用對 OCI 物件儲存、OCI 區塊磁碟區等 OCI 服務的 HYOK 支援。稍後,我們將使用 OCI Object Storage 執行一些測試。

工作 15:新增 Thales CipherTrust Manager 中的外部金鑰

透過在 Thales CipherTrust Manager 中設定並連結至 OCI 的外部保存庫,下一個任務是建立或匯入 OCI 將用於啟用 HYOK 之服務的外部加密金鑰。

這些金鑰安全地位於 Thales CipherTrust Manager 內,並由 OCI 透過外部金鑰管理介面參照。視您的組織需求而定,您可以直接在 Thales CipherTrust Manager 中產生新金鑰,或匯入現有金鑰。

下圖說明此任務中的元件與組態設定。

圖像

新增金鑰之後,OCI 便可透過外部金鑰管理保存庫使用金鑰。不過,若要允許 OCI 服務使用金鑰,您必須在 OCI 主控台中建立一個金鑰參照,我們將涵蓋在下一個工作中。

注意:

工作 16:在 OCI 中建立主要參照

外部金鑰建立或匯入「Thales CipherTrust 管理程式」之後,下一個工作就是在 OCI 主控台中建立金鑰參照。金鑰參照可作為指標,讓 OCI 服務能夠透過外部金鑰管理保存庫存取並使用儲存在 Thales CipherTrust Manager 中的外部金鑰。

下圖說明此任務中的元件與組態設定。

圖像

OCI 現在會將此金鑰參照與 Thales CipherTrust Manager 中管理的外部金鑰關聯。這可讓 OCI 服務 (例如 OCI 物件儲存、OCI 區塊磁碟區及其他) 透過專用端點將加密要求傳送至外部金鑰。相反地,關鍵材料本身仍完全受您的控制。

我們會將金鑰參照附加到 OCI Object Storage 貯體,以確認整合如預期般運作,藉此立即測試金鑰參照。

工作 17:使用客戶管理的金鑰建立 OCI 物件儲存的儲存桶

您可以使用 OCI 中參照的外部金鑰來加密資源。在這項任務中,我們將建立一個 OCI Object Storage 貯體,該貯體使用透過外部金鑰管理保存庫託管於 Thales CipherTrust Manager 上的外部客戶管理金鑰。

此設定可確保儲存貯體中儲存的所有物件都使用完全控制的金鑰進行加密,並滿足嚴格的合規性、主權或內部政策要求。

下圖說明此任務中的元件與組態設定。

圖像

建立儲存桶之後,將會使用 Thales CipherTrust Manager 管理的外部金鑰加密其中儲存的所有資料。這樣可確保 OCI 依賴您的關鍵基礎架構來進行存取與控制,並啟用完整的「保留您自己的金鑰 (HYOK)」功能。

假設外部金鑰無法使用 (例如停用或封鎖於 Thales CipherTrust Manager)。在此情況下,系統將拒絕存取儲存桶及其內容,為您的資料安全態勢提供強大的控制點。這是我們將在下一個任務中測試的項目。

工作 18:封鎖和解除封鎖 Oracle 金鑰,並測試 Thales CipherTrust Manager 和 OCI 中的 OCI Object Storage 貯體輔助功能

「保留您自己的金鑰 (HYOK)」模型的其中一個主要優點是可以對加密金鑰保有完整的作業控制權,包括隨時封鎖或解除封鎖這些金鑰的功能。本節示範如何使用 Thales CipherTrust Manager 透過封鎖或解除封鎖外部金鑰來控制對 Oracle 管理之物件儲存的儲存桶的存取。

封鎖金鑰會有效地限制對使用該金鑰加密的任何 OCI 資源的存取,而不刪除金鑰或資料。取消封鎖回復存取。

圖像

現在,讓我們再次解除封鎖 Thales CipherTrust Manager 中的金鑰。

下圖說明此作業中的元件與組態設定。

圖像

此功能為緊急應變、法規遵循和資料主權實施提供了強大的機制,確保您可以完全掌控資料在 OCI 中的存取時間和方式。

接下來的步驟

完成本教學課程後,您已順利使用具備 OCI API 閘道整合選項的 Thales CipherTrust Manager 設定 OCI 保留您自己的金鑰解決方案。

您有:

此設定中使用 OCI API 閘道提供安全且可擴展的整合點,可強制執行驗證、增強可觀察性,並將您的金鑰管理程式抽象化在控制介面後,以確保合規性、控制性及彈性。

此架構可確保加密金鑰從未儲存在 OCI 內或管理,並在需要時仍可供安全作業使用,以滿足嚴格的資料主權、合規性和法規要求。

您現在已配備生產就緒藍圖,可在 OCI 中啟用外部金鑰管理,並擁有加密資產的完整所有權、可見性和控制權。

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center