在 Cloud Build 上运行关键业务工作负载需要多方承担不同的责任。本文档中描述的共担责任模型明确指出,Google Cloud 负责 Cloud Build 服务本身及其底层基础架构的安全性,而客户(即您)负责 Cloud Build 的使用安全性,包括您的特定 build、配置、数据以及您使用 Cloud Build 执行的容器映像。
本页面列出了 Google Cloud 和客户各自的责任(未详尽列出)。
Google Cloud 责任
保护底层基础设施,包括硬件、固件、内核、操作系统、存储和网络。
这包括以下内容:
- 保护数据中心的物理安全,默认对静态数据和传输中的数据进行加密,并使用安全的网络组件。
- 使用 VPC Service Controls 提供网络保护。
- 遵循安全软件开发实践。
- 管理和保护 Cloud Build 服务控制平面(API、后端、调度器等),包括修补和强化。
- 为每次 build 调用提供临时隔离的 build 环境。
为 Identity and Access Management (IAM)、Cloud Audit Logs、Cloud Key Management Service 等服务提供 Google Cloud 集成。
使用 Access Transparency 和 Access Approval 限制 Google Cloud 管理员对客户资源的访问权限,以便根据合同提供支持,并记录所有此类访问权限。
在配置为生成 SLSA 出处时,生成真实的 SLSA 出处。
客户的责任
保护应用源代码、build 配置文件以及构建中使用的所有容器映像。
这包括评估映像是否符合您的安全标准、利用最新支持的映像版本,以及遵循有关开源组件和整体 build 配置的最佳实践。
对于需要最高安全性的场景,请考虑自带强化映像来运行 build。
确保妥善保护所有第三方集成令牌(例如为建立代码库链接而提供的令牌)。
根据最低权限原则,为与 Cloud Build 交互的所有用户、群组和服务账号配置 IAM。
我们建议您为 build 使用专用且由用户指定的服务账号,而不是默认服务账号。
确保您的 build 脚本适当使用提供给 build 的 build 凭据、第三方集成令牌和密钥,并防范数据渗漏。
针对 build 制品启用漏洞扫描并根据扫描结果采取行动(例如,使用 Artifact Analysis)、生成 build 出处数据,以及实施部署政策(例如,使用 Binary Authorization),以确保仅部署经过授权和验证的映像。
在 Google 要求时提供环境详细信息,以进行问题排查。
后续步骤
- 详细了解 Google Cloud 责任共担模型。