管理加密資源

本頁說明如何管理加密的 Google Distributed Cloud (GDC) 離線儲存空間值區。

事前準備

專案命名空間可管理 Management API 伺服器中的 bucket 資源。您必須擁有專案,才能使用 bucket 和物件。

您也必須具備適當的 bucket 權限,才能執行下列作業。請參閱「授予 bucket 存取權」。

管理加密資源

使用 v2 加密方式的 bucket 會包含密碼 kekRef 和多個 AEADKey,其中 kekRef 用於參照目前使用的有效預設 AEADKey,而 AEADKey 則包含 bucket 的有效和封存金鑰。

重新整理值區的有效預設 AEADKey

最佳做法是每寫入約 420 億個物件後,就重新整理值區的預設 AEADKeys。這項主動措施可提升安全性,並防止金鑰耗盡。重新整理程序會建立新的 kekRef,並停用先前的 AEADKeys。如要開始重新整理程序,請刪除與值區相關聯的 kekRef 密鑰。

如要擷取先前的 kekRef,請執行下列指令:

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

接著執行下列指令,即可刪除現有的 kekRef:

kubectl delete secrets OLD_KEKREF_NAME -n  NAMESPACE_NAME

成功刪除後,您可以執行下列指令,確認系統已根據 AGE 建立新的 kekRef:

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

確認是否已根據 AGE 建立新的預設 AEADKey:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

輪替值區的預設 AEADKey

如果儲存空間的 AEADKey 遭到入侵,您必須手動輪替與該儲存空間相關聯的金鑰加密金鑰。

如要開始這項程序,請先重新整理有效的預設金鑰。這會建立新的有效預設 AEADKeys,並將先前的金鑰加密金鑰標示為停用。預設金鑰重新整理後,後續上傳的物件會使用新的 AEADKeys 做為金鑰加密金鑰。先前的 AEADKey 不會遭到刪除,因此您仍可解密先前使用這些金鑰加密的現有物件。

接著,請按照步驟下載並重新上傳值區中的物件,然後刪除舊物件

重新上傳 bucket 中的所有物件後,即可清除閒置的 AEADKey 和舊物件。根據 AGE 找出已停用的 AEADKey:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

最後,請按照步驟刪除 AEADKeys