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 资源的每个配额。该表会显示每个配额的名称和上限、配额适用的项目,以及计入配额的操作。您可以在该字段中输入关键字以过滤表格。例如,您可以输入调用,以便仅查看应用于调用项目的配额;也可以输入加密,以便仅查看与加密操作相关的配额:
配额示例
以下部分包含使用以下示例项目的每个配额示例:
KEY_PROJECT
- 包含 Cloud KMS 密钥(包括 Cloud HSM 和 Cloud EKM 密钥)的 Google Cloud 项目。SPANNER_PROJECT
- 一个 Google Cloud 项目,其中包含一个 Spanner 实例,该实例使用位于KEY_PROJECT
中的客户管理的加密密钥 (CMEK)。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 资源不会计入读取请求配额。
加密请求数
加密请求配额用于限制调用 Cloud KMS API 的 Google Cloud 项目的加密操作。例如,使用 KEY_PROJECT
中的密钥通过在 SERVICE_PROJECT
中运行的服务账号资源进行 API 调用来加密数据,会计入 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 配额问题,请参阅排查配额问题。