生成式 AI 应用场景的常见控制措施

本文档介绍了可为 Google Cloud中的生成式 AI 工作负载创建基准安全环境的常见控制措施。这些控制措施有助于确保以一致且安全的方式使用Google Cloud 环境。建议您在部署生产服务之前,先将这些设置应用于您的环境。

这些控制变量仅旨在为您提供一个起点。您可以根据组织的安全政策,调整并添加组织特定的控制措施。此外,您还可以根据Google Cloud上的具体工作负载和敏感数据考虑采取其他控制措施。

必需的通用控制措施

强烈建议您为 Google Cloud环境实施以下控制措施。

限制 Google API 支持的 TLS 版本

Google 控制 ID COM-CO-1.1
类别 必需
说明

Google Cloud 支持多个 TLS 协议版本。为满足合规性要求,您可能需要拒绝来自使用旧版 TLS 的客户端的握手请求。

如需配置此控制措施,请使用限制 TLS 版本 (gcp.restrictTLSVersion) 组织政策限制条件。您可以将此限制条件应用于资源层次结构中的组织、文件夹或项目。限制 TLS 版本限制条件使用拒绝名单,该名单会拒绝明确的值,并允许所有其他值。如果您尝试使用许可名单,则会发生错误。

由于组织政策层次结构评估的行为,TLS 版本限制适用于指定的资源节点及其所有文件夹和项目(子级)。例如,如果您拒绝某个组织的 TLS 1.0 版,那么来自该组织的所有子级也会被拒绝。

您可以通过更新子资源上的组织政策来替换继承的 TLS 版本限制。例如,如果您的组织政策在组织一级拒绝 TLS 1.0,您可以通过在该子文件夹上设置单独的组织政策来移除该限制。如果文件夹有任何子级,则由于政策沿用,文件夹的政策也会应用于每个子资源。

如需进一步将 TLS 版本限制为仅限 TLS 1.3,您可以设置此政策,以同时限制 TLS 版本 1.2。您必须在 Google Cloud中托管的应用上实现此控制措施。例如,在组织级层,设置:

["TLS_VERSION_1","TLS_VERSION_1.1","TLS_VERSION_1.2"]

适用的产品
  • 全部;由组织政策服务管理
路径 gcp.restrictTLSVersion
运算符 ==
  • TLS_VERSION_1
  • TLS_VERSION_1.1
类型 字符串
Compliance Manager 控制措施 ID RESTRICT_LEGACY_TLS_VERSIONS
相关 NIST-800-53 控制措施
  • SC-8
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

加密 Google Cloud中的静态数据

Google 控制 ID COM-CO-2.1
类别 必需(默认)
说明

默认情况下, Google Cloud 中的所有数据均使用 NIST 批准的算法进行静态加密。

适用的产品
  • Google Cloud 默认
相关 NIST-800-53 控制措施
  • SC-28
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
相关信息

使用 NIST 批准的算法进行加密和解密

Google 控制 ID COM-CO-2.4
类别 必需
说明

确保 Cloud Key Management Service (Cloud KMS) 仅使用 NIST 批准的算法在环境中存储敏感密钥。此控制措施可确保仅通过 NIST 批准的算法和安全性来安全使用密钥。CryptoKeyVersionAlgorithm 字段是提供的许可名单。

移除不符合组织政策的算法。

适用的产品
  • Cloud KMS
路径 cloudkms.projects.locations.keyRings.cryptoKeys/versionTemplate.algorithm
运算符 in
  • RSA_SIGN_PSS_2048_SHA256
  • RSA_SIGN_PSS_3072_SHA256
  • RSA_SIGN_PSS_4096_SHA256
  • RSA_DECRYPT_OAEP_2048_SHA256
  • RSA_DECRYPT_OAEP_4096_SHA256
  • RSA_DECRYPT_OAEP_2048_SHA1
  • RSA_DECRYPT_OAEP_4096_SHA1
类型 字符串
相关 NIST-800-53 控制措施
  • SC-12
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

设置 Cloud KMS 密钥的用途

Google 控制 ID COM-CO-2.5
类别 必需
说明

将 Cloud KMS 密钥的用途设置为 ENCRYPT_DECRYPT,以便密钥仅用于加密和解密数据。此控制会阻止其他功能(例如签名),并确保密钥仅用于其预期用途。如果您将密钥用于其他功能,请验证这些使用情形,并考虑创建其他密钥。

适用的产品
  • Cloud KMS
路径 cloudkms.projects.locations.keyRings.cryptoKeys/purpose
运算符 ==
  • ENCRYPT_DECRYPT
类型 字符串
相关 NIST-800-53 控制措施
  • SC-12
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

确保 CMEK 设置适合安全的 BigQuery 数据仓库

Google 控制 ID COM-CO-2.6
类别 必需
说明

保护级别指示加密操作的执行方式。创建客户管理的加密密钥 (CMEK) 后,您无法更改保护级别。支持的保护级别如下:

  • 软件:在软件中执行加密操作。
  • HSM:在硬件安全模块 (HSM) 中执行加密操作。
  • 外部:使用存储在外部密钥管理器中的密钥执行加密操作,该外部密钥管理器通过互联网连接到 Google Cloud 。限制为对称加密和非对称签名。
  • EXTERNAL_VPC::使用存储在外部密钥管理器中的密钥执行加密操作,该外部密钥管理器通过虚拟私有云 (VPC) 网络连接到 Google Cloud 。限制为对称加密和非对称签名。
适用的产品
  • Cloud KMS
  • BigQuery
路径 cloudkms.projects.locations.keyRings.cryptoKeys/primary.protectionLevel
运算符 in
  • []
类型 字符串
相关 NIST-800-53 控制措施
  • SC-12
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

每 90 天轮替一次加密密钥

Google 控制 ID COM-CO-2.7
类别 必需
说明

确保将 Cloud KMS 密钥的轮替周期设置为 90 天。一般而言,最佳做法是定期轮替您的安全密钥。此控制措施可强制轮替使用 HSM 服务创建的密钥。

创建此轮换周期时,还应制定适当的政策和程序,以安全地处理密钥材料的创建、删除和修改,从而帮助保护您的信息并确保可用性。确保此期限符合贵公司的密钥轮替政策。

适用的产品
  • Cloud KMS
路径 cloudkms.projects.locations.keyRings.cryptoKeys/rotationPeriod
运算符 <=
  • 90
类型 int32
相关 NIST-800-53 控制措施
  • SC-12
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

定义授权的主账号

Google 控制 ID COM-CO-4.1
类别 必需
说明

使用网域限定共享 (iam.allowedPolicyMemberDomains) 组织政策限制条件来定义一个或多个 Cloud Identity 或 Google Workspace 客户 ID,这些客户 ID 的主账号可以添加到 Identity and Access Management (IAM) 政策中。

适用的产品
  • 组织政策服务
  • IAM
路径 constraints/iam.allowedPolicyMemberDomains
运算符 Is
  • CUSTOMER_ID,ORG_ID
类型 列表
相关 NIST-800-53 控制措施
  • AC-3
  • AC-17
  • AC-20
相关 CRI 配置文件控制措施
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.PT-3.1
  • PR.PT-4.1
相关信息

使用审核日志

Google 控制 ID COM-CO-7.3
类别 必需
说明

Google Cloud 服务会写入审核日志条目,以便回答“谁在何时何地对 Google Cloud 资源执行了什么操作”这一问题。

在组织级层启用审核日志记录。您可以使用用于设置 Google Cloud 组织的流水线来配置日志记录。

适用的产品
  • Cloud Audit Logs
相关 NIST-800-53 控制措施
  • AU-2
  • AU-3
  • AU-8
  • AU-9
相关 CRI 配置文件控制措施
  • DM.ED-7.1
  • DM.ED-7.2
  • DM.ED-7.3
  • DM.ED-7.4
  • PR.IP-1.4
相关信息

启用 VPC 流日志

Google 控制 ID COM-CO-7.4
类别 必需
说明

VPC 流日志会记录虚拟机实例(包括用作 Google Kubernetes Engine [GKE] 节点的实例)发送和接收的网络流样本。该样本通常是 50% 的 VPC 网络流或更少。

启用 VPC 流日志时,可以为子网中的所有虚拟机启用日志记录。 不过,您可以减少写入日志记录的信息量。

为每个 VPC 子网启用 VPC 流日志。您可以使用用于创建项目的流水线来配置日志记录。

适用的产品
  • 虚拟私有云
相关 NIST-800-53 控制措施
  • AU-2
  • AU-3
  • AU-8
  • AU-9
相关 CRI 配置文件控制措施
  • DM.ED-7.1
  • DM.ED-7.2
  • DM.ED-7.3
  • DM.ED-7.4
  • PR.IP-1.4
相关信息

启用防火墙规则日志记录

Google 控制 ID COM-CO-7.5
类别 必需
说明

每次防火墙规则允许或拒绝流量时,防火墙规则日志记录都会创建一条记录。

为每条防火墙规则启用日志记录。您可以使用用于创建防火墙的流水线来配置日志记录。

适用的产品
  • 虚拟私有云
相关 NIST-800-53 控制措施
  • AU-2
  • AU-3
  • AU-8
  • AU-9
相关 CRI 配置文件控制措施
  • DM.ED-7.1
  • DM.ED-7.2
  • DM.ED-7.3
  • DM.ED-7.4
  • PR.IP-1.4
相关信息

建议的云控制措施

无论您的具体使用情形如何,我们都建议您将以下常见控制措施应用于Google Cloud 环境。

限制客户管理的加密密钥的位置

Google 控制 ID COM-CO-2.2
类别 推荐
说明

使用限制哪些项目可以为 CMEK 提供 KMS CryptoKey (gcp.restrictCmekCryptoKeyProjects) 组织政策限制条件来定义哪些项目可以存储客户管理的加密密钥 (CMEK)。此限制可让您集中管理加密密钥。如果所选密钥不符合此限制条件,资源创建会失败。

如需修改此限制条件,管理员需要拥有 Organization Policy Administrator (roles/orgpolicy.policyAdmin) IAM 角色。

如果您想添加第二层保护,例如自带密钥,请更改此限制以表示已启用的 CMEK 的密钥名称。

产品详情:

  • 在 Vertex AI 中,您需要将密钥存储在密钥项目中。
适用的产品
  • Cloud KMS
  • 组织政策
路径 constraints/gcp.restrictCmekCryptoKeyProjects
运算符 notexists
  • KEY PROJECTS
类型 字符串
相关 NIST-800-53 控制措施
  • SC-12
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

为 Google Cloud 服务使用 CMEK

Google 控制 ID COM-CO-2.3
类别 推荐
说明

如果您需要更好地控制密钥操作,且控制程度超出了 Google-owned and Google-managed encryption keys 允许的范围,可以使用客户管理的加密密钥 (CMEK)。这些密钥是使用 Cloud KMS 创建和管理的。将密钥作为软件密钥存储在 HSM 集群中或外部密钥管理系统中。

Cloud KMS 加密和解密费率受配额限制。

Cloud Storage 详细信息

在 Cloud Storage 中,您可以在单个对象上使用 CMEK,也可以将 Cloud Storage 存储分区配置为在添加到存储分区的所有新对象上默认使用 CMEK。使用 CMEK 时,Cloud Storage 会在对象存储到存储桶中时使用该密钥加密对象,并且 Cloud Storage 会在对象传送给请求者时自动解密对象。

将 CMEK 与 Cloud Storage 搭配使用时,存在以下限制:

  • 您无法通过更新对象的元数据来使用 CMEK 加密对象。在对象的重写过程中将该密钥包含在内。
  • 您的 Cloud Storage 使用对象更新命令在对象上设置加密密钥,但该命令会在请求中重写对象。
  • 您必须在要加密的数据所在的位置创建 Cloud KMS 密钥环。例如,如果您的存储桶位于 us-east1,用于加密其中对象的任何密钥环也必须在 us-east1 中创建。
  • 对于大多数双区域,您必须在关联的多区域中创建 Cloud KMS 密钥环。例如,如果您的存储桶位于 us-east1us-west1 对中,则用于加密其中对象的任何密钥环必须在美国多区域中创建。
  • 对于 asia1eur4nam4 预定义的双区域,您必须在同一预定义的双区域中创建密钥环。
  • 使用 JSON API 列出对象时,系统不会返回使用 CMEK 加密的对象的 CRC32C 校验和和 MD5 哈希。
  • 使用 Cloud Storage 等工具对每个加密对象执行额外的元数据 GET 请求,以检索 CRC32C 和 MD5 信息,可以大幅缩短列出时间。Cloud Storage 不能使用存储在 Cloud KMS 中的非对称密钥的解密部分,按照与 CMEK 相同的方式自动解密相关对象。
适用的产品
  • Cloud KMS
  • 组织政策
  • Cloud Storage
路径 constraints/gcp.restrictNonCmekServices
运算符 ==
  • bigquery.googleapis.com
  • storage.googleapis.com
  • aiplatform.googleapis.com
类型 字符串
相关 NIST-800-53 控制措施
  • SC-12
  • SC-13
相关 CRI 配置文件控制措施
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
相关信息

启用 Sensitive Data Protection 以进行数据检查

Google 控制 ID COM-CO-5.1
类别 推荐
说明

Google Cloud 建议使用 Sensitive Data Protection。您选择的 infoType 或作业模板取决于您的特定系统。

适用的产品
  • 敏感数据保护
相关 NIST-800-53 控制措施
  • SI-4
  • IA-7
  • SC-7
  • SC-8
相关 CRI 配置文件控制措施
  • PR.AC-1.1
  • PR.AC-1.2
  • PR.AC-1.3
  • PR.DS-5.1
  • PR.DS-8.1
  • ID.RA-1.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
  • DE.CM-5.1
  • DE.CM-6.1
  • DE.CM-6.2
  • DE.CM-6.3
  • DE.CM-7.1
  • DE.CM-7.2
  • DE.CM-7.3
  • DE.CM-7.4
  • DE.DP-2.1
  • DE.DP-3.1
  • DE.DP-4.1
  • DE.DP-4.2
  • DE.DP-5.1
  • DE.AE-2.1
  • DE.AE-3.1
  • DE.AE-3.2
  • DE.AE-4.1
相关信息

如果您处理敏感数据或敏感的生成式 AI 工作负载,建议您在适用的生成式 AI 使用场景中实施以下控制措施。

启用数据访问审核日志

Google 控制 ID COM-CO-7.2
类别 建议用于特定使用情形
说明

如需跟踪谁访问了 Google Cloud 环境中的数据,请启用数据访问审核日志。这些日志会记录用于读取、创建或修改用户数据的 API 调用,以及用于读取资源配置的 API 调用。

我们强烈建议您为生成式 AI 模型和敏感数据启用数据访问审核日志,以确保您可以审核谁读取了相关信息。如需使用数据访问审核日志,您必须为特定活动(例如超级用户登录)设置自己的自定义检测逻辑。

数据访问审核日志量可能很大。启用数据访问日志可能会导致您的 Google Cloud 项目因额外的日志使用量而产生费用。

适用的产品
  • Cloud Audit Logs
相关 NIST-800-53 控制措施
  • AU-2
  • AU-3
  • AU-8
  • AU-9
相关 CRI 配置文件控制措施
  • DM.ED-7.1
  • DM.ED-7.2
  • DM.ED-7.3
  • DM.ED-7.4
  • PR.IP-1.4
相关信息

建议您在包含生成式 AI 工作负载的文件夹中实施以下安全控制措施。

在 Access Context Manager 访问权限政策中启用服务范围限制

Google 控制 ID COM-CO-8.1
类别 推荐用于生成式 AI 的应用场景
说明

对于每个服务边界,请在 Google Cloud 控制台中确认边界类型已设置为常规。

适用的产品
  • Access Context Manager
  • VPC Service Controls
路径 accesscontextmanager.accessPolicies.servicePerimeters/perimeterType
运算符 ==
  • PERIMETER_TYPE_REGULAR
类型 字符串
相关 NIST-800-53 控制措施
  • SC-7
  • SC-8
相关 CRI 配置文件控制措施
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
相关信息

限制 VPC Service Controls 服务边界内的 API

Google 控制 ID COM-CO-8.2
类别 推荐用于生成式 AI 的应用场景
说明

对于每个服务边界,请使用 Access Context Manager 确认该边界是否在保护 API。

适用的产品
  • VPC Service Controls
  • Access Context Manager
路径 accesscontextmanager.accessPolicies.servicePerimeters/status.restrictedServices
运算符 Anyof
  • aiplatform.googleapis.com
  • artifactregistry.googleapis.com
  • bigquery.googleapis.com
  • cloudasset.googleapis.com
  • cloudbuild.googleapis.com
  • cloudfunctions.googleapis.com
  • cloudresourcemanager.googleapis.com
  • containeranalysis.googleapis.com
  • discoveryengine.googleapis.com
  • dns.googleapis.com
  • notebooks.googleapis.com
  • ondemandscanning.googleapis.com
  • orgpolicy.googleapis.com
  • pubsub.googleapis.com
  • secretmanager.googleapis.com
  • storage.googleapis.com
  • visionai.googleapis.com
类型 字符串
相关 NIST-800-53 控制措施
  • SC-7
  • SC-8
相关 CRI 配置文件控制措施
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
相关信息

可选的通用控制措施

您可以根据组织的要求,选择性地实现以下常见控制措施。

启用 Access Transparency 日志

Google 控制 ID COM-CO-7.7
类别 可选
说明

Access Transparency 会提供有关 Google 员工在访问您的内容时所采取的操作的日志。

您可以在组织级层启用 Access Transparency。

适用的产品
  • Access Transparency
相关 NIST-800-53 控制措施
  • AU-2
  • AU-3
  • AU-8
  • AU-9
相关 CRI 配置文件控制措施
  • DM.ED-7.1
  • DM.ED-7.2
  • DM.ED-7.3
  • DM.ED-7.4
  • PR.IP-1.4
相关信息

后续步骤