本頁面說明 Cloud KMS 中的各類型資源。您可以進一步瞭解資源階層。
金鑰
Cloud KMS 金鑰是包含一個或多個金鑰版本的命名物件,以及金鑰的中繼資料。金鑰只會存在與特定位置相關聯的金鑰環中。
您可以使用 Identity and Access Management (IAM) 權限和角色,允許或拒絕存取金鑰。您無法管理金鑰版本的存取權。
停用或銷毀金鑰也會停用或銷毀每個金鑰版本。
以下各節將討論鍵的屬性。
視內容而定,鍵的屬性會以不同格式顯示。
- 使用 Google Cloud CLI 或 Cloud Key Management Service API 時,系統會以大寫字母字串的形式顯示該屬性,例如
SOFTWARE
。 - 使用 Google Cloud 主控台時,系統會以字串形式顯示屬性,並在開頭加上大寫字元,例如「Software」。
在以下各節中,我們會在適當的位置顯示每種格式。
類型
金鑰類型會決定金鑰是用於對稱式還是非對稱式密碼編譯作業。
在對稱式加密或簽署作業中,系統會使用相同的金鑰來加密及解密資料,或簽署及驗證簽名。
在非對稱式加密或簽署中,金鑰包含公開金鑰和私密金鑰。私密金鑰與對應的公開金鑰稱為金鑰組合。
- 私密金鑰屬於機密資料,視金鑰的設定用途而定,可能需要用於解密資料或簽署。
- 公開金鑰不屬於機密資料,但必須用於加密資料或驗證簽名,這取決於金鑰的設定用途。
金鑰類型是金鑰用途的其中一個元件,建立金鑰後就無法變更。
目的
金鑰用途會指出金鑰可用於哪種加密編譯作業,例如對稱式加密/解密或非對稱式簽署。您會在建立金鑰時選擇用途,而金鑰的所有版本都具有相同用途。建立金鑰後,就無法變更金鑰的用途。如要進一步瞭解金鑰用途,請參閱「金鑰用途」一文。
防護等級
金鑰的防護等級會決定金鑰的閒置儲存環境。防護等級為下列其中一種:
- 軟體 (
SOFTWARE
) - HSM (
HSM
) - 外部 (
EXTERNAL
) - External_VPC (
EXTERNAL_VPC
)
建立金鑰後,就無法變更金鑰的防護等級。
主要版本
金鑰可以同時啟用多個金鑰版本。對稱式加密金鑰具有主要金鑰版本,如果您未指定金鑰版本,系統會預設使用該金鑰版本加密資料。
非對稱金鑰沒有主要版本,因此您必須在使用金鑰時指定版本。
無論是對稱金鑰或非對稱金鑰,您都可以使用任何已啟用的金鑰版本來加密及解密資料,或簽署及驗證簽名。
金鑰版本
每個金鑰版本都包含用於加密或簽署的金鑰內容。每個版本都會指派一個版本號碼,從 1
開始。輪替金鑰會建立新金鑰版本。您可以進一步瞭解輪替金鑰。
如要解密資料或驗證簽章,您必須使用用於加密或簽署資料的相同金鑰版本。如要找出金鑰版本的資源 ID,請參閱「擷取金鑰的資源 ID」一文。
您可以停用或刪除個別金鑰版本,而不影響其他版本。您也可以停用或刪除特定金鑰的所有金鑰版本。
您無法獨立於金鑰有效權限之外,控制金鑰版本的存取權。授予金鑰存取權,即可存取該金鑰的所有已啟用版本。
基於安全性考量, Google Cloud 主要使用者無法查看或匯出以金鑰版本表示的原始加密編譯金鑰內容。而是由 Cloud KMS 代為存取金鑰內容。
下列各節將討論金鑰版本的屬性。
狀態
每個金鑰版本都有一個狀態,可讓您瞭解其狀態。通常金鑰的狀態會是下列其中一種:
- 已啟用
- 已停用
- 已安排刪除
- 已刪除
只有在啟用金鑰版本時,才能使用該版本。 金鑰版本處於已刪除狀態以外的任何狀態都會產生費用。 如要進一步瞭解金鑰版本狀態,以及版本如何在不同狀態之間轉換,請參閱「金鑰版本狀態」。
演算法
金鑰版本的演算法會決定金鑰內容的建立方式,以及加密編譯作業所需的參數。對稱金鑰和非對稱金鑰使用不同的演算法。加密和簽署使用不同的演算法。
如果您在建立新金鑰版本時未指定演算法,系統會使用先前版本的演算法。
無論使用何種演算法,Cloud KMS 都會使用機率加密,這麼一來,使用相同版本金鑰加密兩次的相同明文就不會傳回相同密文。
金鑰環
金鑰環會將金鑰分組並存放在特定位置 Google Cloud,讓您管理金鑰群組的存取權。金鑰圈的名稱在 Google Cloud 專案中不必不重複,但在特定位置內不得重複。建立後,就無法刪除鑰匙圈。 金鑰環不會產生任何費用。 如需可用位置清單,請參閱「Cloud KMS 位置」。
按鍵手把
金鑰句柄是 Cloud KMS 資源,可協助您安全地跨職責分離,使用 Autokey 為 CMEK 建立新的 Cloud KMS 金鑰。在資源專案中建立金鑰句柄,會觸發在金鑰專案中建立 Cloud KMS 金鑰,以便設定隨選 CMEK。
金鑰句柄會保留已建立 Cloud KMS 金鑰的參照。您可以從金鑰句柄擷取 Autokey 建立的金鑰 Cloud KMS 資源 ID。基礎架構即程式碼工具 (例如 Terraform) 可搭配金鑰句柄使用,無須提升權限即可管理受 CMEK 保護的資源。
金鑰控制代碼不會顯示在 Google Cloud 主控台中,但如果要將 Autokey 與 REST API 或 Terraform 搭配使用,就必須使用金鑰控制代碼。如要進一步瞭解如何使用金鑰句柄,請參閱「使用 Cloud KMS Autokey 建立受保護的資源」一文。
Autokey 設定
Autokey 設定是資料夾層級資源,可定義是否為資料夾啟用 Autokey。Autokey 設定也定義了 Cloud KMS Autokey 建立的金鑰要使用哪個金鑰專案,以保護該資料夾中的資源。啟用 Autokey 後,您可以在資源資料夾中建立或更新 Autokey 設定。如要進一步瞭解如何使用 Autokey 設定,請參閱「啟用 Cloud KMS Autokey」。
EKM 連線
EKM 連線是一種 Cloud KMS 資源,可將虛擬私有雲連線整理至特定Google Cloud 位置的內部部署 EKM。透過 EKM 連線,您就能透過 VPC 網路連線至外部金鑰管理工具,並使用當中的金鑰。建立後,就無法刪除 EKM 連線。 EKM 連線不會產生任何費用。
擷取資源 ID
某些 API 呼叫和 gcloud CLI 可能會要求您使用資源 ID 參照金鑰環、金鑰或金鑰版本,這項 ID 是代表完整 CryptoKeyVersion 名稱的字串。資源 ID 是階層式結構,類似檔案系統路徑。金鑰的資源 ID 也包含金鑰環和位置的相關資訊。
物件 | 資源 ID 格式 |
---|---|
金鑰環 | projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING |
金鑰 | projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME |
金鑰版本 | projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION |
鍵值句柄 | projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE |
EKM 連線 | projects/PROJECT_ID/locations/LOCATION/ekmConnections/EKM_CONNECTION |
Autokey 設定 | folders/FOLDER_NUMBER/autopilotConfig |
詳情請參閱「取得 Cloud KMS 資源 ID」。
整理資源
規劃 Google Cloud專案中的資源時,請考量您的業務規則,以及您打算如何管理存取權。您可以授予單一金鑰、金鑰環中的所有金鑰,或專案中的所有金鑰存取權。以下是常見的組織模式:
- 依環境劃分,例如
prod
、test
和develop
。 - 依工作區域 (例如
payroll
或insurance_claims
)。 - 依據資料敏感度或特徵,例如
unrestricted
、restricted
、、
top-secret
。
資源生命週期
金鑰環、金鑰和金鑰版本無法刪除。這麼做可確保金鑰版本的資源 ID 是唯一的,且一律會指向該金鑰版本的原始金鑰內容,除非已遭到刪除。您可以儲存無限數量的金鑰環、已啟用或已停用的金鑰,以及已啟用、已停用或已刪除的金鑰版本。 詳情請參閱「定價」和「配額」。
如要瞭解如何刪除或還原金鑰版本,請參閱「刪除與還原金鑰版本」一文。
安排關閉 Google Cloud 專案後,除非依照步驟還原專案,否則將無法存取專案資源,包括 Cloud KMS 資源。