Cloud Build 中的 CMEK 合规性

Cloud Build 通过使用为每个构建生成的临时密钥加密构建时永久性磁盘 (PD),来提供客户管理的加密密钥 (CMEK) 合规性。无需配置。该密钥是为每个 build 唯一生成的。

构建完成后,系统会立即将密钥从内存中擦除并销毁。这些信息不会存储在任何位置,Google 工程师或支持人员无法访问,也无法恢复。使用此类密钥保护的数据将永久无法访问。

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

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

Cloud Build 会执行以下操作以确保使用临时密钥加密构建时 PD:

  1. Cloud Build 在本地 RAM 中创建一个随机的 256 位加密密钥,用于加密每个构建型永久性磁盘。

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

  3. 启动构建后,Cloud Build 会立即从本地 RAM 中擦除它为构建临时生成的密钥。系统绝不会记录该密钥或将其写入任何永久性存储空间,并且该密钥现在无法检索。

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

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

在以下情形中,临时密钥加密不适用:

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

  • 当您居住在受当地加密限制影响的地理区域(例如巴西或印度)时,Cloud Build 无法对永久性磁盘应用临时密钥加密。