控制访问权限并保护工件

本页面介绍了可帮助您保护工件的 Google Cloud 服务和功能。

静态加密

默认情况下,Google Cloud 会使用 Google 管理的加密密钥自动加密静态数据。如果您对保护数据的密钥有特定的合规性或监管要求,您可以创建使用客户管理的加密密钥 (CMEK) 加密的代码库。

访问权限控制

默认情况下,所有代码库都是私有的。遵循最小权限安全原则,仅授予用户和服务帐号所需的最低权限

防止数据渗漏

为防止数据渗漏,您可以使用 VPC Service Controls 将 Artifact Registry 和其他 Google Cloud 服务放置在网络安全边界内。

漏洞扫描

Artifact Analysis 可以扫描容器映像,以查找受公开监控的软件包中的安全漏洞。

您可以使用以下选项:

自动漏洞扫描
启用后,此功能可识别容器映像中的软件包漏洞。映像上传到 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 官方产品。

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

将信息安全目标融入日常工作,有助于提高软件交付表现并构建更安全的系统。这种想法也称为“左移”,因为包括安全问题在内的问题在软件开发生命周期的早期解决(即在从左到右的时间表图中左侧)。“左移安全性”是 DORA DevOps 现状研究计划中确定的 DevOps 能力之一。

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

公共代码库的注意事项

请仔细考虑以下情况:

  • 使用公开来源中的工件
  • 将您自己的 Artifact Registry 代码库设为公开

使用来自公开来源的工件

工件的公共来源(例如 GitHub Docker HubPyPInpm 公共注册表)提供了可用于构建和部署的工具或依赖项。

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

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

请考虑以下方法来保护软件供应链:

  • 设置自动构建,确保您的工件具有一致且已知的内容。您可以使用 Cloud Build 构建触发器或其他持续集成工具。
  • 使用标准化的基础映像。Google 提供了一些可供您使用的基础映像
  • 解决工件中的漏洞。您可以使用 On-Demand Scanning API 扫描容器映像是否存在漏洞,然后再将其存储在 Artifact Registry 中。Artifact Analysis 还可以扫描您推送到 Artifact Registry 的容器。
  • 对映像部署强制执行内部标准。 Binary Authorization 为将容器映像部署到受支持的 Google Cloud 环境提供了强制执行措施。

详细了解有关公共映像的注意事项

公共 Artifact Registry 代码库

您可以通过向 allUsers 身份授予 Artifact Registry Reader 角色来将 Artifact Registry 代码库设为公开。

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

在将 Artifact Registry 代码库设为公开之前,请考虑以下准则:

  • 确认您存储在代码库中的所有工件均可公开共享,并且不会公开凭据、个人数据或机密数据。
  • 当用户下载工件时,您需要支付网络数据传输费用。如果您预计互联网下载流量很大,请考虑相关费用。
  • 默认情况下,项目的每位用户配额没有限制。为防止滥用情况,请在项目中限制每位用户的配额。

Web 应用指南

  • 根据开放 Web 应用安全项目 (OSWAP) 提供的信息,OWASP 十大风险中列出了最主要的 Web 应用安全风险。

容器指南

  • 构建容器的最佳实践包括构建容器的相关建议。

    您还可以阅读关于构建映像的 Docker 最佳实践

  • 运营容器的最佳实践包括安全、监控和日志记录方面的建议,这些建议可让您更轻松地在 Google Kubernetes Engine 和一般容器中运行应用。

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

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

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

后续步骤

详细了解依赖项管理