使用 Hyper Protect Crypto Services 進行伺服器端加密
您可以使用 Hyper Protect Crypto Services 來建立、新增及管理金鑰,然後可以與 IBM® Cloud Object Storage 的實例相關聯來加密儲存區。
此特性目前在 Object Storage for Satellite中不受支援。 進一步瞭解。
開始之前
在計劃將 Hyper Protect Crypto Services 與 Cloud Object Storage 儲存區搭配使用之前,您需要:
- IBM Cloud™ Platform 帳戶
- 具有 標準 定價方案的 IBM Cloud Object Storage 實例。
您需要確保使用 IBM Cloud 型錄 建立服務實例,並授與適當的許可權。 本節概述協助您開始使用的逐步指示。
佈建 Hyper Protect Crypto Services 的實例
如需如何佈建和設定適當服務實例的指示,請參閱服務特定產品頁面。
擁有 Hyper Protect Crypto Services的實例之後,您需要建立根金鑰,並記下該金鑰的 CRN (雲端資源名稱)。 在建立儲存區期間,會在標頭中傳送 CRN。
在建立儲存區以與 Hyper Protect Crypto Services搭配使用之前,請檢閱 有關可用性及災難回復的相關指引。
在 Hyper Protect Crypto Services 中建立或新增金鑰
導覽至 Hyper Protect Crypto Services 實例,然後起始設定服務實例。 在建立主要金鑰後,產生或輸入根金鑰。
授與服務授權
授權 Hyper Protect Crypto Services 與 IBM COS 搭配使用:
- 開啟 IBM Cloud 儀表板。
- 從功能表列,按一下管理 > 存取權 (IAM)。
- 在側邊導覽中,按一下授權。
- 按一下 建立 以建立授權。
- 在來源服務功能表中,選取 Cloud Object Storage。
- 在來源服務實例功能表中,選取要授權的服務實例。
- 在目標服務功能表中,選取 Hyper Protect Crypto Services。
- 在目標服務實例功能表中,選取要授權的服務實例。
- 啟用讀者角色。
- 按一下授權。
建立儲存區
當您的金鑰存在於 Hyper Protect Crypto Services 中且您已授權服務與 IBM COS 搭配使用時,現在您可以將金鑰與新的儲存區相關聯:
- 導覽至 Object Storage 實例。
- 按一下建立儲存區。
- 選取 自訂儲存區。
- 輸入儲存區名稱,選取備援 (目前僅支援「地區」及「美國跨地區」),然後選擇位置及儲存空間類別。
- 在 服務整合中,切換 已停用金鑰管理 以啟用加密金鑰管理,然後按一下 使用現有實例。
- 選取相關聯的服務實例及金鑰,然後按一下 關聯金鑰。
- 請驗證資訊是否正確。
- 按一下建立。
您可以選擇使用 Hyper Protect Crypto Services 僅在建立時管理儲存區的加密。 無法將現有儲存區變更為使用 Hyper Protect Crypto Services。
如果儲存區建立失敗,並傳回 400 Bad Request錯誤和The Key CRN could not be found 訊息,則請確保 CRN 正確,以及服務到服務授權原則存在。
在 Buckets 清單中,儲存區現在在 Attributes 下具有 視圖 鏈結,指出儲存區已啟用 Hyper Protect Crypto Services 金鑰。 若要檢視金鑰詳細資料 (以及其他物件 meta 資料),請按一下 View。
請注意,針對使用 Hyper Protect Crypto Services 遺囑 加密的物件所傳回的 Etag 值,是原始解密物件的實際 MD5 雜湊。
也可以使用 REST API 或 SDK (Go、 Java、Node.js 或 Python)。
建立跨區域儲存區
從 Hyper Protect Crypto Services 實例使用根金鑰建立 COS 跨區域儲存區,需要該實例 配置失效接手配置。
您可以使用 IBM Cloud 主控台或 CLI,確認已正確配置所選取 Hyper Protect Crypto Services 實例的失效接手。
從 IBM Cloud 主控台導覽至 Hyper Protect Crypto Services 實例,然後按一下 概觀。 「失效接手」區段將指出對應失效接手區域中加密單位的狀態。
請確定失效接手區段存在,所有驗證檢查都是綠色的,且該 Hyper Protect Crypto Services 實例沒有警告。 如果您看到任何錯誤或警告,或失效接手區段不存在,請參閱 Hyper Protect Crypto Services 文件以取得進一步指引。
您也可以使用 CLI 來列出屬於目標資源群組之所有實例的所有加密單位:
ibmcloud tke cryptounits
若要取得所選取實例的加密單位狀態,請建立與該實例相關聯的加密單位清單,並比較它們:
ibmcloud tke cryptounit-add
選取單元之後,您可以檢查其驗證型樣:
ibmcloud tke cryptounit-compare
請確定所有都有效且具有相同的驗證型樣。
驗證失效接手配置是否存在之後,您可以繼續使用該 Hyper Protect Crypto Services 實例中的金鑰來建立「跨區域」儲存區。
如果在具有 Hyper Protect Crypto Services 根金鑰的美國跨地區中建立「跨地區」儲存區失敗,並產生 500 錯誤,則建議使用者在重新嘗試建立儲存區之前,先檢查該 Hyper Protect Crypto Services 實例的失效接手配置狀態 (使用上述詳細說明的方法)。
金鑰生命週期管理
Hyper Protect Crypto Services 提供各種方式來管理加密金鑰的生命週期。 如需詳細資料,請參閱 Hyper Protect Crypto Services 文件。
替換金鑰
金鑰替換是降低資料外洩風險的重要部分。 如果金鑰遺失或遭洩漏,則定期變更金鑰可降低潛在的資料流失。 金鑰替換的頻率會依組織而不同,取決於若干變數(例如環境、已加密資料量、資料分類及規範法律)。 國家標準與技術機構(NIST) 提供適當金鑰長度的定義,並提供應該使用金鑰多久的準則。
如需相關資訊,請參閱 Hyper Protect Crypto Services 中的輪替金鑰說明文件。
停用及重新啟用金鑰
身為管理者,您可能需要 暫時停用根金鑰,如果懷疑您的資料可能有安全漏洞、危害或侵害。 當您停用根金鑰時,會暫停其加密及解密作業。 確認安全風險不再處於作用中之後,您可以啟用已停用的根金鑰來重新建立資料的存取權。
刪除金鑰及加密消除
加密消除 (或加密解構) 是 刪除加密金鑰 而非資料本身,將加密資料呈現為無法讀取的方法。 當 在 Hyper Protect Crypto Services 中刪除根金鑰 時,它會影響使用該根金鑰所建立之任何儲存區中的所有物件,有效地「解構」資料,並防止進一步讀取或寫入儲存區。 此處理程序不是即時的,但會在刪除金鑰之後大約 90 秒內發生。
雖然無法讀取加密解構儲存區中的物件,且無法寫入新物件,但現有的物件會繼續耗用儲存體,直到使用者刪除它們為止。
還原已刪除的金鑰
身為管理者,您可能需要 還原已匯入 至 Hyper Protect Crypto Services 的根金鑰,以便您可以存取金鑰先前所保護的資料。 當您還原金鑰時,您會將金鑰從「已毀損」移至「作用中」金鑰狀態,並還原先前使用金鑰所加密之任何資料的存取權。 這必須在刪除金鑰的 30 天內發生。
如果刪除使用者原先上傳的金鑰,然後使用不同的金鑰資料進行還原,則它 將導致資料遺失。 建議將 n-5 金鑰保存在某處,以確保有正確的金鑰資料可供還原。
活動追蹤
當刪除、旋轉、暫停、啟用或還原 Hyper Protect Crypto Services 根金鑰時,除了 Hyper Protect Crypto Services所記載的任何事件之外,還會產生 Activity Tracker 管理事件 (cloud-object-storage.bucket-key-state.update)。
如果在金鑰上的生命週期動作中發生伺服器端失敗,COS 不會記載該失敗。 如果 Hyper Protect Crypto Services 在傳送事件後四小時內未從 COS 收到事件處理成功,則 Hyper Protect Crypto Services 會記載失敗。
cloud-object-storage.bucket-key-state.update 動作由在 Hyper Protect Crypto Services中發生的事件觸發,並且需要儲存區已向 Hyper Protect Crypto Services 服務登錄。 使用 Hyper Protect Crypto Services 根金鑰建立儲存區時,會自動進行此登錄。
在 2020 年 2 月 26th之前建立的儲存區未向 Hyper Protect Crypto Services 服務登錄,此時將不會收到加密金鑰生命週期事件的通知。 透過執行 儲存區清單作業 並查看建立儲存區的日期,可以識別這些儲存區。
若要確保這些儲存區具有來自 Hyper Protect Crypto Services的最新金鑰狀態,建議對每一個受影響儲存區中的物件 執行部分資料作業,例如 PUT、GET 或 HEAD。
建議執行物件作業兩次 (至少間隔一小時),以確保金鑰狀態適當地與 Hyper Protect Crypto Services 狀態同步。
如需物件儲存體之 Activity Tracker 事件的相關資訊,請參閱參考主題。