本文將概略說明如何使用 Cloud Key Management Service (Cloud KMS) 管理客戶管理的加密金鑰 (CMEK)。使用 Cloud KMS CMEK 可讓您擁有及控管用於保護Google Cloud中靜態資料的金鑰。
CMEK 與 Google-owned and Google-managed encryption keys的比較
您建立的 Cloud KMS 金鑰是客戶管理金鑰。Google Cloud 使用您金鑰的服務會稱為CMEK 整合。 您可以直接管理這些 CMEK,也可以透過 Cloud KMS Autokey 進行管理。 下列因素可區分 Google Cloud的預設靜態資料加密功能與客戶管理金鑰:
金鑰類型 | Cloud KMS Autokey | Cloud KMS 客戶管理 (手動) | Google-owned and Google-managed encryption key (Google 預設加密機制) |
---|---|---|---|
可查看重要中繼資料 |
是 |
是 |
否 |
鍵的擁有權1 |
客戶 |
客戶 |
|
系統會自動建立及指派金鑰。完全支援客戶手動控制。 |
客戶,僅限手動控制 |
||
支援客戶自行管理金鑰的法規規定 |
是 |
是 |
否 |
共用車鑰 |
專屬於客戶 |
專屬於客戶 |
來自多位客戶的資料通常會受到共用金鑰加密金鑰 (KEK) 保護。 |
控制金鑰輪替 |
是 |
是 |
|
是 |
是 |
否 | |
是 |
是 |
否 |
|
透過加密技術實現邏輯資料分離 |
是 |
是 |
|
定價 |
多樣性 | 免費 |
1:金鑰擁有者是指擁有金鑰權利的對象。您擁有的金鑰存取權受到嚴格限制,或是 Google 沒有存取權。
2 管理鍵包括下列工作:
- 建立金鑰。
- 選擇金鑰的防護等級。
- 指派金鑰管理權限。
- 控管金鑰存取權。
- 控管金鑰的使用情形。
- 設定及修改金鑰的輪替週期,或觸發金鑰輪替。
- 變更鍵狀態。
- 刪除金鑰版本。
3 控管鍵,是指設定控管鍵類型和使用方式、偵測差異,以及視需要規劃修正動作。您可以控制金鑰,但將金鑰管理工作委派給第三方。
使用 Google-owned and Google-managed encryption keys的預設加密機制
所有儲存在 Google Cloud 的靜態資料,都會透過強化版金鑰管理系統進行加密。這個系統與 Google Cloud 加密自家資料時使用的系統相同,這些金鑰管理系統提供嚴格的金鑰存取控管和稽核機制,並使用 AES-256 加密標準加密靜態使用者資料。 Google Cloud 擁有並控管用於加密資料的金鑰。您無法查看或管理這些金鑰,也無法查看金鑰使用記錄。來自多位客戶的資料可能會使用相同的金鑰加密金鑰 (KEK)。不需要進行設定、調整或管理。
如要進一步瞭解 Google Cloud中的預設加密機制,請參閱「預設靜態資料加密」。由客戶管理的加密金鑰 (CMEK)
客戶管理的加密金鑰是您擁有的加密金鑰。這項功能可讓您進一步控管用於在支援的 Google Cloud 服務中加密靜態資料的金鑰,並為資料提供加密範圍。 您可以直接在 Cloud KMS 中管理 CMEK,也可以使用 Cloud KMS Autokey 自動佈建及指派。
支援 CMEK 的服務會提供 CMEK 整合功能。CMEK 整合是伺服器端加密技術,可取代Google Cloud的預設加密功能。設定 CMEK 後,資源服務代理程式會處理加密和解密資源的作業。由於整合了 Cloud KMS 的服務會處理加密資源的存取權,因此加密和解密作業可在透明化情況下進行,不必由使用者操作。存取資源的體驗類似於使用 Google Cloud的預設加密功能。如要進一步瞭解 CMEK 整合服務,請參閱「CMEK 整合服務提供的服務」。
每個金鑰可以使用無限的金鑰版本。
如要瞭解服務是否支援 CMEK,請參閱支援的服務清單。
使用 Cloud KMS 時,您需要支付與金鑰版本數量和這些金鑰版本的加密作業相關的費用。 如要進一步瞭解定價,請參閱「Cloud Key Management Service 定價」。無最低購買或承諾金額。
使用 Cloud KMS Autokey 的客戶管理加密金鑰 (CMEK)
Cloud KMS Autokey 可自動執行佈建及指派作業,簡化 CMEK 的建立和管理作業。使用 Autokey 時,系統會在建立資源時視需求產生金鑰環和金鑰,並自動授予使用金鑰進行加密和解密作業的服務代理人必要的 Identity and Access Management (IAM) 角色。
使用 Autokey 產生的金鑰,有助於您持續遵循業界標準和資料安全性建議做法,包括金鑰-資料位置對應、金鑰專用性、硬體安全性模組 (HSM) 防護等級、金鑰輪替時間表,以及職務分工。Autokey 建立的金鑰會遵循一般指南,以及與 Autokey 整合的 Google Cloud 服務所適用的資源類型專屬指南。使用 Autokey 建立的金鑰,其運作方式與其他設定相同的 Cloud HSM 金鑰相同,包括支援客戶自行管理金鑰的監管規定。如要進一步瞭解 Autokey,請參閱「Autokey 總覽」。
使用客戶自行管理的加密金鑰時機
您可以使用手動建立的 CMEK 或 Autokey 在相容服務中建立的金鑰,達成下列目標:擁有加密金鑰。
控管及管理加密金鑰,包括選擇位置、保護等級、建立、存取控制、輪替、使用和銷毀。
在 Cloud KMS 中產生金鑰內容,或匯入在 Google Cloud以外維護的金鑰內容。
設定金鑰的使用地點政策。
在離職或因應安全性事件 (加密碎片) 時,選擇性刪除由金鑰保護的資料。
建立及使用專屬於客戶的金鑰,為資料建立加密邊界。
符合現行或未來法規要求的任何目標。
CMEK 整合服務提供的內容
與 Google Cloud的預設加密方式一樣,CMEK 是伺服器端的對稱封套加密客戶資料。與 Google Cloud的預設加密功能不同,CMEK 保護措施會使用客戶控管的金鑰。使用 Autokey 手動或自動建立的 CMEK 在服務整合期間會以相同方式運作。
已整合 CMEK 的 Cloud 服務會使用您在 Cloud KMS 中建立的金鑰來保護資源。
與 Cloud KMS 整合的服務會使用對稱加密。
您可以選擇金鑰的防護等級。
所有金鑰都是 256 位元的 AES-GCM。
金鑰內容一律不會離開 Cloud KMS 系統範圍。
對稱金鑰會用於在封套加密模型中進行加密和解密。
使用 CMEK 整合服務追蹤金鑰和資源
受 CMEK 保護的資源會有一個中繼資料欄位,用來儲存用於加密該資源的金鑰名稱。一般來說,客戶會在資源中繼資料中看到這項資訊。
金鑰追蹤功能會告知您金鑰保護的資源,適用於支援金鑰追蹤的服務。
您可以依專案列出金鑰。
使用 CMEK 整合服務處理資源存取權
在整合 CMEK 的服務中建立或查看資源的使用者,不需要為用於保護資源的 CMEK 使用 Cloud KMS CryptoKey 加密者/解密者 (roles/cloudkms.cryptoKeyEncrypterDecrypter
)。
每個專案資源都有一個特殊的服務帳戶,稱為服務代理,可使用客戶自行管理的金鑰執行加密和解密作業。授予服務代理 CMEK 存取權後,該服務代理就會使用該金鑰保護您選取的資源。
如果要求者想存取使用客戶自行管理金鑰加密的資源,服務代理會自動嘗試解密要求的資源。如果服務代理人有權使用金鑰解密,且您未停用或銷毀金鑰,服務代理人就會提供金鑰的加密和解密用途。否則要求就會失敗。
不需要額外的請求者存取權,而且由於服務代理會在背景處理加密和解密作業,因此使用者存取資源的體驗與使用 Google Cloud的預設加密功能相似。
使用 Autokey 的 CMEK
對於您要使用 Autokey 的每個資料夾,都需要進行一次性設定程序。您可以選擇要使用 Autokey 支援的資料夾,以及 Autokey 用於儲存該資料夾金鑰的相關金鑰專案。如要進一步瞭解如何啟用 Autokey,請參閱「啟用 Cloud KMS Autokey」。
與手動建立 CMEK 相比,Autokey 不需要執行下列設定步驟:
主要管理員不必手動建立金鑰環或金鑰,也不必為負責加密及解密資料的服務代理指派權限。Cloud KMS 服務代理人會代為執行這些動作。
開發人員不必事先規劃,在建立資源前要求金鑰。他們可以視需要自行向 Autokey 索取金鑰,同時仍維持職務分工。
使用 Autokey 時,只有一個步驟:開發人員在建立資源時要求金鑰。傳回的鍵與指定的資源類型一致。
使用 Autokey 建立的 CMEK 會與手動建立的金鑰具有相同的行為,適用於下列功能:
整合 CMEK 的服務也會有相同的行為。
金鑰管理員可以透過 Cloud KMS 資訊主頁和金鑰使用情形追蹤功能,繼續監控所有建立及使用的金鑰。
組織政策在 Autokey 中的運作方式與手動建立的 CMEK 相同。
如需 Autokey 的總覽,請參閱「Autokey 總覽」。如要進一步瞭解如何使用 Autokey 建立受 CMEK 保護的資源,請參閱「使用 Cloud KMS Autokey 建立受保護的資源」一文。
手動建立 CMEK
手動建立 CMEK 時,您必須先規劃並建立金鑰環、金鑰和資源位置,才能建立受保護的資源。 接著,您可以使用金鑰保護資源。
如要瞭解啟用 CMEK 的具體步驟,請參閱相關Google Cloud 服務的說明文件。部分服務 (例如 GKE) 提供多個 CMEK 整合功能,可保護與該服務相關的不同類型資料。您可能需要按照下列步驟操作:
建立 Cloud KMS 金鑰環或選擇現有的金鑰環。建立鑰匙圈時,請選擇地理位置靠近您要保護的資源的位置。金鑰環可以與所保護的資源位於相同專案,也可以位於不同的專案。使用不同的專案可讓您更有效地控管 IAM 角色,並有助於實施職責區隔。
您可以在所選金鑰環中建立或匯入 Cloud KMS 金鑰。這個金鑰就是 CMEK。
您將 CMEK 的 CryptoKey Encrypter/Decrypter IAM 角色 (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) 授予服務的服務帳戶。建立資源時,請將資源設為使用 CMEK。舉例來說,您可以設定 BigQuery 資料表,保護資料表中靜態資料。
如要讓要求者存取資料,他們不需要直接存取 CMEK。
只要服務代理人具有 CryptoKey 加密者/解密者角色,服務就能加密及解密資料。如果您撤銷這個角色,或是停用或刪除 CMEK,就無法存取該資料。
CMEK 法規遵循
部分服務已整合 CMEK,可讓您自行管理金鑰。部分服務則提供 CMEK 相容性,也就是說,暫時性資料和暫時性金鑰絕不會寫入磁碟。如需整合和符合規範的服務完整清單,請參閱「CMEK 相容服務」。
金鑰使用情形追蹤
金鑰用途追蹤功能會顯示 Google Cloud 貴機構中由 CMEK 保護的資源。您可以使用金鑰使用情形追蹤功能,查看使用特定金鑰的受保護資源、專案和獨特 Google Cloud 產品,以及金鑰是否正在使用中。如要進一步瞭解金鑰使用情形追蹤功能,請參閱「查看金鑰使用情形」
CMEK 組織政策
Google Cloud 提供機構政策限制,有助於確保機構資源的 CMEK 使用情形一致。這些限制可讓機構管理員強制使用 CMEK,並指定用於 CMEK 保護的 Cloud KMS 金鑰的限制和控制項,包括:
後續步驟
- 請參閱支援 CMEK 整合的服務清單。
- 請參閱符合 CMEK 規範的服務清單。
- 請參閱可追蹤金鑰使用情形的資源類型清單。
- 請參閱Autokey 支援的服務清單。