借助 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 服务 |
|
客户管理的加密密钥 - 软件 (Cloud KMS 密钥) |
每个密钥版本 $0.06 | 40 多项服务 | |
客户管理的加密密钥 - 硬件 (Cloud HSM 密钥) |
每个密钥版本每月 1.00 到 2.50 美元 | 40 多项服务 | |
客户管理的加密密钥 - 外部 (Cloud EKM 密钥) |
每个密钥版本每月 $3.00 | 30 多项服务 |
|
使用 Cloud KMS 密钥进行客户端加密 | 有效密钥版本的费用取决于密钥的保护级别。 | 在应用中使用客户端库 |
|
客户提供的加密密钥 | 可能会增加与 Compute Engine 或 Cloud Storage 相关的费用 |
|
|
机密计算 | 每个机密虚拟机的额外费用;可能会增加日志使用量和相关费用 |
|
保护 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 Storage 和 Compute Engine 可以使用客户提供的加密密钥 (CSEK)。使用客户提供的加密密钥时,您可以存储密钥材料,并在需要时将其提供给 Cloud Storage 或 Compute Engine。Google 不会以任何方式存储您的 CSEK。
机密计算
在 Compute Engine、GKE 和 Dataproc 中,您可以使用机密计算平台加密使用中的数据。机密计算可确保您的数据即使在处理时也能保持不公开和加密状态。