使用具備 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 閘道,您將獲得:
- 安全存取控制:閘道使用機密從屬端證明資料強制透過 OAuth2 進行認證,確保只有信任的要求才傳送到您的金鑰管理程式。
- TLS 終止和憑證管理:輕鬆管理 SSL/TLS 憑證,啟用 OCI 與 Thales CipherTrust Manager 之間的安全加密通訊。
- 網路隔離: OCI API Gateway 會抽象化您 Thales CipherTrust Manager 的直接存取權限,允許暴露於較嚴格的專用端點和嚴格的安全原則。
- 可稽核性和可觀察性:透過整合的 API 呼叫記錄和監控功能,深入瞭解關鍵使用狀況和存取嘗試。
- 擴展性與彈性:將 OCI 外部 KMS 整合邏輯與 Thales CipherTrust Manager 後端脫鉤,讓您的架構經得起未來的考驗,並視需要更輕鬆地交換元件、套用更新或新增中介軟體。
在本教學課程的 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:複查雲端網路架構。
- 作業 2:設定所有位置的 OCI 網域名稱服務 (DNS)。
- 工作 3:建立 OCI API 閘道的憑證。
- 作業 4:使用 CA 組合上傳已簽署的 OCI API 閘道憑證。
- 作業 5:從防火牆 / 安全清單 / 網路安全群組的角度,確定允許專用端點與 OCI API 閘道通訊。
- 工作 6:建立 OCI API 閘道。
- 作業 7:使用 FQDN 詳細資訊建立 API 部署。
- 工作 8:建立機密資源應用程式和關聯的機密從屬端應用程式 (應用程式整合),並在 OCI 中收集從屬端和加密密碼。
- 工作 9:從 OCI 收集識別網域 URL。
- 工作 10:在 Thales CipherTrust Manager 中建立身分識別提供者。
- 工作 11:在 Thales CipherTrust Manager 中新增 Oracle 租用戶。
- 工作 12:建立 OCI 外部金鑰管理程式服務的專用端點。
- 工作 13:在 Thales CipherTrust Manager 中新增外部保存庫。
- 工作 14:建立 OCI 外部金鑰管理服務保存庫。
- 工作 15:在 Thales CipherTrust Manager 中新增外部金鑰。
- 工作 16:在 OCI 中建立金鑰參照。
- 作業 17:使用客戶管理的金鑰建立 OCI 物件儲存的儲存桶。
- 工作 18:封鎖和解除封鎖 Oracle 金鑰,並測試 Thales CipherTrust Manager 和 OCI 中的物件儲存的儲存桶輔助功能。
下圖說明此教學課程中所有步驟的元件和組態設定。
工作 1:複習雲端網路架構
使用 Thales CipherTrust Manager 深入瞭解設定自備金鑰 (HYOK) 的技術步驟之前,必須先瞭解此設定所在的雲端網路架構。
在此案例中,會使用三個 OCI 區域:
- 兩個 OCI 區域會模擬內部部署資料中心。這些區域透過代表混合環境的 VPN 通道連線至 OCI。
- 第三個 OCI 區域代表主要 OCI 環境,並採用軸輻式虛擬雲端網路 (VCN) 架構。在本設計中:
- 中樞 VCN 會代管共用網路服務 (例如防火牆)。
- 多個支點 VCN 會連線至中樞並代管各種工作負載。
兩個模擬的內部部署資料中心之間的連線是使用遠端對等互連連線 (RPC) 建立。不過,在本教學課程中,VPN 設定、RPC 組態和軸輻式 VCN 架構詳細資訊已不在範圍內,因此不會涵蓋在內。
-
若要設定模擬資料中心之 OCI 的 VPN 連線,請參閱設定兩個 OCI 區域之間具有靜態路由的 Oracle Cloud Infrastructure Site-to-Site VPN 。
-
若要設定 OCI 區域之間的 RPC 連線,請參閱設定兩個用戶與其動態路由閘道之間的 RPC 連線。
-
若要設定 OCI 中心和支點 VNC 網路架構,請參閱在 Hub VCN 中使用 pfSense 防火牆的路由中心和支點 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。
-
FRA 中樞 VCN 的專用檢視應該如下所示:
我們有兩個選項可從支點 A VCN 啟用 DNS 解析、為支點 A 設定個別的專用檢視,或將 hub VCN 的專用檢視與支點 A 建立關聯。
在此設定中,我們將使用後者方法,將中樞專用檢視與支點 A VCN 建立關聯。
-
登入 OCI 主控台,瀏覽至虛擬雲端網路並選取網輻 A VCN 。
-
按一下 DNS 解析器。
-
向下捲動。
-
按一下管理專用檢視。
-
選取 Hub VCN 專用檢視,然後按一下儲存變更。
-
請注意, Hub VCN 專用檢視現在與網輻 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 AMS 主控台」,導覽至 CA 並按一下 CSR 產生器。
-
輸入下列資訊,然後按一下產生 CSR 並下載私密金鑰。
- 選取一般 CSR 。
- 一般名稱 (CN):輸入 Thales CipherTrust Manager 的 FQDN。例如,
oci-api-gw.oci-thales.lab
。- 顯示名稱:輸入名稱。例如,
OCI API Gateway
。 - 演算法:選取 RSA 。
- 大小:選取 2048 。
- 顯示名稱:輸入名稱。例如,
- 主旨替代名稱 (SAN):也在此包括 FQDN。例如,
oci-api-gw.oci-thales.lab
。
-
請注意,私密金鑰將會自動下載。
-
按一下下載 CSR ,即可下載並儲存產生的
.csr
檔案。 -
請確定 CSR 和私密金鑰都儲存在資料夾中。
-
重新命名 CSR 和私密金鑰。
-
導覽至 CA ,按一下本機,然後選取 CA。
-
按一下上傳 CSR 。
-
在上傳外部產生的 CSR 中,輸入下列資訊。
- 顯示名稱:輸入 OCI API Gateway 的 FQDN。例如,
oci-api-gw.oci-thales.lab
。 - 在 CSR 欄位中複製所產生 CSR 的內容。
- 憑證用途:選取伺服器。
- 按一下簽發憑證。
- 顯示名稱:輸入 OCI API Gateway 的 FQDN。例如,
-
按一下已簽署憑證項目結尾的三個點,然後按一下下載以下載 OCI API Gateway 的已簽署憑證。
-
請確定已簽署的憑證儲存在相同的 CSR 和私密金鑰資料夾中。
-
重新命名簽署的憑證 。
除了簽署個別的 Thales CipherTrust Manager 憑證之外, CA 根憑證也是信任鏈的重要部分。此根憑證可建立您 Thales CipherTrust Manager 發出之所有憑證 (作為憑證授權機構 (CA)) 的信任基礎。
-
導覽至 CA ,然後按一下本機。按一下 CTM AMS CA 結尾的三個點,然後按一下下載以下載 CTM AMS CA 的根 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 主控台,瀏覽至 Identity & Security ,然後按一下 CA 組合。
-
按一下建立 CA 組合。
-
在建立 CA 組合中,輸入下列資訊。
- 輸入名稱。例如,
thales-ca
。 - 選取一個 PEM 檔案。
- 輸入名稱。例如,
-
選取 AMS CTM1 CA 的根 CA 憑證,然後按一下開啟。
-
請注意 AMS CTM1 CA 的根 CA 憑證內容,然後按一下建立。
-
請注意,「CA 組合」已建立。
現在,讓我們上傳 OCI API Gateway 的已簽署憑證。
-
前往 OCI 主控台,瀏覽至身分識別與安全,然後按一下憑證。
-
按一下建立憑證。
-
在基本資訊中,輸入下列資訊。
- 選取憑證類型作為已匯入。
- 輸入憑證名稱。例如,
8-oci-api-gw.oci-thales.lab
。 - 按下一步。
-
按下一步。
-
按一下上傳檔案,然後上傳 OCI API Gateway 的已簽署憑證檔案。
-
按一下上傳檔案,然後上傳 AMS 中 CTM1 的根憑證檔案。
-
按一下上傳檔案,然後上傳已簽署 OCI API 閘道的對應私密金鑰檔案。
-
按下一步。
-
按下一步。
-
複查摘要 (Summary) 區段,然後按一下建立憑證 (Create Certificate) 。
-
請複查摘要,然後按一下檢視憑證詳細資訊。
-
請注意,憑證為使用中。
備註:如果憑證上傳失敗,可能是因為產生 CSR 時使用的演算法所致。OCI 不接受使用 ECDSA 演算法的憑證。為了解決此問題,我們使用成功運作的 RSA 演算法重新產生 CSR。
上傳之後,此憑證即可連附至您的 API 閘道部署,讓它能夠對 OCI 外部 KMS 之類的 OCI 服務呈現信任的身分識別。此工作對於在 Oracle 與您的外部金鑰管理程式之間啟用安全、憑證式的信任非常重要。
作業 5:確定允許專用端點與來自防火牆 / 安全清單 / 網路安全群組的 OCI API 閘道通訊
在部署 OCI API 閘道或測試 OCI 與 Thales CipherTrust Manager 之間的整合之前,請務必確保 OCI 外部 KMS 使用的專用端點與 OCI API 閘道之間的網路連線。
注意:
OCI 中不會自動允許相同子網路內的流量。即使專用端點和 OCI API 閘道位於相同的子網路中,您還是必須明確允許安全清單或網路安全群組中它們之間的流量。
例如,若要允許同一子網路中資源之間的 HTTPS 流量,您必須建立一個允許來自子網路 CIDR 區塊之 TCP 連接埠 443 流量的 ingress 規則。
-
前往 OCI 主控台,瀏覽至網路,然後按一下虛擬雲端網路。
-
按一下支點 A VCN 。
-
向下捲動。
-
按一下網輻 A VCN 的專用子網路。這是 OCI 外部 KMS 的專用端點,以及 OCI API 閘道的 IP 位址的 VCN。
-
向下捲動。
-
按一下連附至子網路的預設安全清單。
-
按一下新增傳入規則。
-
若要設定傳入規則 1 ,請輸入下列資訊,然後按一下新增傳入規則。
- 來源類型:選取 CIDR 。
- 來源 CIDR:輸入
172.16.1.0/24
。 - IP 協定:選取所有協定。
-
請注意,傳入安全清單規則已經新增至安全清單。
注意:如果 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-GW
。 - 類型:選取專用。
- VCN:選取可連線至 Thales CipherTrust Manager 的 VCN。
- 子網路:選取具有 Thales CipherTrust Manager 存取權的專用子網路。
- 輸入名稱。例如,
-
選取先前上傳的憑證 (
8-oci-api-gw.oci-thales.lab
),然後按一下建立閘道。 -
請注意,已建立 OCI API 閘道。
注意:如果 OCI API Gateway 部署無法透過設定的後端 URL 連線至 Thales CipherTrust Manager,則可能會失敗。若要避免此情況,請確定:
- OCI API Gateway 的專用子網路與 Thales CipherTrust Manager 之間已正確設定路由。
- 安全清單或網路安全群組 (NSG) 允許從 API 閘道子網路到 CTM 的 HTTPS (TCP 連接埠 443) 流量。
- Thales CipherTrust Manager 的 FQDN 可透過設定的專用 DNS 正確解析。
部署期間無法存取的後端將會導致狀況檢查失敗,因而導致部署錯誤或非作用中狀態。
此 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 閘道。
-
按一下建立部署。
-
在建立部署中,輸入下列資訊。
- 選取從頭開始。
- 輸入名稱。例如,
API-GW-DEPLOYMENT
。 - 路徑前置碼:輸入
/api/v1/cckm/oci/ekm/v1
。 - 按下一步。
-
認證:選取沒有認證。
-
按下一步。
-
在路由 1 區段中,輸入下列資訊,然後按下一步。
- 路徑:輸入
/{path*}
。 - 方法:選取
GET
、POST
。 - 後端類型:選取後端類型為 HTTP ,然後將 URL 指定為
https://**<your-ctm-fqdn>**/api/v1/cckm/oci/ekm/v1/${request.path[path]}
。
- 路徑:輸入
-
按一下建立。
-
請注意,已建立 API 部署。按一下該按鈕。
-
請注意,API 部署為 ACTIVE 。
部署啟用後,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 無法驗證或安全地與外部金鑰來源通訊。
下圖說明此步驟中的元件與組態設定。
-
請登入 OCI 主控台,瀏覽至 Identity & Security 並按一下網域。
-
按一下要用於認證的網域。
-
按一下整合的應用程式和新增應用程式。
-
選取機密應用程式,然後按一下啟動工作流程。
-
輸入應用程式名稱 (
Resource_App
),然後按一下下一步。 -
在資源伺服器組態段落中,輸入下列資訊。
- 選取現在設定此應用程式為資源伺服器。
- 在主要對象中,輸入
https://172.16.1.103/
(API 閘道的 IP 位址)。
-
在新增範圍中,輸入下列資訊。
- 選取新增範圍。
- 按一下新增。
- 在範圍中,輸入
oci_ekms
。 - 按一下新增。
-
記下新增的範圍
oci_ekms
並向下捲動。 -
在從屬端組態區段中,輸入下列資訊。
- 選取立即將此應用程式設定為從屬端。
- 選取從屬端證明資料。
- 按下一步。
-
按一下略過並稍後執行,略過建立 Web 層原則,然後按一下完成。
-
移至整合應用程式頁面。
- 請注意,
Resource_App
整合應用程式已建立。 - 選取
Resource_App
整合應用程式。 - 按一下動作下拉式功能表。
- 按一下啟用。
- 請注意,
-
按一下啟動應用程式。
-
按一下
Resource_App
整合應用程式。 -
向下捲動。
-
複製用戶端 ID 並將它儲存在記事本上。按一下顯示加密密碼以顯示從屬端加密密碼。
-
按一下複製以複製從屬端加密密碼,並將它儲存在記事本中。按一下關閉。
-
按一下新增應用程式。
-
選取機密應用程式,然後按一下啟動工作流程。
-
輸入應用程式名稱 (
Client_App
),然後按一下下一步。 -
在資源伺服器組態中,選取略過稍後再試。
-
在用戶端組態中,輸入下列資訊。
- 選取立即將此應用程式設定為從屬端。
- 選取從屬端證明資料。
- 向下捲動。
-
在新增範圍中,輸入下列資訊。
- 選取新增資源。
- 選取新增範圍。
- 在範圍中,輸入
Resource_App
。 - 按一下新增。
-
記下新增的資源
Resource_App
,然後按一下下一步。 -
按一下略過並稍後執行,略過建立 Web 層原則,然後按一下完成。
-
移至整合應用程式頁面。
- 請注意,
Client_App
整合應用程式已建立。 - 選取
Client_App
整合應用程式。 - 按一下動作下拉式功能表。
- 按一下啟用。
- 請注意,
-
按一下啟動應用程式。
-
按一下
Client_App
整合應用程式。 -
向下捲動。
-
複製用戶端 ID 並將它儲存在記事本上。按一下顯示加密密碼以顯示從屬端加密密碼。
-
按一下複製以複製從屬端加密密碼,並將它儲存在記事本中。按一下關閉。
注意:
- 您已收集
Resource_App
和Client_App
從屬端 ID 和從屬端加密密碼。- 請勿將這兩者混合,並在適當位置進行設定。
工作 9:從 OCI 收集識別網域 URL
若要在 OCI 與 Thales CipherTrust Manager 之間啟用以 OAuth 為基礎的通訊,您必須在設定 Thales CipherTrust Manager 中的身分識別提供者時提供識別網域 URL 。
-
前往 OCI 主控台,瀏覽至 Identity & Security ,然後按一下網域。
-
選取建立機密應用程式的識別網域。
-
在網域詳細資料頁面中,按一下複製以複製網域 URL ,並將其儲存在記事本中。
工作 10:在 Thales CipherTrust Manager 中建立身分識別提供者
在此任務中,您將在 Thales CipherTrust Manager 中設定身分識別提供者。此設定可讓 Thales CipherTrust Manager 使用在 Task 3 中建立的 OAuth 2.0 證明資料向 OCI 進行認證。
下圖說明此任務中的元件與組態設定。
-
在 Thales CipherTrust Manager 中,前往 AMS 中的 CTM1,然後按一下產品和雲端金鑰管理程式。
-
按一下 KMS 容器 (Oracle 保存庫 ),選取外部保存庫,然後按一下新增身分識別提供者。
-
在新增身分識別提供者中,輸入下列資訊,然後按一下新增。
- 輸入名稱 (
OCI
)。 - 選取 OpenID 組態 URL 作為提供者驗證程式。
- 輸入 OpenID 組態 URL ,即在任務 3 中複製的網域 URL。
- 將下列字尾新增至 URL:
.well-known/openid-configuration
。因此,完整的 OpenID 組態 URL 將會是:https://idcs-<xxx>.identity.oraclecloud.com:443/.well-known/openid-configuration
。
- 將下列字尾新增至 URL:
- 選取 jwks Protected URL 。
- 輸入
Resource_App
整合應用程式的用戶端 ID 和用戶端密碼。
- 輸入名稱 (
-
請注意,身分識別提供者已建立。
工作 11:在 Thales CipherTrust Manager 中新增 OCI 租用戶
在 Thales CipherTrust Manager 中設定身分識別提供者之後,下一個作業正在註冊您的 OCI 租用戶。這可讓 Thales CipherTrust Manager 使用先前設定的 OAuth 證明資料代替您的 OCI 環境管理外部保存庫和金鑰。
下圖說明此任務中的元件與組態設定。
-
首先,必須從 OCI 取得租用戶的名稱和 OCID。按一下右上角的設定檔,然後按一下租用戶。
-
複製用戶的名稱和用戶的 OCID 並同時儲存在記事本上。
-
前往「Thales Cloud 金鑰管理程式主控台」。
- 按一下 KMS 容器。
- 按一下 Oracle 保存庫。
- 按一下租用戶。
- 按一下新增租用戶。
-
在新增租用戶中,輸入下列資訊。
- 選取 Oracle 租用戶 (無連線) 作為方法。
- 輸入從 OCI 收集之租用戶的名稱。
- 輸入從 OCI 收集的租用戶 OCID 。
- 按一下新增。
-
請注意,OCI 租用戶已新增至 Thales CipherTrust Manager。
工作 12:在 OCI 中建立外部金鑰管理程式服務的專用端點
若要安全地將 OCI 連線至 Thales CipherTrust Manager 而不會對公用網際網路公開流量,您必須為 OCI 外部金鑰管理服務建立專用端點。
這可確保 OCI 與 Thales CipherTrust Manager 之間的所有通訊都會透過受專用的受控網路路徑進行。
請確定符合下列先決條件:
- 必須透過您的專用網路設定,才能從 OCI 連線 Thales CipherTrust Manager。例如,透過 VPN。
- 確定子網路具有路由和安全規則,允許流量傳送至 Thales CipherTrust Manager 執行處理。
下圖說明此任務中的元件與組態設定。
-
在 OCI 主控台中,瀏覽至識別與安全性,然後按一下專用端點。
-
前往專用端點,然後按一下建立專用端點。
-
在建立專用端點中,輸入下列資訊。
- 輸入專用端點名稱 (
Private-Endpoint-For-Vault
)。 - 選取此專用端點所在的 VCN 和子網路。
- 輸入外部金鑰管理程式的專用 IP 位址作為
172.16.1.103
API 閘道的 IP 位址。 - 輸入連接埠作為
443
。 - 上傳外部金鑰管理 CA 組合,然後按一下瀏覽。
- 輸入專用端點名稱 (
-
我們選取了此教學課程中建立的完整鏈結憑證:在 OCI 中設定 2 個 Thales CipherTrust 雲端金鑰管理程式設備、在它們之間建立叢集及設定 1 個憑證授權機構,但是您只能選取 CA 根憑證。按一下開啟。
-
確定已選取 Thales CipherTrust Manager 的憑證、根 CA 或完整鏈憑證。按一下建立。
-
請注意,專用端點已建立。現在,按一下專用端點。
-
請注意,已設定專用端點的 IP 位址。
工作 13:在 Thales CipherTrust Manager 中新增外部 Vault
有了 OCI 租用戶和專用端點,下一個工作就是在 Thales CipherTrust Manager 中新增外部保存庫。Thales CipherTrust Manager 中的外部保存庫是對應至 OCI 中外部金鑰管理保存庫的邏輯容器,可讓 Thales CipherTrust Manager 管理用於 HYOK 加密的金鑰。
下圖說明此任務中的元件與組態設定。
-
前往 Thales Cloud 金鑰管理程式主控台。
- 按一下 KMS 容器。
- 按一下 Oracle 保存庫。
- 選取外部保存庫。
- 按一下新增外部保存庫。
-
在新增外部保存庫中,輸入下列資訊。
- 輸入名稱 (
OCI
)。 - 選取 Oracle 租用戶 (無連線) 作為方法。
- 選取「任務 5」中的租用戶建立。
- 選取發照者,即在「任務 4」中建立的身分識別提供者。
- 向下捲動。
- 輸入
Client_App
整合應用程式的 Client ID 。 - 將端點 URL 主機名稱輸入為
172.16.1.103
,也就是 API 閘道的 IP 位址。 - 輸入連接埠作為
443
。 - 按一下新增。
- 輸入名稱 (
-
請注意,已設定外部 Vault。複製外部 Vault URL,並將其儲存在記事本上。
設定之後,此保存庫會成為儲存 OCI 服務所參照之外部金鑰的目標位置。它會橋接您的 OCI 環境和 CipherTrust 管理的金鑰,讓您可以完全控制 HYOK 模型中的加密作業。
工作 14:建立 OCI 外部金鑰管理服務保存庫
現在已經在 Thales CipherTrust Manager 中定義外部保存庫,下一個工作是在 OCI 主控台中建立對應的外部金鑰管理保存庫。
此 OCI 保存庫將連結至您的 Thales CipherTrust Manager,並由 OCI 服務使用外部金鑰執行加密和解密作業。
下圖說明此任務中的元件與組態設定。
-
從任務 9 擷取網域 URL ,您需要在 OCI 中設定外部金鑰保存庫。
-
在 OCI 主控台中,前往身分識別與安全性,然後按一下外部金鑰管理。
-
按一下建立保存庫。
-
在建立保存庫中,輸入下列資訊。
- 輸入名稱 (
OCI_EKMS_Vault
)。 - 輸入 IDCS 帳戶名稱 URL ,即從任務 7 複製的網域 URL。因此,完整的 URL 為:
https://idcs-<xxx>.identity.oraclecloud.com:443/
。 - 輸入
Client_App
整合應用程式的從屬端 ID 和從屬端應用程式加密密碼。 - 向下捲動。
- 選取在任務 6 中建立的專用端點。
- 輸入在 CTM1 上建立外部保存庫時,從工作 7 複製的外部保存庫 URL。
- 按一下建立保存庫。
- 輸入名稱 (
-
請注意,已建立 Vault。現在,按一下 Vault。
-
複查保存庫詳細資訊。
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 中產生新金鑰,或匯入現有金鑰。
下圖說明此任務中的元件與組態設定。
-
前往「Thales Cloud 金鑰管理程式主控台」。
- 按一下雲端金鑰。
- 按一下 Oracle 。
- 按一下新增鍵值。
-
在新增 Oracle 金鑰中,輸入下列資訊。
- 選取 Oracle External (HYOK) 。
- 選取在任務 8 中建立的 Thales CipherTrust Manager Vault 。
- 選取來源為 CipherTrust (本機)。
- 按下一步。
-
在來源索引鍵中,輸入下列資訊。
- 選取要建立新金鑰的來源金鑰資料。
- 輸入金鑰名稱 (
CM_Key
)。 - 按下一步。
-
在設定 Oracle 金鑰中,輸入下列資訊。
- 輸入 Oracle 金鑰名稱 (
CM_Key
)。 - 按下一步。
- 輸入 Oracle 金鑰名稱 (
-
按一下新增鍵值。
-
按一下關閉。
-
記下建立的金鑰。
新增金鑰之後,OCI 便可透過外部金鑰管理保存庫使用金鑰。不過,若要允許 OCI 服務使用金鑰,您必須在 OCI 主控台中建立一個金鑰參照,我們將涵蓋在下一個工作中。
注意:
- 這些按鍵絕對不會離開 Thales CipherTrust Manager。
- OCI 只會將加密 / 解密要求傳送給外部金鑰管理程式,確保您永遠完全掌控金鑰資料。
工作 16:在 OCI 中建立主要參照
外部金鑰建立或匯入「Thales CipherTrust 管理程式」之後,下一個工作就是在 OCI 主控台中建立金鑰參照。金鑰參照可作為指標,讓 OCI 服務能夠透過外部金鑰管理保存庫存取並使用儲存在 Thales CipherTrust Manager 中的外部金鑰。
下圖說明此任務中的元件與組態設定。
-
前往「Thales Cloud 金鑰管理程式主控台」。
- 按一下雲端金鑰。
- 按一下 Oracle 。
- 按一下在「工作 15」中建立的索引鍵。
-
請注意,金鑰將會有外部金鑰 ID ,請複製此 ID。
-
返回在任務 9 中建立的 OCI 中的 Vault,然後按一下 Vault。
-
向下捲動。
-
按一下建立金鑰參照。
-
在建立金鑰參照中,輸入下列資訊。
- 輸入名稱 (
OCI_Key_Reference
)。 - 輸入複製的外部金鑰 ID (Thales CipherTrust Manager) 金鑰。
- 按一下建立金鑰參照。
- 輸入名稱 (
-
請注意,已建立索引鍵參考。
OCI 現在會將此金鑰參照與 Thales CipherTrust Manager 中管理的外部金鑰關聯。這可讓 OCI 服務 (例如 OCI 物件儲存、OCI 區塊磁碟區及其他) 透過專用端點將加密要求傳送至外部金鑰。相反地,關鍵材料本身仍完全受您的控制。
我們會將金鑰參照附加到 OCI Object Storage 貯體,以確認整合如預期般運作,藉此立即測試金鑰參照。
工作 17:使用客戶管理的金鑰建立 OCI 物件儲存的儲存桶
您可以使用 OCI 中參照的外部金鑰來加密資源。在這項任務中,我們將建立一個 OCI Object Storage 貯體,該貯體使用透過外部金鑰管理保存庫託管於 Thales CipherTrust Manager 上的外部客戶管理金鑰。
此設定可確保儲存貯體中儲存的所有物件都使用完全控制的金鑰進行加密,並滿足嚴格的合規性、主權或內部政策要求。
下圖說明此任務中的元件與組態設定。
-
前往 OCI 主控台,瀏覽至儲存,然後按一下儲存桶。
-
按一下建立儲存桶 (Bucket) 。
-
在建立儲存桶中,輸入下列資訊。
- 輸入名稱 (
OCI_EKMS_Test_Bucket
)。 - 向下捲動。
- 在加密中,選取使用客戶管理金鑰加密。
- 在保存庫中,選取您在任務 8 中建立的外部金鑰管理保存庫。
- 在索引鍵中,選取在任務 16 中建立的索引鍵參考。
- 按一下建立。
- 輸入名稱 (
-
請注意,系統會建立儲存桶。按一下儲存桶。
-
您可以向下捲動以上傳檔案,或將檔案保留空白。
-
瀏覽至 OCI 主控台或任何其他頁面的首頁畫面。
建立儲存桶之後,將會使用 Thales CipherTrust Manager 管理的外部金鑰加密其中儲存的所有資料。這樣可確保 OCI 依賴您的關鍵基礎架構來進行存取與控制,並啟用完整的「保留您自己的金鑰 (HYOK)」功能。
假設外部金鑰無法使用 (例如停用或封鎖於 Thales CipherTrust Manager)。在此情況下,系統將拒絕存取儲存桶及其內容,為您的資料安全態勢提供強大的控制點。這是我們將在下一個任務中測試的項目。
工作 18:封鎖和解除封鎖 Oracle 金鑰,並測試 Thales CipherTrust Manager 和 OCI 中的 OCI Object Storage 貯體輔助功能
「保留您自己的金鑰 (HYOK)」模型的其中一個主要優點是可以對加密金鑰保有完整的作業控制權,包括隨時封鎖或解除封鎖這些金鑰的功能。本節示範如何使用 Thales CipherTrust Manager 透過封鎖或解除封鎖外部金鑰來控制對 Oracle 管理之物件儲存的儲存桶的存取。
封鎖金鑰會有效地限制對使用該金鑰加密的任何 OCI 資源的存取,而不刪除金鑰或資料。取消封鎖回復存取。
-
前往「Thales Cloud 金鑰管理程式主控台」。
- 按一下雲端金鑰。
- 按一下 Oracle 。
- 按一下索引鍵結尾的三個點。
- 選取封鎖。
-
選取封鎖。
-
請注意,此金鑰目前在 Thales CipherTrust Manager 中為封鎖。
-
前往 OCI 主控台,瀏覽至儲存體,然後按一下儲存桶。
-
按一下「任務 17」中建立的分組。
-
請注意,您現在將發生錯誤,無法存取儲存桶或儲存桶中上傳的任何檔案。
現在,讓我們再次解除封鎖 Thales CipherTrust Manager 中的金鑰。
下圖說明此作業中的元件與組態設定。
-
前往「Thales Cloud 金鑰管理程式主控台」。
- 按一下雲端金鑰。
- 按一下 Oracle 。
- 按一下金鑰結尾的三個點。
- 選取解除封鎖。
-
選取解除封鎖。
-
請注意,現在 Thales CipherTrust Manager 中的金鑰將被解除封鎖。
-
回瀏覽至分組明細頁面,如果您還在該頁面上,請重新整理瀏覽器。
-
請注意,取消封鎖時,您無法重新存取 OCI Object Storage 貯體。
此功能為緊急應變、法規遵循和資料主權實施提供了強大的機制,確保您可以完全掌控資料在 OCI 中的存取時間和方式。
接下來的步驟
完成本教學課程後,您已順利使用具備 OCI API 閘道整合選項的 Thales CipherTrust Manager 設定 OCI 保留您自己的金鑰解決方案。
您有:
- 設計並驗證支援的網路架構。
- 使用安全的 DNS 和 TLS 設定部署並設定 OCI API 閘道。
- 使用機密應用程式和身分識別提供者,建立 OCI 與 Thales CipherTrust Manager 之間的相互信任。
- 整合式 Thales CipherTrust Manager 管理的外部金鑰與 OCI Vault,並透過金鑰封鎖和解除封鎖測試存取控制。
此設定中使用 OCI API 閘道提供安全且可擴展的整合點,可強制執行驗證、增強可觀察性,並將您的金鑰管理程式抽象化在控制介面後,以確保合規性、控制性及彈性。
此架構可確保加密金鑰從未儲存在 OCI 內或管理,並在需要時仍可供安全作業使用,以滿足嚴格的資料主權、合規性和法規要求。
您現在已配備生產就緒藍圖,可在 OCI 中啟用外部金鑰管理,並擁有加密資產的完整所有權、可見性和控制權。
相關連結
確認
- 作者 - Iwan Hoogendoorn (雲端網路黑帶)
其他學習資源
在 docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Set up an OCI Hold Your Own Key using Thales CipherTrust Manager with OCI API Gateway
G38196-03
Copyright ©2025, Oracle and/or its affiliates.