Google Cloud 对资源用量实施配额限制。Cloud KMS 对密钥、密钥环、密钥版本和位置等资源的用量设有配额。如需详细了解如何管理或增加配额,请参阅监控和调整 Cloud KMS 配额。
KeyRing
、CryptoKey
或 CryptoKeyVersion
资源的数量没有配额限制,只有操作次数有配额限制。
这些操作的某些配额适用于调用项目,即调用 Cloud KMS 服务的 Google Cloud 项目。其他配额适用于托管项目,即包含操作所用密钥的 Google Cloud 项目。
调用项目配额不包括 Google Cloud 服务使用 Cloud KMS 密钥进行客户管理的加密密钥 (CMEK) 集成所产生的用量。例如,直接来自 BigQuery、Bigtable 或 Spanner 的加密和解密请求不会计入加密请求配额。
Google Cloud 控制台会以每分钟查询 (QPM) 为单位列出每项配额的限制,但托管项目的配额是按秒强制执行的。每秒查询次数 (QPS) 中强制执行的配额会拒绝超出 QPS 限额的请求,即使您的每分钟使用量低于列出的 QPM 限额也是如此。如果超过了 QPS 限额,您会收到 RESOURCE_EXHAUSTED
错误。
Cloud KMS 资源用量配额
下表列出了适用于 Cloud KMS 资源的各种配额。该表列出了每项配额的名称和限制、配额适用的项目,以及计入配额的操作。您可以在字段中输入关键字以过滤表。例如,您可以输入 calling 以仅查看应用于调用方项目的配额,或者输入 encrypt 以仅查看与加密操作相关的配额:
配额示例
以下部分通过以下示例项目介绍了每项配额的示例:
KEY_PROJECT
- 一个包含 Cloud KMS 密钥(包括 Cloud HSM 和 Cloud EKM 密钥)的 Google Cloud 项目。SPANNER_PROJECT
- 一个 Google Cloud 项目,其中包含使用位于KEY_PROJECT
中的客户管理的加密密钥 (CMEK) 的 Spanner 实例。SERVICE_PROJECT
- 一个 Google Cloud 项目,其中包含用于管理KEY_PROJECT
中的 Cloud KMS 资源的服务帐号。
读请求次数
读取请求配额限制用于限制来自调用 Cloud KMS API 的 Google Cloud 项目的读取请求。例如,使用 Google Cloud CLI 从 KEY_PROJECT
查看 KEY_PROJECT
中的密钥列表将计入 KEY_PROJECT
读取请求配额。如果您使用 SERVICE_PROJECT
中的服务帐号查看密钥列表,则读取请求将计入 SERVICE_PROJECT
读取请求配额。
使用 Google Cloud 控制台查看 Cloud KMS 资源不会占用读取请求配额。
写请求次数
写入请求配额限制用于限制来自调用 Cloud KMS API 的 Google Cloud 项目的写入请求。例如,使用 gcloud CLI 在 KEY_PROJECT
中创建密钥将计入 KEY_PROJECT
写入请求配额。如果您在 SERVICE_PROJECT
中使用服务帐号创建密钥,则写入请求将计入 SERVICE_PROJECT
写入请求配额。
使用 Google Cloud 控制台创建或管理 Cloud KMS 资源不会计入读取请求配额。
加密请求数
加密请求配额会限制 Google Cloud 项目中调用 Cloud KMS API 的加密操作。例如,如果使用 API 调用(来自在 SERVICE_PROJECT
中运行的服务帐号资源使用 KEY_PROJECT
中的密钥)对数据进行加密,则会计入 SERVICE_PROJECT
加密请求配额。
使用 CMEK 集成对 SPANNER_PROJECT
中 Spanner 资源中的数据进行加密和解密时,不会计入 SPANNER_PROJECT
的加密请求配额。
每个区域的 HSM 对称加密请求数
“每个区域的 HSM 对称加密请求数”配额限制使用包含这些密钥的 Google Cloud 项目中的对称 Cloud HSM 密钥进行加密操作。 例如,使用对称 HSM 密钥加密 Spanner 资源中的数据会计入 KEY_PROJECT
“每个区域的 HSM 对称加密请求数” 配额。
每个区域的 HSM 非对称加密请求数
“每个区域的 HSM 非对称加密请求数”配额用于限制使用包含这些密钥的 Google Cloud 项目中的非对称 Cloud HSM 密钥的加密操作。例如,使用非对称 HSM 密钥加密 Spanner 资源中的数据将计入 KEY_PROJECT
每个区域的 HSM 非对称加密请求数配额。
HSM 按区域生成随机请求
HSM 为每个区域生成随机请求配额限制,在请求消息中指定的 Google Cloud 项目中使用 Cloud HSM 生成随机字节操作。例如,任何来源在 KEY_PROJECT
中生成随机字节的请求将计入 KEY_PROJECT
HSM 按区域生成随机请求配额。
每个区域的外部加密请求数
“每个区域的外部加密请求数”配额会限制使用包含这些密钥的 Google Cloud 项目中的外部 (Cloud EKM) 密钥的加密操作。例如,使用 EKM 密钥加密 Spanner 资源中的数据会计入 KEY_PROJECT
每个区域的外部加密请求数配额。
配额错误信息
如果您在达到配额后发出请求,您的请求将导致 RESOURCE_EXHAUSTED
错误。HTTP 状态代码为 429
。如需了解客户端库如何给出 RESOURCE_EXHAUSTED
错误,请参阅客户端库映射。
如果您收到 RESOURCE_EXHAUSTED
错误,则表示您每秒发送的加密操作请求可能过多。即使 Google Cloud 控制台显示您处于每分钟查询限制内,也可能会收到 RESOURCE_EXHAUSTED
错误。之所以发生此问题,是因为 Cloud KMS 托管项目配额是每分钟显示,但实际上是每秒强制执行。如需详细了解如何监控指标,请参阅配额指标的监控和提醒。
如需详细了解如何排查 Cloud KMS 配额问题,请参阅排查配额问题。