配额

Google Cloud 会对资源用量实施配额限制。Cloud KMS 对密钥、密钥环、密钥版本和位置等资源的用量设有配额限制。如需详细了解如何管理或增加配额,请参阅 监控和调整 Cloud KMS 配额

查看 Cloud KMS 配额

KeyRingCryptoKeyCryptoKeyVersion 资源的数量没有配额限制,但操作次数有配额限制。

这些操作的一些配额适用于调用项目(即 Google Cloud 调用Cloud KMS 服务的项目)。其他配额适用于托管项目(即 Google Cloud 包含用于 操作的密钥的项目)。

调用项目配额不包括使用 Google Cloud Cloud KMS 密钥进行 客户管理的加密密钥 (CMEK) 集成的服务生成的用量。 例如,直接来自 BigQuery、Bigtable 或 Spanner 的加密和解密请求不会计入 加密请求配额。

控制台以每分钟查询次数 (QPM) 列出每个配额的限制,但托管项目配额按秒实施。 Google Cloud 以每秒查询次数 (QPS) 实施的配额 会拒绝超出 QPS 限制的请求, 即使您的每分钟用量低于列出的 QPM 限制也是如此。如果您超出 QPS 限制,则会收到 RESOURCE_EXHAUSTED 错误

Cloud KMS 资源用量配额

下表列出了应用于 Cloud KMS 资源的每个配额。该表给出了每个配额的名称和限制、配额适用的项目,以及计入配额的操作。您可以在字段中输入关键字 来过滤表格。例如,您可以输入调用以仅查看 应用于调用项目的配额,或者输入加密以仅查看与加密操作 相关的配额:

Quota 项目 限制 资源和操作
读请求次数
cloudkms.googleapis.com​/read_requests
调用项目 300 QPM

cryptoKeys: getgetIamPolicylisttestIamPermissions

cryptoKeyVersions: getlist

ekmConnections: getgetIamPolicylisttestIamPermissionsverifyConnectivity

importJobsgetgetIamPolicylisttestIamPermissions

keyRings: getgetIamPolicylisttestIamPermissions

locationsgetlist

豁免:来自 Google Cloud 控制台的操作。

写请求次数
cloudkms.googleapis.com​/write_requests
调用项目 60 QPM

cryptoKeys: createpatchsetIamPolicyupdatePrimaryVersion

cryptoKeyVersions: createdestroyimportpatchrestore

ekmConnections: createpatchsetIamPolicy

importJobs: createsetIamPolicy

keyRingscreatesetIamPolicy

豁免:来自 Google Cloud 控制台的操作。

加密请求数
cloudkms.googleapis.com​/crypto_requests
调用项目 60,000 QPM

cryptoKeysencryptdecrypt

cryptoKeyVersionsasymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerifyrawEncryptrawDecrypt

locationsgenerateRandomBytes

豁免:来自 CMEK 集成的操作。

每个区域的 HSM 对称加密请求数
cloudkms.googleapis.com​/hsm_symmetric_requests
托管项目 500 QPS

cryptoKeysencryptdecrypt

cryptoKeyVersionsasymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerifyrawEncryptrawDecrypt

豁免:单租户 Cloud HSM 密钥。

每个区域的 HSM 非对称加密请求数
cloudkms.googleapis.com​/hsm_asymmetric_requests
托管项目 50 QPS

cryptoKeysencryptdecrypt

cryptoKeyVersions: asymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerify

豁免:单租户 Cloud HSM 密钥。

每个区域的 HSM 生成随机请求数
cloudkms.googleapis.com​/hsm_generate_random_requests
托管项目 50 QPS

locationsgenerateRandomBytes

豁免:单租户 Cloud HSM 密钥。

每个区域的外部加密请求数
cloudkms.googleapis.com​/external_kms_requests
托管项目 100 QPS

cryptoKeysencryptdecrypt

cryptoKeyVersions: asymmetricDecryptasymmetricSigngetPublicKeymacSignmacVerify

配额示例

以下部分包含每个配额的示例,这些示例使用以下 示例项目:

  • KEY_PROJECT - 一个包含 Cloud KMS 密钥的项目,包括多租户 Cloud HSM 和 Cloud EKM 密钥。 Google Cloud

  • SPANNER_PROJECT - 一个包含 Google Cloud Spanner 实例的项目,该实例使用位于 KEY_PROJECT 中的客户管理的加密密钥 (CMEK) 。

  • SERVICE_PROJECT - 一个包含服务帐号,您可以使用该服务账号来管理位于 KEY_PROJECT 中的 Cloud KMS 资源。 Google Cloud

读请求次数

读请求次数配额限制了调用 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 项目的加密操作。例如,使用在 SERVICE_PROJECT 中运行的服务帐号资源通过 KEY_PROJECT 中的密钥加密数据会计入 SERVICE_PROJECT加密请求数 配额。

使用 CMEK 集成在 SPANNER_PROJECT 中的 Spanner 资源中加密和解密数据不会计入 加密请求数 配额。SPANNER_PROJECT

每个区域的 HSM 对称加密请求数

每个区域的 HSM 对称加密请求数 配额限制了在包含对称 Cloud HSM 密钥的项目中使用这些密钥的加密操作。 Google Cloud例如,使用对称 HSM 密钥加密 Spanner 资源中的数据会计入 KEY_PROJECT HSM 对称加密请求数(每个区域) 配额。

每个 区域的 HSM 非对称加密请求数

每个区域的 HSM 非对称加密请求数 配额限制了在包含非对称 Cloud HSM 密钥的项目中使用这些密钥的加密操作。 Google Cloud例如,使用非对称 HSM 密钥加密 Spanner 资源中的数据会计入 KEY_PROJECT 每个区域的 HSM 非对称加密请求数 配额。

每个区域的 HSM 生成随机 请求数

每个区域的 HSM 生成随机请求数 配额限制了在请求消息中指定的项目中使用Cloud HSM 的生成随机字节操作。 Google Cloud 例如,来自任何来源的在 KEY_PROJECT 中生成随机 字节的请求会计入 KEY_PROJECT 每个区域的 HSM 生成随机请求数 配额。

每个 区域的外部加密请求数

每个区域的外部加密请求数 配额限制了在包含外部 (Cloud EKM) 密钥的项目中使用这些密钥的加密操作。 Google Cloud 例如,使用 EKM 密钥加密 Spanner 资源中的数据会计入 KEY_PROJECT 每个区域的外部加密请求数 配额。

配额错误信息

如果您在达到配额后发出请求,您的请求将导致 RESOURCE_EXHAUSTED错误。HTTP 状态代码为 429。如需了解 客户端库如何给出 RESOURCE_EXHAUSTED 错误,请参阅 客户端库 映射

如果您收到 RESOURCE_EXHAUSTED 错误,则可能是您每秒发送的 加密操作请求过多。即使 Google Cloud 控制台显示您在每分钟查询次数限制范围内,您也可能会收到 RESOURCE_EXHAUSTED错误。出现此问题的原因是 Cloud KMS 托管项目配额按分钟显示,但按 秒实施。如需详细了解监控指标,请参阅 设置配额提醒和监控

如需详细了解如何排查 Cloud KMS 配额问题,请参阅 排查配额问题

后续步骤