Cloud Key Management Service 概览

借助 Cloud Key Management Service (Cloud KMS),您可以创建和管理 CMEK 密钥,以便在兼容的 Google Cloud 服务和您自己的应用中使用。使用 Cloud KMS,您可以执行以下操作:

  • 生成软件密钥或硬件密钥、将现有密钥导入 Cloud KMS,或在兼容的外部密钥管理 (EKM) 系统中关联外部密钥。

  • 在支持 CMEK 集成的 Google Cloud 产品中使用客户管理的加密密钥 (CMEK)。CMEK 集成会使用您的 CMEK 密钥来加密或“封装”您的数据加密密钥 (DEK)。使用密钥加密密钥 (KEK) 封装 DEK 称为封套加密

  • 使用 Cloud KMS Autokey 自动进行预配和分配。借助 Autokey,您无需提前预配密钥环、密钥和服务账号。而是在资源创建过程中按需生成它们。

  • 使用 Cloud KMS 密钥执行加密和解密操作。例如,您可以使用 Cloud KMS API 或客户端库将 Cloud KMS 密钥用于客户端加密

  • 使用 Cloud KMS 密钥创建或验证数字签名消息认证代码 (MAC) 签名

根据您的需求选择合适的加密方式

您可以使用下表确定哪种加密类型可满足每种用例的需求。最适合您需求的解决方案可能包括混合使用多种加密方法。例如,您可以为敏感性较低的数据使用软件密钥,并为敏感性最高的数据使用硬件密钥或外部密钥。如需详细了解本部分介绍的加密选项,请参阅本页中的保护 Google Cloud 中的数据

加密类型 费用 兼容的服务 特性
Google 拥有和 Google 管理的密钥(Google Cloud 默认加密) 已包含 存储客户数据的所有 Google Cloud 服务
  • 无需任何配置。
  • 自动加密保存在任何 Google Cloud 服务中的客户数据。
  • 大多数服务都会自动轮替密钥。
  • 支持使用 AES-256 进行加密。
  • 已通过 FIPS 140-2 等级 1 验证。
客户管理的加密密钥 - 软件
(Cloud KMS 密钥)
每个密钥版本 $0.06 40 多项服务
  • 您可以控制自动密钥轮替时间表;IAM 角色和权限;启用、停用或销毁密钥版本。
  • 支持对称密钥和非对称密钥进行加密和解密
  • 自动轮替对称密钥
  • 支持多种常用算法
  • 已通过 FIPS 140-2 等级 1 验证。
  • 密钥是客户专有的。
客户管理的加密密钥 - 硬件
(Cloud HSM 密钥)
每个密钥版本每月 1.00 到 2.50 美元 40 多项服务
  • 可通过 Cloud KMS Autokey 进行管理。
  • 您可以控制自动密钥轮替时间表;IAM 角色和权限;启用、停用或销毁密钥版本。
  • 支持对称密钥和非对称密钥进行加密和解密
  • 自动轮替对称密钥
  • 支持多种常用算法
  • 已通过 FIPS 140-2 3 级验证。
  • 每个客户的键都是唯一的。
客户管理的加密密钥 - 外部
(Cloud EKM 密钥)
每个密钥版本每月 $3.00 30 多项服务
  • 您可以控制 IAM 角色和权限;启用、停用或销毁密钥版本。
  • 系统绝不会将密钥发送给 Google。
  • 密钥材料位于兼容的外部密钥管理 (EKM) 提供程序中。
  • 兼容的 Google Cloud 服务通过互联网虚拟私有云 (VPC) 连接到您的 EKM 提供商。
  • 支持对称密钥进行加密和解密
  • 与 Cloud EKM 和 EKM 提供商协调,手动轮替密钥。
  • 已通过 FIPS 140-2 2 级或 FIPS 140-2 3 级验证(具体取决于 EKM)。
  • 密钥是客户专有的。
使用 Cloud KMS 密钥进行客户端加密 有效密钥版本的费用取决于密钥的保护级别。 在应用中使用客户端库
  • 您可以控制自动密钥轮替时间表;IAM 角色和权限;启用、停用或销毁密钥版本。
  • 支持对称密钥和非对称密钥,用于加密、解密、签名和签名验证
  • 功能因密钥保护级别而异。
客户提供的加密密钥 可能会增加与 Compute Engine 或 Cloud Storage 相关的费用
  • 您在需要时提供关键材料。
  • 密钥材料位于内存中 - Google 不会将您的密钥永久存储在我们的服务器上。
机密计算 每个机密虚拟机的额外费用;可能会增加日志使用量和相关费用
  • 为处理敏感数据或工作负载的虚拟机提供使用中加密。
  • Google 无法访问密钥。

保护 Google Cloud 中的数据

Google 拥有的密钥和 Google 管理的密钥(Google Cloud 默认加密)

默认情况下,Google Cloud 中的静态数据由 Google 内部密钥管理服务 Keystore 中的密钥保护。Google 会自动管理密钥库中的密钥,您无需进行任何配置。大多数服务都会自动为您轮替密钥。Keystore 支持主密钥版本和少量旧版密钥。主密钥版本用于加密新的加密数据密钥。旧版密钥仍可用于解密现有数据加密密钥。您无法查看或管理这些密钥,也无法查看密钥使用情况日志。来自多个客户的数据可能会使用相同的密钥加密密钥。

此默认加密功能使用经过验证符合 FIPS 140-2 1 级要求的加密模块。

客户管理的加密密钥 (CMEK)

用于保护集成 CMEK 的服务中的资源的 Cloud KMS 密钥是客户管理的加密密钥 (CMEK)。您可以拥有和控制 CMEK,同时将密钥创建和分配任务委托给 Cloud KMS Autokey。如需详细了解如何自动预配 CMEK,请参阅 Cloud Key Management Service with Autokey

您可以在兼容的服务中使用 Cloud KMS 密钥,以实现以下目标:

  • 拥有加密密钥。

  • 控制和管理加密密钥,包括选择位置、保护级别、创建、访问权限控制、轮替、使用和销毁。

  • 在停用账号或修复安全事件时,选择性删除由您的密钥保护的数据(加密碎片化)。

  • 创建专用的单租户密钥,在您的数据周围建立加密边界。

  • 记录对加密密钥的管理和数据访问

  • 满足当前或未来法规要求,需要实现任何这些目标。

将 Cloud KMS 密钥与集成了 CMEK 的服务搭配使用时,您可以使用组织政策来确保 CMEK 的使用方式符合政策中指定的要求。例如,您可以设置组织政策,确保兼容的 Google Cloud 资源使用 Cloud KMS 密钥进行加密。组织政策还可以指定密钥资源必须位于哪个项目中。

提供的功能和保护级别取决于密钥的保护级别:

  • 软件密钥 - 您可以在 Cloud KMS 中生成软件密钥,并在所有 Google Cloud 位置中使用这些密钥。您可以创建具有自动轮替功能的对称密钥,也可以创建具有手动轮替功能的非对称密钥。客户管理的软件密钥使用已通过 FIPS 140-2 1 级验证的软件加密模块。您还可以控制轮替周期、Identity and Access Management (IAM) 角色和权限,以及管理密钥的组织政策。您可以将软件密钥用于 40 多项兼容的 Google Cloud 资源

  • 导入的软件密钥 - 您可以导入在其他位置创建的软件密钥,以便在 Cloud KMS 中使用。您可以导入新的密钥版本,以手动轮替导入的密钥。您可以使用 IAM 角色、权限和组织政策来管理导入的密钥的使用。

  • 硬件密钥和 Cloud HSM - 您可以在 FIPS 140-2 3 级硬件安全模块 (HSM) 集群中生成硬件密钥。您可以控制轮替周期、IAM 角色和权限,以及用于管理密钥的组织政策。使用 Cloud HSM 创建 HSM 密钥时,Google 会管理 HSM 集群,因此您无需自行管理。您可以将 HSM 密钥用于 40 多项兼容的 Google Cloud 资源(即支持软件密钥的服务)。如需实现最高级别的安全合规性,请使用硬件密钥。

  • 外部密钥和 Cloud EKM - 您可以使用位于外部密钥管理器 (EKM) 中的密钥。借助 Cloud EKM,您可以使用受支持的密钥管理工具中存储的密钥来保护 Google Cloud 资源。您可以通过互联网Virtual Private Cloud (VPC) 连接到 EKM。某些支持软件或硬件密钥的 Google Cloud 服务不支持 Cloud EKM 密钥。

Cloud KMS 密钥

您可以使用 Cloud KMS 客户端库Cloud KMS API 在自定义应用中使用 Cloud KMS 密钥。借助客户端库和 API,您可以对数据进行加密和解密、对数据进行签名以及验证签名。

客户提供的加密密钥 (CSEK)

Cloud StorageCompute Engine 可以使用客户提供的加密密钥 (CSEK)。使用客户提供的加密密钥时,您可以存储密钥材料,并在需要时将其提供给 Cloud Storage 或 Compute Engine。Google 不会以任何方式存储您的 CSEK。

机密计算

在 Compute Engine、GKE 和 Dataproc 中,您可以使用机密计算平台加密使用中的数据。机密计算可确保您的数据即使在处理时也能保持不公开和加密状态。