Cloud KMS 位置

您可以在一个项目中的多个位置之一创建 Cloud Key Management Service 资源。这些资源代表地理区域,可在其中存储并访问 Cloud KMS 资源。密钥的位置会影响使用该密钥的应用的性能。某些资源(如 Cloud HSM 密钥)并非在所有位置都有提供。

Cloud KMS 和 Cloud HSM 密钥的密钥材料仅限于静态和使用中的选定区域。

Cloud KMS 的位置类型

您可以在 Google Cloud 中不同类型的位置创建 Cloud KMS、Cloud HSM 和 Cloud EKM 资源,具体取决于您的可用性要求。位置会定期添加。如需了解每个位置的具体信息,请参阅位置

您可以详细了解如何选择最佳位置类型

地区位置

地区位置的数据中心位于特定的地理位置。例如,在 us-central1 地区创建的资源位于美国中部。

可以在以下区域位置创建 Cloud KMS 资源:

区域名称 区域说明 Cloud HSM 可用性 Cloud EKM 可用性
asia-east1 台湾
asia-east2 香港
asia-northeast1 东京
asia-northeast2 大阪
asia-northeast3 首尔
asia-south1 孟买
asia-southeast1 新加坡
asia-southeast2 雅加达
australia-southeast1 悉尼
europe-north1 芬兰
europe-west1 比利时
europe-west2 伦敦
europe-west3 法兰克福
europe-west4 荷兰
europe-west6 苏黎世
northamerica-northeast1 蒙特利尔
us-central1 爱荷华
us-east1 南卡罗来纳
us-east4 北弗吉尼亚
us-west1 俄勒冈
us-west2 洛杉矶
us-west3 盐湖城
us-west4 拉斯维加斯
southamerica-east1 圣保罗

双地区位置

一个双地区位置的数据中心位于两个特定地理位置。例如,在 nam4 双地区位置创建的资源仍然位于美国中部和东部的数据中心内。

可以在以下双区域位置创建 Cloud KMS 资源:

双地区名称 双地区说明(粗体表示第三个副本) Cloud HSM 可用性 Cloud EKM 可用性
asia1 东京、大阪和首尔
eur4 芬兰、荷兰和比利时
nam4 爱荷华、南卡罗来纳和俄克拉荷马

多地区位置

多地区位置的数据中心分布在宽泛的地理区域中。例如,在 europe 多地区中创建的资源保存在分布在欧洲的多个数据中心。您无法准确预测或控制所选的数据中心或它们在多地区内的位置。

可以在以下多地区位置创建 Cloud KMS 资源:

多地区名称 Cloud HSM 可用性 Cloud EKM 可用性
global
asia
europe
us

全球位置

global 位置是一个特殊的多区域。其数据中心遍布全球。您无法准确预测或控制所选的数据中心或数据中心的位置。

选择最佳类型的位置

通常,应用的设计应使其所有组件在地理位置上彼此靠近,并靠近应用的客户端。密钥的位置是应用设计的一个重要方面。密钥一经创建便无法移动或导出。

使用多区域位置(如 europe 多区域)时,资源会分布在多个区域的多个数据中心。在包含 global 位置在内的多区域位置创建和更新密钥,效率可能低于使用单区域位置。如需了解详情,请参阅读取和写入多区域位置

如果满足以下所有条件,请使用 global 位置:

  • 您的应用组件已在全球分布
  • 您的读取或写入操作较少,但经常使用其他加密操作
  • 您无需将密钥存储在 HSM 中
  • 您的密钥没有地理位置的要求

对于客户管理的加密密钥 (CMEK) 集成,您必须使用与该集成相关的其他资源所在的确切位置。一些 CMEK 集成不支持 global 位置。

如需详细了解 CMEK 集成,请参阅静态加密的相关部分。

双区域位置仅支持与同时使用双区域位置的 Cloud Storage 资源搭配使用。

Cloud EKM 资源依赖于 Google Cloud 与在 Google Cloud 以外的外部密钥管理服务之间的连接。对于 Cloud External Key Manager 资源,请选择地理位置尽可能接近通过外部密钥管理服务存储密钥的位置。

Cloud HSM 依赖于位置的数据中心内物理硬件的可用性。对于 Cloud HSM 资源,请选择支持 Cloud HSM 的位置。

Cloud HSM 资源具有特定于位置的配额。Cloud KMS 配额是全球性的。

双区域和多区域位置具有单独的配额,与单区域位置的配额无关。例如,要在 nam4 双区域创建 Cloud HSM 资源,您必须在 nam4 有 HSM 配额,即使您已在 nam4 有单区域配额,例如 us-central1

读取和写入多区域位置

在双区域或多区域位置(包括 global 位置)读取和写入资源或关联元数据的速度可能比从单区域读取或写入的速度要慢。

  • 创建或读取密钥版本时,存储密钥材料的数据中心始终需要达成共识。对单区域的读写通常比对双区域或多区域位置的读取和写入更高效。
  • 当您执行加密操作(例如加密或解密数据)时,无需取得共识。对于加密操作,双区域和多区域位置的性能与单区域位置相似。
  • 如果将密钥存储在其保护或验证的数据附近的地理位置,加密操作通常会更高效。

每个应用在性能和可用性之间的权衡具有唯一性。多区域位置(包括双区域或 global)最适合读取繁重的工作负载。

确定可用区域

您可以使用 Cloud SDK 或 Cloud Key Management Service API 获取可用区域的列表。

gcloud

gcloud kms locations list

在命令的输出中,HSM_AVAILABLE 列指示该位置是否支持 Cloud HSM。

API

使用 Locations.getLocations.list 方法。

这两种方法的响应都包含与位置功能相关的布尔值字段:

  • 如果某个位置支持 Cloud HSM 密钥,则 hsmAvailabletrue

  • 如果某个位置支持 Cloud EKM 密钥,则 ekmAvailabletrue

后续步骤