Cloud Build 中的 CMEK 合规性

Cloud Build 使用为每个构建生成的临时密钥加密构建时永久性磁盘,确保实现客户管理的加密密钥 (CMEK) 合规性。无需进行任何配置。该密钥是针对每个构建生成的唯一密钥。

构建开始后,只有构建流程需要用到该密钥(最多需要 24 小时),才能访问该密钥。然后,系统会从内存中擦除密钥并销毁密钥。

该密钥未保留在任何位置,Google 工程师或支持人员也无法获取且无法恢复。在构建完成后,使用此类密钥保护的数据将永久无法访问。

临时密钥加密的工作原理是什么?

Cloud Build 通过使用临时密钥来支持 CMEK,从而使其与支持 CMEK 的设置完全一致且兼容。

Cloud Build 会执行以下操作来确保使用临时密钥加密构建时永久性磁盘:

  1. Cloud Build 会创建一个随机的 256 位加密密钥,用于加密每个构建时永久性磁盘。

  2. Cloud Build 利用永久性磁盘的客户提供的加密密钥 (CSEK) 功能,将此新加密密钥用作永久性磁盘加密密钥。

  3. 一旦创建磁盘,Cloud Build 就会立即销毁临时密钥。系统永远不会记录密钥或将密钥写入任何永久性存储空间,并且现在不可检索。

  4. 构建完成后,系统会删除永久性磁盘,此时 Google 基础架构中的任何位置都不会保留该密钥的跟踪记录和加密的永久性磁盘数据。

临时密钥加密何时不适用?

当您使用源镜像(不使用 GitHub 触发器)创建或触发构建时,您的源代码会存储在 Cloud Storage 或 Cloud Source Repositories 中。您可以完全控制代码存储位置,包括控制其加密方式。