Cloud Key Management Service 概览

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

  • 生成软件密钥、将现有密钥导入 Cloud KMS,或在兼容的外部密钥管理 (EKM) 系统中关联外部密钥。
  • 在 Google Cloud产品中使用客户管理的加密密钥 (CMEK) 并集成 CMEK。CMEK 集成使用您的 Cloud KMS 密钥来加密或“封装”您的数据加密密钥 (DEK)。使用密钥加密密钥 (KEK) 封装 DEK 的过程称为信封加密。
  • 使用 Cloud KMS 密钥执行加密和解密操作。例如,您可以使用 Cloud KMS API 或客户端库将 Cloud KMS 密钥用于客户端加密。
  • 使用 Cloud KMS 密钥创建或验证数字签名或消息认证码 (MAC) 签名。
  • 使用 Cloud KMS 密钥,通过密钥封装机制建立共享密钥。

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

您可以使用下表来确定哪种加密类型可满足您在各种使用场景下的需求。最符合您需求的解决方案可能包括多种加密方法。 例如,您可以对最不敏感的数据使用软件密钥,对最敏感的数据使用外部密钥。 如需详细了解本部分中所述的加密选项,请参阅本页面上的保护 Google Cloud中的数据。

加密类型 兼容的服务 特性
Google-owned and Google-managed encryption keys (Google Cloud 默认加密方式) 存储客户数据的所有 Google Cloud 服务
  • 无需任何配置。
  • 自动加密保存在任何 Google Cloud 服务中的客户数据。
  • 大多数服务会自动轮替密钥。
  • 支持使用 AES-256 进行加密。
  • 已通过 FIPS 140-3 1 级验证。
客户管理的加密密钥 - 软件
(Cloud KMS 密钥)
40 多项 服务
  • 您可以控制自动密钥轮替时间表、IAM 角色和权限,以及启用、停用或销毁密钥版本。
  • 支持使用对称和非对称密钥进行加密和解密。
  • 自动轮替对称密钥。
  • 支持多种常见算法。
  • 已通过 FIPS 140-3 1 级验证。
  • 密钥对客户而言是唯一的。
客户管理的加密密钥 - 外部
(Cloud EKM 密钥)
30 多项 服务
  • 您可以控制 IAM 角色和权限;启用、停用或销毁密钥版本。
  • 密钥绝不会发送给 Google。
  • 密钥材料位于兼容的外部密钥管理 (EKM) 提供商中。
  • 兼容的 Google Cloud 服务通过虚拟私有云 (VPC) 连接到您的 EKM 提供商。
  • 支持用于加密和解密的对称密钥。
  • 与 Cloud EKM 和 EKM 提供商协调,手动轮替密钥。
  • 已通过 FIPS 140-2 2 级或 FIPS 140-2 3 级验证,具体取决于 EKM。
  • 密钥对客户而言是唯一的。
使用 Cloud KMS 密钥进行客户端加密 在应用中使用客户端库
  • 您可以控制自动密钥轮替时间表、IAM 角色和权限,以及启用、停用或销毁密钥版本。
  • 支持使用对称和非对称密钥进行加密、解密、签名和签名验证。
  • 功能因密钥保护级别而异。
客户提供的加密密钥
  • 您需要根据需要提供密钥材料。
  • 密钥材料驻留在内存中 - Google 不会在我们的服务器上永久存储您的密钥。

注意:价格因加密类型和保护级别而异。如需了解详情,请参阅 Google Cloud与您分享的价格详情。

保护 Google Cloud中的数据

Google-owned and Google-managed encryption keys (Google Cloud 默认加密方式)

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

此默认加密使用经过验证符合 FIPS 140-3 级别 1 标准的加密模块。

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

用于在集成 CMEK 的服务中保护资源的 Cloud KMS 密钥是客户管理的加密密钥 (CMEK)。

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

  • 拥有自己的加密密钥。

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

  • 在离职或修复安全事件(加密粉碎)时,选择性地删除受密钥保护的数据。

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

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

  • 满足当前或未来法规对这些目标的要求。

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

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

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

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

  • 外部密钥和 Cloud EKM - 您可以使用位于外部密钥管理器 (EKM) 中的密钥。借助 Cloud EKM,您可以使用受支持的密钥管理器中保存的密钥来保护Google Cloud 资源。 您通过虚拟私有云 (VPC) 连接到 EKM。 某些支持 Cloud KMS 密钥的 Google Cloud 服务不支持 Cloud EKM 密钥。

Cloud KMS 密钥

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

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

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