控制访问权限并保护制品

本页面介绍了可帮助您实现以下目标的 Google Cloud 服务和功能: 来保护您的工件

静态加密

默认情况下,Google Cloud 会使用 Google 管理的加密密钥自动加密静态数据。有特定的合规性或监管要求 与保护数据的密钥相关 使用客户管理的加密密钥 (CMEK) 进行加密。

访问权限控制

默认情况下,所有代码库都是私有的。遵循 并且仅授予 需要满足哪些要求。

防止数据渗漏

为了防止数据渗漏,您可以使用 VPC Service Controls 将 Artifact Registry 和其他 Google Cloud 服务 安全边界

漏洞扫描

Artifact Analysis 可以在 Google Cloud 中扫描容器映像 公开监控的软件包

您可以使用以下选项:

自动漏洞扫描
启用后,此功能可识别 容器映像在将图片上传到 Artifact Registry 和持续监控数据,以发现 在推送映像后长达 30 天的时间里修复漏洞。
On-Demand Scanning API
启用后,您可以手动扫描本地图片或存储的图片 在 Artifact Registry 中构建此功能可帮助您在构建流水线的早期阶段检测并解决漏洞。例如,你可以使用 Cloud Build 扫描映像 构建而成, 禁止上传到 Artifact Registry (如果扫描检测到指定严重级别的漏洞)。如果您 此外,Artifact Analysis 还启用了自动漏洞扫描 扫描您上传到注册表的映像。

部署政策

您可以使用 Binary Authorization 来配置 政策,即服务在尝试部署 容器映像迁移到某个受支持的 Google Cloud 环境

例如,您可以将 Binary Authorization 配置为仅允许 已对映像进行签名,以符合漏洞扫描政策。

移除未使用的图片

移除未使用的容器映像以降低存储费用并降低使用旧版软件的风险。您可以使用许多工具来帮助完成此任务,包括 gcr-cleaner。gcr-cleaner 工具并非 Google 官方产品。

更早将安全性纳入软件开发流程

将信息安全目标整合到日常工作中有助于增加 软件交付绩效,并构建更安全的系统。这个想法也 也就是“左移”,因为安全问题(包括安全问题) 在软件开发生命周期的早期阶段(即留在软件开发生命周期中, 从左到右的时间表图)。在安全性方面向左移动是 DevOps 之一 功能配置中已确定的 DORA DevOps 现状研究计划

如需了解详情,请参阅以下内容:

关于公共代码库的注意事项

请仔细考虑以下情况:

  • 使用来自公共来源的制品
  • 公开您自己的 Artifact Registry 代码库

使用来自公共来源的制品

以下公开的制品来源提供了你可能会使用或 依赖项:

但是,您的组织可能存在限制, 公开工件例如:

  • 您想要控制软件供应链的内容。
  • 不希望依赖外部代码库。
  • 需要严格控制生产环境中的漏洞。
  • 需要在每个映像中使用相同的基本操作系统。

请考虑采用以下方法保护您的软件供应链:

  • 设置自动构建,确保您的工件具有一致、已知 内容。您可以使用 Cloud Build 构建触发器或其他 持续集成工具
  • 使用标准化基础映像。Google 提供了一些 基础映像

公共 Artifact Registry 代码库

如需公开 Artifact Registry 代码库,您可以向 将 Artifact Registry Reader 角色授予 allUsers 身份。

如果所有用户都有 Google Cloud 账号,您可以改用 allAuthenticatedUsers 身份来限制经过身份验证的用户的访问权限。

创建 Artifact Registry 之前,请考虑以下准则 代码库公开:

  • 验证您存储在代码库中的所有制品是否可公开共享 且不会泄露凭据、个人数据或机密数据。
  • 默认情况下,项目的每位用户配额不受限制。接收者 并防止滥用,从而限制您的环境中的每个用户配额 项目。
  • 您需要为网络数据传输付费 当用户下载工件时触发如果您期望从互联网上下载大量内容 请考虑相关费用

Web 应用指南

容器指南

  • 互联网安全中心 (CIS) 提供一项 Docker 基准,用于评估 Docker 容器的安全性。

    Docker 提供了一个名为 Docker Bench for Security 的开源脚本。您可以使用该脚本根据 CIS Docker 基准验证正在运行的 Docker 容器。

    Docker Bench For Security 可以帮助您验证 CIS Docker 基准中的很多项,但并非所有项都可通过该脚本进行验证。例如,该脚本无法验证容器的主机是否经过了安全强化,或者容器映像是否包含个人数据。查看该基准中的所有项,并找出可能需要额外验证的项。

后续步骤

详细了解依赖项管理