本頁面說明 Cloud KMS 中的各類資源。進一步瞭解資源階層。
金鑰
Cloud KMS 金鑰是具名物件,內含一或多個金鑰版本,以及金鑰的中繼資料。金鑰只會存在於與特定位置相關聯的金鑰環中。
您可以使用 Identity and Access Management (IAM) 權限和角色,允許及拒絕存取金鑰。您無法管理金鑰版本的存取權。
停用或刪除金鑰也會停用或刪除每個金鑰版本。
下列各節將討論金鑰的屬性。
視情況而定,金鑰的屬性會以不同格式顯示。
- 使用 Google Cloud CLI 或 Cloud Key Management Service API 時,這個屬性會顯示為大寫字母字串,例如
SOFTWARE。 - 使用 Google Cloud 控制台時,屬性會顯示為字串,且開頭為大寫,例如「Software」。
在下列各節中,我們會視情況顯示每種格式。
類型
金鑰類型會決定金鑰是用於對稱式還是非對稱式密碼編譯作業。
在對稱式加密或簽署中,加密和解密資料,或簽署和驗證簽章時,會使用相同的金鑰。
在非對稱式加密或簽署中,金鑰包含公開金鑰和私密金鑰。私密金鑰和對應的公開金鑰稱為金鑰組。
- 私密金鑰是機密資料,視金鑰的設定用途而定,解密資料或簽署時都需要用到私密金鑰。
- 公開金鑰不屬於機密資訊,但加密資料或驗證簽名時必須使用公開金鑰,具體視金鑰的設定用途而定。
金鑰類型是金鑰用途的其中一個元件,金鑰建立後就無法變更。
目的
金鑰用途是指金鑰可用於哪種加密編譯作業,例如「對稱式加密/解密」或「非對稱式簽署」。建立金鑰時,您可以選擇用途,且金鑰的所有版本用途都相同。金鑰建立後,就無法變更金鑰用途。如要進一步瞭解金鑰用途,請參閱金鑰用途一文。
防護等級
金鑰的防護等級會決定金鑰在閒置狀態下的儲存環境。防護等級包括:
- 軟體 (
SOFTWARE) - 多租戶 HSM (
HSM) - 單一租戶 HSM (
HSM_SINGLE_TENANT) - 外部 (
EXTERNAL) - External_VPC (
EXTERNAL_VPC)
金鑰建立後,就無法變更防護等級。
主要版本
金鑰可以同時啟用多個金鑰版本。對稱式加密金鑰有主要金鑰版本,如果您未指定金鑰版本,系統預設會使用這個版本加密資料。
非對稱金鑰沒有主要版本,使用金鑰時必須指定版本。
無論是對稱式或非對稱式金鑰,您都可以使用任何已啟用的金鑰版本加密及解密資料,或簽署及驗證簽章。
金鑰版本
每個金鑰版本都包含用於加密或簽署的金鑰材料。每個版本都會獲派版本號碼,從 1 開始。金鑰輪替會建立新的金鑰版本。進一步瞭解如何輪替金鑰。
如要解密資料或驗證簽章,您必須使用與加密或簽署資料時相同的金鑰版本。如要找出金鑰版本的資源 ID,請參閱「擷取金鑰的資源 ID」。
您可以停用或刪除個別金鑰版本,而不影響其他版本。您也可以停用或刪除特定金鑰的所有版本。
您無法獨立控管金鑰版本的存取權,必須依據金鑰的有效權限。授予金鑰存取權時,也會授予該金鑰所有已啟用版本的存取權。
基於安全性考量,任何 Google Cloud 主體都無法查看或匯出以金鑰版本表示的原始加密編譯金鑰內容。而是代表您存取金鑰內容。
下列各節將討論金鑰版本的屬性。
狀態
每個金鑰版本都有狀態,可讓您瞭解金鑰的狀態。金鑰的狀態通常為下列其中一種:
- 已啟用
- 已停用
- 已安排刪除
- 已刪除
金鑰版本必須啟用才能使用。 處於「已刪除」以外任何狀態的金鑰版本都會產生費用。 如要進一步瞭解金鑰版本狀態,以及版本如何在狀態間轉換,請參閱「金鑰版本狀態」。
演算法
金鑰版本的「演算法」會決定金鑰內容的建立方式,以及加密編譯作業所需的參數。對稱和非對稱金鑰使用不同的演算法。加密和簽署使用不同的演算法。
如果您在建立新金鑰版本時未指定演算法,系統會使用前一版本的演算法。
無論使用哪種演算法,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 控制台中,但如要搭配 REST API 或 Terraform 使用 Autokey,就必須使用金鑰控制代碼。如要進一步瞭解如何使用金鑰控制代碼,請參閱「使用 Cloud KMS Autokey 建立受保護的資源」。
Autokey 設定
自動金鑰設定是資料夾層級的資源,可定義是否為資料夾啟用自動金鑰。Autokey 設定也會定義 Cloud KMS Autokey 建立金鑰時使用的金鑰專案,以保護該資料夾中的資源。啟用 Autokey 時,您會在資源資料夾中建立或更新 Autokey 設定。如要進一步瞭解如何使用 Autokey 設定,請參閱「啟用 Cloud KMS Autokey」。
EKM 連線
EKM 連線是 Cloud KMS 資源,可將虛擬私有雲連線整理至特定Google Cloud 位置的地端 EKM。透過 EKM 連線,您可以使用虛擬私有雲網路連線至外部金鑰管理工具,並使用當中的金鑰。建立 EKM 連線後,就無法刪除。 EKM 連線不會產生任何費用。
擷取資源 ID
某些 API 呼叫和 gcloud CLI 可能需要您透過資源 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、confidential、top-secret。
資源生命週期
金鑰環、金鑰和金鑰版本無法刪除。這可確保金鑰版本的資源 ID 是專屬的,且一律指向該金鑰版本的原始金鑰內容 (除非已銷毀)。 您可以儲存的金鑰環、已啟用或停用的金鑰,以及已啟用、停用或刪除的金鑰版本數量不限。 詳情請參閱「定價」和「配額」。
如要瞭解如何刪除或還原金鑰版本,請參閱「刪除與還原金鑰版本」。
安排好關閉 Google Cloud 專案的時間表後,除非依照步驟還原專案,否則將無法存取包括 Cloud KMS 資源在內的專案資源。