您可以在一个项目中的多个位置之一创建 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 支持,请参阅下表:
区域名称 | 区域说明 | Cloud HSM 可用性 | Cloud EKM 可用性 |
---|---|---|---|
asia-east1 |
台湾 | 有 | 有 |
asia-east2 |
香港 | 有 | 有 |
asia-northeast1 |
东京 | 有 | 有 |
asia-northeast2 |
大阪 | 有 | 有 |
asia-northeast3 |
首尔 | 是 | 有 |
asia-south1 |
孟买 | 有 | 有 |
asia-south2 |
德里 | 有 | 有 |
asia-southeast1 |
新加坡 | 有 | 有 |
asia-southeast2 |
雅加达 | 有 | 有 |
australia-southeast1 |
悉尼 | 有 | 有 |
australia-southeast2 |
墨尔本 | 有 | 有 |
europe-central2 |
华沙 | 有 | 是 |
europe-north1 |
芬兰 | 有 | 有 |
europe-west1 |
比利时 | 有 | 有 |
europe-west2 |
伦敦 | 有 | 有 |
europe-west3 |
法兰克福 | 有 | 有 |
europe-west4 |
荷兰 | 有 | 有 |
europe-west6 |
苏黎世 | 有 | 有 |
europe-west8 |
米兰 | 有 | 仅通过互联网 |
europe-west9 |
巴黎 | 否 | 仅通过互联网 |
europe-southwest1 |
马德里 | 否 | 仅通过互联网 |
northamerica-northeast1 |
蒙特利尔 | 有 | 有 |
northamerica-northeast2 |
多伦多 | 有 | 有 |
us-central1 |
爱荷华 | 有 | 有 |
us-east1 |
南卡罗来纳 | 有 | 有 |
us-east4 |
北弗吉尼亚 | 有 | 有 |
us-east5 |
哥伦布 | 有 | 仅通过互联网 |
us-west1 |
俄勒冈 | 有 | 有 |
us-west2 |
洛杉矶 | 有 | 有 |
us-west3 |
盐湖城 | 是 | 有 |
us-west4 |
拉斯维加斯 | 有 | 有 |
us-south1 |
达拉斯 | 有 | 仅通过互联网 |
southamerica-east1 |
圣保罗 | 有 | 有 |
southamerica-west1 |
圣地亚哥 | 有 | 有 |
双地区位置
一个双地区位置的数据中心位于两个特定地理位置。例如,在 nam4
双地区位置创建的资源仍然位于美国中部和东部的数据中心内。
Cloud KMS 支持适用于表中列出的所有双区域位置。如需了解双区域位置的 Cloud HSM 和 Cloud EKM 支持,请参阅下表:
双区域名称 | 双地区说明(粗体表示第三个副本) | Cloud HSM 可用性 | Cloud EKM 可用性 | |
---|---|---|---|---|
asia1 |
东京、大阪和首尔 | 有 | 否 | |
eur4 |
芬兰、荷兰和比利时 | 有 | 仅通过互联网 | |
eur5 |
伦敦、荷兰和比利时 | 有 | 仅通过互联网 | |
nam4 |
爱荷华、南卡罗来纳和俄克拉荷马 | 有 | 仅通过互联网 |
多地区位置
多地区位置的数据中心分布在宽泛的地理区域中。例如,在 europe
多区域中创建的资源会保留在欧盟的多个数据中心内。您无法准确预测或控制所选的数据中心或它们在多地区内的位置。
Cloud KMS 支持适用于表中列出的所有多区域位置。如需了解多区域位置的 Cloud HSM 和 Cloud EKM 支持,请参阅下表:
多区域名称 | 备注 | Cloud HSM 可用性 | Cloud EKM 可用性 |
---|---|---|---|
global |
有 | 否 | |
asia |
有 | 仅通过互联网 | |
asia1 |
视为 Cloud Storage 的双区域。 | 有 | 仅通过互联网 |
eur3 |
有 | 仅通过互联网 | |
eur5 |
视为 Cloud Storage 的双区域。 | 有 | 仅通过互联网 |
eur6 |
否 | 仅通过互联网 | |
europe |
欧盟成员国的数据中心1 | 有 | 仅通过互联网 |
nam-eur-asia1 |
北美、欧洲1和亚洲 | 否 | 否 |
nam3 |
有 | 仅通过互联网 | |
nam6 |
有 | 仅通过互联网 | |
nam7 |
否 | 仅通过互联网 | |
nam8 |
否 | 仅通过互联网 | |
nam9 |
有 | 仅通过互联网 | |
nam10 |
否 | 仅通过互联网 | |
nam11 |
否 | 仅通过互联网 | |
nam12 |
否 | 仅通过互联网 | |
us |
有 | 仅通过互联网 |
europe
多区域位置创建的资源不会存储在 europe-west2
(伦敦)或 europe-west6
(苏黎世)数据中心中。全球位置
global
位置是一个特殊的多区域。其数据中心遍布全球。您无法准确预测或控制所选的数据中心或数据中心的位置。
选择最佳类型的位置
通常,应用的设计应使其所有组件在地理位置上彼此靠近,并靠近应用的客户端。密钥的位置是应用设计的一个重要方面。密钥一经创建便无法移动或导出。
使用多区域位置(如 europe
多区域)时,资源会分布在多个区域的多个数据中心。在包含 global
位置在内的多区域位置创建和更新密钥,效率可能低于使用单区域位置。如需了解详情,请参阅读取和写入多区域位置。
如果满足以下所有条件,请使用 global
位置:
- 您的应用组件已在全球分布
- 您的读取或写入操作较少,但经常使用其他加密操作
- 您的密钥没有地理位置的要求
对于客户管理的加密密钥 (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 配额是全球性的。
双区域和多区域位置具有单独的配额,与单区域位置的配额无关。例如,如需在 eur5
双区域中创建 Cloud HSM 资源,您必须在 eur5
中有 HSM 配额,即使您已在 eur5
中有单区域配额,例如 europe-west2
。
读取和写入多区域位置
在双区域或多区域位置(包括 global
位置)读取和写入资源或关联元数据的速度可能比从单区域读取或写入的速度要慢。
- 创建或读取密钥版本时,存储密钥材料的数据中心始终需要达成共识。对单区域的读写通常比对双区域或多区域位置的读取和写入更高效。
- 当您执行加密操作(例如加密或解密数据)时,无需取得共识。对于加密操作,双区域和多区域位置的性能与单区域位置相似。
- 如果将密钥存储在其保护或验证的数据附近的地理位置,加密操作通常会更高效。
每个应用在性能和可用性之间的权衡具有唯一性。多区域位置(包括双区域或 global
)最适合读取繁重的工作负载。
确定可用区域
您可以使用 Google Cloud CLI 或 Cloud Key Management Service API 获取可用区域的列表。
gcloud
gcloud kms locations list
在命令的输出中,HSM_AVAILABLE
列指示该位置是否支持 Cloud HSM。 EKM_AVAILABLE
列指示该位置是否支持 Cloud External Key Manager。注意,通过 VPC 密钥的 EKM 目前仅在区域位置提供。
API
使用 Locations.get
和 Locations.list
方法。
这两种方法的响应都包含与位置功能相关的布尔值字段:
如果某个位置支持 Cloud HSM 密钥,则
hsmAvailable
为true
。如果某个位置支持 Cloud EKM 密钥,则
ekmAvailable
为true
。注意,通过 VPC 密钥的 EKM 目前仅在区域位置可用。