金鑰版本狀態

金鑰版本的狀態如下:

  • 「仍未產生」(PENDING_GENERATION):(僅適用於非對稱金鑰)。這個金鑰版本仍在產生中,因此可能還無法使用、啟用、停用或刪除。只要版本準備就緒,Cloud Key Management Service 就會將狀態自動變更為已啟用。

  • 「待匯入」 (PENDING_IMPORT):(僅適用於匯入的金鑰)。這個金鑰版本仍在匯入中,因此可能還無法使用、啟用、停用或刪除。只要版本準備就緒,Cloud Key Management Service 就會將狀態自動變更為已啟用。

  • 「已啟用」(ENABLED):金鑰版本已準備就緒,可供使用。

  • 「已停用」 (DISABLED):這個金鑰版本可能無法使用,但金鑰內容仍可以使用,且版本可以重新啟用

  • 已安排刪除 (DESTROY_SCHEDULED):這個金鑰版本已安排刪除作業,即將遭到刪除;金鑰版本處於此狀態時,無法用於加密編譯作業,且使用金鑰的請求會失敗。金鑰版本可以在預定的刪除期間內還原為停用狀態。這個狀態對應至資料刪除管道中的第 2 階段:虛刪除

  • 已刪除 (DESTROYED):這個金鑰版本已遭到刪除,且金鑰內容不再儲存於 Cloud KMS 中。如果該金鑰版本曾用於非對稱式或對稱式加密,使用這個版本加密的任何密文都無法復原。如果該金鑰版本曾用於數位簽署,則您無法建立新簽名。此外,針對所有非對稱金鑰版本而言,您無法再下載公開金鑰。金鑰版本在進入已刪除狀態之後可能不會離開,除非重新匯入。這個狀態對應至資料刪除管道中的第 3 階段:使用中系統的邏輯刪除作業,表示系統會從所有使用中的 Cloud KMS 系統刪除金鑰內容。從銷毀時間起算,系統需要 45 天才能從所有 Google 使用中系統與備份系統中刪除重要素材。詳情請參閱 Cloud KMS 的刪除時間表

  • 匯入失敗 (IMPORT_FAILED):無法匯入這個金鑰版本。如要進一步瞭解導致匯入失敗的情況,請參閱排解匯入失敗問題

變更金鑰版本的狀態

以下說明金鑰版本可以如何變更狀態:

  • 建立非對稱金鑰的金鑰版本時,其開始狀態為仍未產生。當 Cloud KMS 產生完金鑰版本時,金鑰版本的狀態會自動變更為已啟用。

  • 建立對稱金鑰的金鑰版本時,其開始狀態為「已啟用」。

  • 您可以使用 UpdateCryptoKeyVersion 方法及其介面,將金鑰版本在「已啟用」與「已停用」狀態之間移動。如需相關範例,請參閱啟用及停用金鑰版本一文。

  • 您可以使用 DestroyCryptoKeyVersion 方法及其介面,將「已啟用」或「已停用」的金鑰版本移至「已安排刪除」狀態。如需相關範例,請參閱安排刪除金鑰版本一文。

  • 您可以使用 RestoreCryptoKeyVersion 方法及其介面,將「已安排刪除」的金鑰版本還原為「已停用」狀態。如需相關範例,請參閱還原金鑰版本一文。

下圖顯示金鑰版本的允許狀態。

金鑰版本狀態

請注意,只有非對稱金鑰的金鑰版本會從「仍未產生」狀態開始。對稱金鑰的金鑰版本會從已啟用狀態開始。

金鑰版本狀態對加密編譯作業的影響

金鑰版本狀態對加密編譯作業的影響取決於金鑰用於下列哪一項:

  • 對稱式加密
  • 非對稱式加密或數位簽署

對稱式加密

每個對稱式加密金鑰都有指定的「主要版本」,用來在該時間點加密資料。如要確保金鑰可用於加密資料,您必須先具備已啟用的主要金鑰版本。

在將金鑰用於加密明文時,其主要金鑰版本會用於加密該資料。關於用來加密資料的版本等資訊會儲存在資料的密文中。在任何指定的時間點,只有一個金鑰版本可以是主要版本。

如果主要金鑰版本已停用,該金鑰版本無法用於加密資料。請注意,您可以將啟用的主要金鑰版本停用、安排刪除作業或刪除,並將未啟用的版本設定為主要版本。

哪個金鑰版本為主要版本,並不會對解密資料的能力造成影響。只要啟用金鑰版本,就可以將其用來解密資料。

非對稱式加密或數位簽署

每次將非對稱金鑰用於加密或數位簽署時,您都必須指定金鑰版本。如要確保金鑰版本可用於非對稱式加密或數位簽署,金鑰版本必須為已啟用狀態。只有在金鑰版本為已啟用時,您才能擷取金鑰版本的公開金鑰。

已排定刪除狀態的變數持續時間

根據預設,Cloud KMS 中的金鑰會先處於「已安排刪除」 (已軟刪) 狀態 30 天,然後才會從系統中邏輯刪除金鑰內容。您可以設定這個時間長度,但請注意下列事項:

  • 只有在建立金鑰時,才能設定有效時間。
  • 指定後,就無法變更金鑰的時間長度。
  • 這段時間會套用至日後建立的所有金鑰版本。
  • 所有金鑰的最短時數為 24 小時,但僅供匯入的金鑰例外,其最短時數為 0。
  • 最長 120 天。

系統會使用 CreateCryptoKeyRequestCryptoKeydestroy_scheduled_duration 欄位設定值。

建議您為所有金鑰使用預設的 30 天期限,除非您有特殊應用程式或法規要求,需要使用其他值。