践行“设计即安全”理念

Last reviewed 2026-10-28 UTC

Google Cloud Well-Architected Framework 安全核心中的这一原则提供了相关建议,可帮助您将强大的安全功能、控制措施和实践融入云应用、服务和平台的设计中。从构思到运营,如果将安全性作为设计流程每个阶段不可或缺的一部分,则安全性会更有效。

原则概览

如《Google 承诺“从设计层面实现原生安全性”的概览》中所述,默认安全和从设计层面实现原生安全性通常可以互换使用,但它们代表了构建安全系统的不同方法。这两种方法都旨在最大限度地减少漏洞并增强安全性,但它们在范围和实现方面有所不同:

  • 默认安全:重点确保系统的默认设置处于安全模式,从而最大限度地减少用户或管理员采取行动来保护系统的需求。这种方法旨在为所有用户提供基准级别的安全性。
  • 设计安全:强调在整个系统开发生命周期中主动纳入安全考虑因素。这种方法旨在尽早预测潜在威胁和漏洞,并做出可降低风险的设计选择。这种方法涉及使用安全编码实践、进行安全审核,以及在整个设计过程中嵌入安全性。“从设计上保证安全”的方法是一种指导开发流程的总体理念,有助于确保安全性不是事后才考虑的事情,而是系统设计中不可或缺的一部分。

建议

如需为云工作负载实现安全设计原则,请考虑以下部分中的建议:

选择有助于保护工作负载安全的系统组件

此建议与所有重点领域相关。

要实现有效的安全性,一项基本决策是选择构成平台、解决方案或服务的强大系统组件(包括硬件和软件组件)。为了减少安全攻击面并限制潜在损害,您还必须仔细考虑这些组件的部署模式及其配置。

在应用代码中,我们建议您使用简单、安全且可靠的库、抽象和应用框架,以消除各种漏洞。如需扫描软件库中的漏洞,您可以使用第三方工具。您还可以使用 Assured Open Source Software,它通过使用 Google 使用和保护的开源软件 (OSS) 软件包,帮助降低软件供应链的风险。

您的基础设施必须使用支持安全运行并符合您的安全要求和风险接受水平的网络、存储和计算选项。基础设施安全对于面向互联网的工作负载和内部工作负载都很重要。

如需了解支持此建议的其他 Google 解决方案,请参阅实施左移安全性。

构建分层安全方法

此建议与以下重点领域相关:

  • AI 和机器学习安全性
  • 基础架构安全
  • 身份和访问权限管理
  • 数据安全

我们建议您通过应用纵深防御方法,在应用和基础架构堆栈的每个层级实施安全措施。

使用平台每个组件中的安全功能。如需在发生安全突发事件时限制访问权限并确定潜在影响的边界(即影响范围),请执行以下操作:

  • 尽可能简化系统设计,以适应灵活性。
  • 记录每个组件的安全要求。
  • 纳入强大的安全机制,以满足弹性和恢复要求。

设计安全层时,请执行风险评估,以确定您需要哪些安全功能才能满足内部安全要求和外部监管要求。我们建议您使用适用于云环境且与您的监管要求相关的业界标准风险评估框架。例如,云安全联盟 (CSA) 提供了云控制矩阵 (CCM)。风险评估为您提供了一系列风险和相应的安全控制措施,以缓解这些风险。

在执行风险评估时,请记住,您与云服务提供商之间存在责任共担安排。因此,您在云环境中的风险与在本地环境中的风险不同。例如,在本地环境中,您需要缓解硬件堆栈的漏洞。相比之下,在云环境中,云服务提供商会承担这些风险。此外,请注意,对于每个云服务商,IaaS、PaaS 和 SaaS 服务的责任共担边界各不相同。

确定潜在风险后,您必须设计并制定缓解计划,该计划应采用技术、管理和运营控制措施,以及合同保护和第三方认证。此外,威胁建模方法(例如 OWASP 应用威胁建模方法)可帮助您识别潜在漏洞,并建议采取措施来解决这些漏洞。

使用经过安全加固和证明的基础设施和服务

此建议与所有重点领域相关。

成熟的安全计划会减少安全公告中所述的新漏洞。安全计划还应提供修复措施,以修复现有部署中的漏洞并保护虚拟机和容器映像。您可以使用特定于映像的操作系统和应用的强化指南,以及互联网安全中心 (CIS) 提供的基准。

如果您为 Compute Engine 虚拟机使用自定义映像,则需要自行修补映像。或者,您也可以使用 Google 提供的精选操作系统映像,这些映像会定期进行修补。如需在 Compute Engine 虚拟机上运行容器,请使用 Google 精选的容器优化操作系统映像。Google 会定期修补和更新这些映像。

如果您使用的是 Google Kubernetes Engine (GKE),我们建议您启用节点自动升级,让 Google 使用最新的补丁程序更新您的集群节点。Google 负责管理 GKE 控制平面,这些控制平面会自动进行更新和修补。为了进一步减少容器的攻击面,您可以使用 distroless 映像。Distroless 映像非常适合对安全性敏感的应用、微服务以及需要最大限度地减小映像大小和攻击面的情况。

对于敏感工作负载,请使用安全强化型虚拟机,它可以防止在虚拟机启动周期内加载恶意代码。安全强化型虚拟机实例可提供启动安全性,监控完整性并使用虚拟可信平台模块 (vTPM)。

为了帮助保护 SSH 访问,OS Login 可让您的员工使用 Identity and Access Management (IAM) 权限作为可靠来源而不是依赖 SSH 密钥来连接虚拟机。因此,您不必管理整个组织的 SSH 密钥。OS Login 将管理员的访问权限与其员工生命周期相关联,因此当员工更换角色或离开组织时,其访问权限会随其账号一起撤消。OS Login 还支持 Google 双重身份验证,从而增加一层额外的安全保障以防范账号入侵攻击。

在 GKE 中,应用实例在 Docker 容器中运行。如需启用已定义的风险概况并限制员工更改容器,请确保您的容器为无状态且不可变。不变性原则意味着您的员工不会修改容器或以互动方式访问容器。如果必须更改容器,则您需要构建新映像并重新部署该映像。仅在特定调试场景中启用对底层容器的 SSH 访问权限。

为了帮助在整个环境中全局保护配置,您可以使用组织政策对影响云资产行为的资源设置限制条件或防护措施。例如,您可以定义以下组织政策,并在 Google Cloud 组织中全局应用这些政策,或在文件夹或项目级层选择性地应用这些政策:

  • 禁止向虚拟机分配外部 IP 地址。
  • 仅限在特定地理位置创建资源。
  • 停用服务账号或其密钥的创建功能。

对静态数据和传输中的数据进行加密

此建议与以下重点领域相关:

  • 基础架构安全
  • 数据安全

数据加密是保护敏感信息的基础控制措施,也是数据治理的关键部分。有效的数据保护策略包括访问权限控制、数据分段和地理位置驻留、审核以及基于对要求的仔细评估而实施的加密。

默认情况下, Google Cloud会加密静态存储的客户数据,您无需执行任何操作。除了默认加密之外,Google Cloud 还提供信封加密和加密密钥管理选项。无论您是为存储、计算还是大数据工作负载选择密钥,都必须确定最符合您在密钥生成、存储和轮替方面的要求的解决方案。例如,可以在 Cloud Key Management Service (Cloud KMS) 中创建客户管理的加密密钥 (CMEK)。CMEK 可以是基于软件的或受 HSM 保护的,以满足您的监管或合规性要求,例如需要定期轮替加密密钥。借助 Cloud KMS Autokey,您可以自动执行 CMEK 的预配和分配。此外,您还可以使用 Cloud External Key Manager (Cloud EKM) 自带源自第三方密钥管理系统的密钥。

我们强烈建议对传输中的数据进行加密。 如果数据将移出物理边界,脱离 Google 或 Google 授权代理方的控制范围,Google 会在一个或多个网络层对传输中的数据进行加密和身份验证。系统会对 VPC 网络内以及对等互连的 VPC 网络之间的所有虚拟机之间的流量进行加密。您可以使用 MACsec 对通过 Cloud Interconnect 连接的流量进行加密。IPsec 为通过 Cloud VPN 连接传输的流量提供加密。您可以使用 Apigee 中的 TLS 和 mTLS 配置以及适用于容器化应用的 Cloud Service Mesh 等安全功能,保护云中的应用到应用流量。

默认情况下, Google Cloud 会加密静态数据和传输中的数据。但是,默认情况下,数据在内存中使用时不会加密。如果您的组织处理机密数据,则需要缓解任何会破坏系统内存中应用或数据的机密性和完整性的威胁。为缓解这些威胁,您可以使用机密计算,它可为您的计算工作负载提供可信执行环境。如需了解详情,请参阅机密虚拟机概览。