Cloud Build 會為每個建構作業產生暫時性金鑰,並使用該金鑰加密建構時間的永久磁碟,藉此提供客戶自管加密金鑰 (CMEK) 合規性。無須進行任何設定。金鑰是針對每個建構作業產生,且不重複。
建構作業開始後,只有建構程序才能在建構作業的生命週期內存取金鑰。然後從記憶體中清除並銷毀金鑰。
金鑰不會保留在任何地方,Google 工程師或支援人員也無法存取,且無法還原。建構作業完成後,使用這類金鑰保護的資料將永久無法存取。
暫時性金鑰加密如何運作?
Cloud Build 支援使用暫時性金鑰的 CMEK,因此可與已啟用 CMEK 的設定完全一致且相容。
為確保建構時間的持續性磁碟是以暫時性金鑰加密,Cloud Build 會執行下列操作:
Cloud Build 會產生隨機的 256 位元加密金鑰,用於加密每個建構時間的永久磁碟。
Cloud Build 會運用永久磁碟的客戶提供加密金鑰 (CSEK) 功能,將這個新加密金鑰做為永久磁碟加密金鑰。
Cloud Build 會在磁碟建立後立即銷毀暫時金鑰。系統不會記錄金鑰,也不會將金鑰寫入任何永久儲存空間,因此現在無法擷取金鑰。
建構完成後,系統會刪除永久磁碟,屆時 Google 基礎架構中不會留下任何金鑰或加密永久磁碟資料的痕跡。
哪些情況不適用暫時性金鑰加密?
使用來源鏡像建立或觸發建構作業時 (而非使用 GitHub 觸發條件),原始碼會儲存在 Cloud Storage 或 Cloud Source Repositories 中。您可以完全掌控程式碼儲存位置,包括加密方式。
建構作業記錄檔
Cloud Build 提供多種選項,可儲存建構記錄。如要符合 CMEK 規定,您必須只將記錄檔儲存在 Cloud Logging 或您自己的 Cloud Storage bucket 中。