

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配额
<a name="limits"></a>

为了提高所有用户的 AWS KMS 响应能力和性能， AWS KMS 应用了两种类型的配额，即资源配额和请求配额。对于每个 AWS 账户的每个区域，每个配额均单独计算。

除[按需轮换资源 AWS KMS 配额和AWS CloudHSM 密钥库请求配额](resource-limits.md#on-demand-rotation-resource-quota)[外，所有配额](requests-per-second.md#rps-key-stores)均可调整。要请求提高配额，请参阅《服务配额用户指南》**中的[请求提高配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-increase.html)。要申请减少配额、更改未在 Service Quotas 中列出的配额，或者在没有服务配额 AWS 区域 的情况下更改配额，请访问[AWS 支持 中心](https://console.aws.amazon.com/support/home)并创建案例。 AWS KMS 

**Topics**
+ [资源配额](resource-limits.md)
+ [请求配额](requests-per-second.md)
+ [限制请求 AWS KMS](throttling.md)

# 资源配额
<a name="resource-limits"></a>

AWS KMS 建立资源配额，以确保它能够为我们的所有客户提供快速而有弹性的服务。某些资源配额仅适用于您创建的资源，而不适用于 AWS 服务为您创建的资源。如果您使用的资源不属于您的 AWS 账户，例如 [AWS 拥有的密钥](concepts.md#aws-owned-key)，那么这些资源不会计入相应配额。

如果已超出资源限制，那么创建该资源类型的其他请求会生成 `LimitExceededException` 错误消息。

除[按需轮换 AWS KMS 资源配额外，所有资源配额](#on-demand-rotation-resource-quota)均可调整。要请求提高配额，请参阅《服务配额用户指南》**中的[请求提高配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-increase.html)。要申请减少配额、更改未在 Service Quotas 中列出的配额，或者在没有服务配额 AWS 区域 的情况下更改配额，请访问[AWS 支持 中心](https://console.aws.amazon.com/support/home)并创建案例。 AWS KMS 

下表列出并描述了每个 AWS 账户 区域的 AWS KMS 资源配额。


| 限额名称 | 默认 值 | 适用于 | 可调整 | 
| --- | --- | --- | --- | 
| [AWS KMS keys](#kms-keys-limit) | 100000 | 客户自主管理型密钥 | 是 | 
| [每个 KMS 密钥的别名](#aliases-per-key) | 50 | 客户创建的别名 | 是 | 
| [每个 KMS 密钥的授权数](#grants-per-key) | 50000 | 客户自主管理型密钥 | 是 | 
| [自定义密钥存储资源限额](#cks-resource-quota) | 10 | AWS 账户 和区域 | 是 | 
| [按需轮换](#on-demand-rotation-resource-quota) | 25 | 客户自主管理型密钥 | 否 | 

除资源配额外，还 AWS KMS 使用请求配额来确保服务的响应能力。有关更多信息，请参阅 [请求配额](requests-per-second.md)。

## AWS KMS keys：100000
<a name="kms-keys-limit"></a>

在您的 AWS 账户的每个区域中，您最多可以拥有 100000 个[客户托管的密钥](concepts.md#customer-mgn-key)。此配额适用于所有 AWS 区域 中的所有客户托管的密钥，不考虑其[密钥规范](create-keys.md#key-spec)或[密钥状态](key-state.md)。每个 KMS 密钥都视为一个资源。[AWS 托管式密钥](concepts.md#aws-managed-key) 和 [AWS 拥有的密钥](concepts.md#aws-owned-key) 不计入此限额。

## 每个 KMS 密钥的别名数：50
<a name="aliases-per-key"></a>

您最多可以将 50 个[别名](kms-alias.md)与每个[客户托管密钥](concepts.md#customer-mgn-key)关联。 AWS 关联的别名[AWS 托管式密钥](concepts.md#aws-managed-key)不计入此配额。您在[创建](alias-create.md)或[更新](alias-update.md)别名时可能会遇到此配额。

**注意**  
仅当 [KMS 密钥符合此配额时，kms: ResourceAliases](conditions-kms.md#conditions-kms-resource-aliases) 条件才有效。如果 KMS 密钥超出此配额，则由 `kms:ResourceAliases` 条件授权使用 KMS 密钥的委托人将被拒绝访问 KMS 密钥。有关更多信息，请参阅 [由于别名配额而拒绝访问](troubleshooting-tags-aliases.md#access-denied-alias-quota)。

每个 KMS 的别名密钥配额取代了限制每个区域中别名总数的每个区域的别名配额。 AWS 账户 AWS KMS 取消了每个区域的别名配额。

## 每个 KMS 密钥的授权数：50000
<a name="grants-per-key"></a>

每个[客户托管密钥](concepts.md#customer-mgn-key)最多可以拥有 50000 个[授权数](grants.md)，其中包括[与 AWS KMS集成的AWS 服务所创建的授权](https://aws.amazon.com/kms/features/#AWS_Service_Integration)。此配额不适用于 [AWS 托管式密钥](concepts.md#aws-managed-key) 或 [AWS 拥有的密钥](concepts.md#aws-owned-key)。

此配额的作用之一是，您不能同时执行超过 50000 个使用相同 KMS 密钥的授权操作。在达到配额之后，您只能在停用或撤消了有效授权时才能在 KMS 密钥上创建新授权。

例如，当您将 Amazon Elastic Block Store (Amazon EBS) 卷附加到 Amazon Elastic Compute Cloud (Amazon EC2) 实例时，该卷将被解密，以便您能读取。为获得解密数据的权限，Amazon EBS 将为每个卷创建授权。因此，如果所有 Amazon EBS 卷都使用相同的 KMS 密钥，那么您一次附加的卷不能超过 50000 个。

## 自定义密钥存储资源限额：10
<a name="cks-resource-quota"></a>

您最多可以在每个 AWS 账户 地区创建 10 个[自定义密钥存储库](key-store-overview.md#custom-key-store-overview)。如果您尝试创建更多内容，则[CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html)操作将失败。

此限额适用于每个账户和区域中的自定义密钥存储总数，包括所有 [AWS CloudHSM 密钥存储](keystore-cloudhsm.md)和[外部密钥存储](keystore-external.md)，无论其连接状态如何。

## 按需轮换：25
<a name="on-demand-rotation-resource-quota"></a>

每个 KMS [密钥最多可以按需轮换](rotating-keys-on-demand.md) 25 次。如果您尝试执行更多按需轮换，则[RotateKeyOnDemand](https://docs.aws.amazon.com/kms/latest/APIReference/API_RotateKeyOnDemand.html)操作将失败。

此限额不可调整。您不能通过使用 Service Quotas 或在中创建案例来增加配额 AWS 支持。为防止达到按需轮换限额，我们建议尽可能使用[自动密钥轮换](rotating-keys-enable.md)。

# 请求配额
<a name="requests-per-second"></a>

AWS KMS 为每秒请求的 API 操作数量设定配额。请求配额因 API 操作 AWS 区域、和其他因素（例如 KMS 密钥类型）而异。当您超过 API 请求配额时， AWS KMS [会限制该请求。](throttling.md)

除[AWS CloudHSM 密钥库 AWS KMS 请求配额外，所有请求配额](#rps-key-stores)均可调整。要请求提高配额，请参阅《服务配额用户指南》**中的[请求提高配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-increase.html)。要申请减少配额、更改未在 Service Quotas 中列出的配额，或者在没有服务配额 AWS 区域 的情况下更改配额，请访问[AWS 支持 中心](https://console.aws.amazon.com/support/home)并创建案例。 AWS KMS 

如果您超出了[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)操作的请求配额，请考虑使用[的数据密钥缓存](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/data-key-caching.html)功能 AWS Encryption SDK。重复使用数据密钥可能会将您的请求频率降至 AWS KMS.

除了请求配额外，还 AWS KMS 使用资源配额来确保所有用户的容量。有关更多信息，请参阅 [资源配额](resource-limits.md)。

要查看请求速率的趋势，请使用 [Service Quotas 控制台](https://console.aws.amazon.com/servicequotas)。您还可以创建一个 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/) 警报，当您的请求率达到配额值的特定百分比时，提醒您。有关详情，请参阅*AWS 安全博客 CloudWatch*中的[使用 Service Quotas 和 Amazon 管理您的 AWS KMS API 请求速率](https://aws.amazon.com/blogs/security/manage-your-aws-kms-api-request-rates-using-service-quotas-and-amazon-cloudwatch/)。

**Topics**
+ [每个 AWS KMS API 操作的请求配额](#rps-table)
+ [应用请求配额](#about-rate-limits)
+ [加密操作的共享配额](#rps-shared-limit)
+ [代表您发出的 API 请求](#rps-from-service)
+ [跨账户请求](#rps-cross-account)
+ [自定义密钥存储请求限额](#rps-key-stores)

## 每个 AWS KMS API 操作的请求配额
<a name="rps-table"></a>

下表列出了 S [ervice Quotas 配](https://docs.aws.amazon.com/servicequotas/latest/userguide/)额代码和每个 AWS KMS 请求配额的默认值。除[AWS CloudHSM 密钥库 AWS KMS 请求配额外，所有请求配额](#rps-key-stores)均可调整。

**注意**  
您可能需要水平或垂直滚动才能查看此表中的所有数据。


| 限额名称 | 默认值（每秒请求数） | 
| --- | --- | 
|  `Cryptographic operations (symmetric) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  这些共享配额因请求中使用的 KMS 密钥 AWS 区域 和类型而异。每个配额都单独计算。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  | 
| `Cryptographic operations (RSA) request rate` 适用对象：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html) |  RSA KMS 密钥为 1000（共享）：  | 
| `Cryptographic operations (ML-DSA) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html) | ML-DSA KMS 密钥为 1000（共享） | 
| `Cryptographic operations (ECC and SM2) request rate` 适用对象：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html) |  椭圆曲线 (ECC) 和（仅限 SM2 中国区域）KMS 密钥为 1,000（共享）  | 
|  `Custom key store request quotas` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  | [自定义密钥存储限额](#rps-key-stores) 针对每个自定义密钥存储单独计算[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html) | 
| `CancelKeyDeletion request rate` | 5 | 
| `ConnectCustomKeyStore request rate` | 5 | 
| `CreateAlias request rate` | 5 | 
| `CreateCustomKeyStore request rate` | 5 | 
| `CreateGrant request rate` | 50 | 
| `CreateKey request rate` | 5 | 
| `DeleteAlias request rate` | 15 | 
| `DeleteCustomKeyStore request rate` | 5 | 
| `DeleteImportedKeyMaterial request rate` | 15 | 
| `DescribeCustomKeyStores request rate` | 5 | 
| `DescribeKey request rate` | 2000 | 
| `DisableKey request rate` | 5 | 
| `DisableKeyRotation request rate` | 5 | 
| `DisconnectCustomKeyStore request rate` | 5 | 
| `EnableKey request rate` | 5 | 
| `EnableKeyRotation request rate` | 15 | 
|  `GenerateDataKeyPair (ECC_NIST_P256) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  100  | 
|  `GenerateDataKeyPair (ECC_NIST_P384) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  100  | 
|  `GenerateDataKeyPair (ECC_NIST_P521) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  100  | 
|  `GenerateDataKeyPair (ECC_SECG_P256K1) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  100  | 
|  `GenerateDataKeyPair (ECC_NIST_EDWARDS25519) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  100  | 
|  `GenerateDataKeyPair (RSA_2048) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  20  | 
|  `GenerateDataKeyPair (RSA_3072) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  4  | 
|  `GenerateDataKeyPair (RSA_4096) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  1  | 
|  `GenerateDataKeyPair (SM2 — China Regions only) request rate` 适用对象： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kms/latest/developerguide/requests-per-second.html)  |  25  | 
| `GetKeyPolicy request rate` | 1000 | 
| `GetKeyRotationStatus request rate` | 1000 | 
| `GetParametersForImport request rate` | 1 | 
| `GetPublicKey request rate` | 2000 | 
| `ImportKeyMaterial request rate` | 15 | 
| `ListAliases request rate` | 500 | 
| `ListGrants request rate` | 100 | 
| `ListKeyPolicies request rate` | 100 | 
| `ListKeys request rate` | 500 | 
| `ListKeyRotations request rate` | 100 | 
| `ListResourceTags request rate` | 2000 | 
| `ListRetirableGrants request rate` | 100 | 
| `PutKeyPolicy request rate` | 15 | 
| ReplicateKey request rate `ReplicateKey` 操作在主键的区域中计为一个 `ReplicateKey` 请求，在副本密钥区域中计为两个 `CreateKey` 请求。其中一个 `CreateKey` 请求是在创建密钥之前检测潜在问题的排练。 | 5 | 
| `RetireGrant request rate` | 50 | 
| `RevokeGrant request rate` | 50 | 
| `RotateKeyOnDemand request rate` | 5 | 
| `ScheduleKeyDeletion request rate` | 15 | 
| `TagResource request rate` | 10 | 
| `UntagResource request rate` | 5 | 
| `UpdateAlias request rate` | 5 | 
| `UpdateCustomKeyStore request rate` | 5 | 
| `UpdateKeyDescription request rate` | 5 | 
| `UpdatePrimaryRegion request rate` `UpdatePrimaryRegion` 操作计数为两个 `UpdatePrimaryRegion` 请求；两个受影响区域中每个区域都有一个请求。  | 5 | 

## 应用请求配额
<a name="about-rate-limits"></a>

审查请求配额时，请记住以下信息。
+ 请求配额同时适用于[客户托管密钥](concepts.md#customer-mgn-key)和 [AWS 托管式密钥](concepts.md#aws-managed-key)。的使用[AWS 拥有的密钥](concepts.md#aws-owned-key)不计入您的请求配额 AWS 账户，即使这些配额用于保护您账户中的资源也是如此。
+ 请求配额适用于发送到 FIPS 终端节点和非 FIPS 终端节点的请求。有关 AWS KMS 服务终端节点的列表，请参阅中的[AWS Key Management Service 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/kms.html) AWS 一般参考。
+ 限制基于对区域内所有类型 KMS 密钥的所有请求。此总数包括来自所有委托人的请求 AWS 账户，包括代表您的 AWS 服务部门提出的请求。
+ 每个请求配额都是单独计算的。例如，对[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)操作的请求不会影响该[CreateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateAlias.html)操作的请求配额。如果 `CreateAlias` 请求受到限制，`CreateKey` 请求仍可成功完成。
+ 虽然加密操作共享一个配额，但共享配额是独立于其他操作的配额计算的。例如，[对](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) Encrypt 和 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 操作的调用共享请求配额，但该配额与管理操作的配额无关，例如。[EnableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_EnableKey.html)例如，在欧洲（伦敦）区域，每秒可使用对称 KMS 密钥执行 10000 次加密操作，*加上* 5 次 `EnableKey` 操作，而不受限制。

## 加密操作的共享配额
<a name="rps-shared-limit"></a>

AWS KMS [加密操作](kms-cryptography.md#cryptographic-operations)共享请求配额。您可以请求 KMS 密钥支持的加密操作的任意组合，只要加密操作的总数不超过该 KMS 密钥类型的请求配额。唯一的例外是[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html)和 [GenerateDataKeyPairWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPairWithoutPlaintext.html)，它们共享单独的配额。

不同类型的 KMS 密钥的配额单独计算。每个配额适用于在每隔一秒钟的时间间隔内使用给定密钥类型在 AWS 账户 和区域中执行这些操作的所有请求。
+ *加密操作（对称）请求速率*是在账户和区域中使用对称 KMS 密钥进行加密操作的共享请求配额。此配额适用于使用对称加密密钥和 HMAC 密钥的加密操作，这些密钥也是对称的。

  例如，您可能在共享配额为每秒 10,000 个请求的 AWS 区域 中使用[对称 KMS 密钥](symm-asymm-choose-key-spec.md#symmetric-cmks)。当你每秒发出 7,000 个[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)请求和每秒 2,000 个[解密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)请求时， AWS KMS 不会限制你的请求。但是，如果您每秒发出 9500 个 `GenerateDataKey` 请求和 1000 个[加密](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)请求， AWS KMS 会限制您的请求，因为请求数量超出了共享配额。

  对 [自定义密钥存储](key-store-overview.md#custom-key-store-overview) 中 [对称加密 KMS 密钥](symm-asymm-choose-key-spec.md#symmetric-cmks) 的加密操作将会计入账户的*加密操作（对称）请求率* 和自定义密钥存储的 [自定义密钥存储请求限额](#rps-key-stores)。
+ *加密操作 (RSA) 请求速率* 是使用 [RSA 非对称 KMS 密钥](symm-asymm-choose-key-spec.md#key-spec-rsa)的加密操作的共享请求配额。

  例如，如果请求配额为每秒 1000 个操作，您可以使用可以加密和解密的 RSA KMS 密钥发出 400 个 [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) 请求和 200 个 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 请求；另外，通过可以签名和验证的 RSA KMS 密钥发出 250 个 [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) 请求和 150 个 [Verify](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) 请求。
+ *加密操作（ECC）请求速率*是使用[椭圆曲线（ECC）非对称 KMS 密钥](symm-asymm-choose-key-spec.md#key-spec-ecc)和 [SM 非对称 KMS 密钥](symm-asymm-choose-key-spec.md#key-spec-sm)的加密操作的共享请求配额。

  例如，请求配额为每秒 1,000 个操作，您可以使用可以签名和验证的 ECC KMS 密钥发出 400 个签名请求和 200 个验证请求，再加上 250 个[签名](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)请求和 150 个使用可以签名和[验证](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html)的 SM2 KMS 密钥进行验证请求。
+ *自定义密钥存储请求限额*是对自定义密钥存储中 KMS 密钥进行加密操作的共享请求限额。此限制针对每个自定义密钥存储单独计算。

  对[自定义密钥存储](key-store-overview.md#custom-key-store-overview)中[对称加密 KMS 密钥](symm-asymm-choose-key-spec.md#symmetric-cmks)执行的密码操作将会同时消耗该账户的*密码操作（对称）请求速率*和该自定义密钥存储的 [自定义密钥存储请求配额](#rps-key-stores)。

不同密钥类型的配额也是单独计算的。例如，在亚太地区（新加坡）区域中，如果同时使用对称 KMS 密钥和非对称 KMS 密钥，则使用对称 KMS 密钥（包括 HMAC 密钥）每秒最多可发出 10000 次调用，*另外加上*使用 RSA 非对称 KMS 密钥每秒最多可发出 500 次调用，*另外再加上*使用基于 ECC 的 KMS 密钥每秒最多可发出 300 个请求。

## 代表您发出的 API 请求
<a name="rps-from-service"></a>

您可以直接发出 API 请求，也可以使用代表您发出 API 请求 AWS KMS 的集成 AWS 服务。该配额对两种类型的请求都适用。

例如，您可以使用借助 KMS 密钥的服务器端加密 (SSE-KMS)，将数据存储在 Amazon S3 中。每次您上传或下载使用 SSE-KMS 加密的 S3 对象时，Amazon S3 都会代表您发出`GenerateDataKey`（用于上传）或`Decrypt`（用于下载）请求。 AWS KMS 这些请求计入您的配额，因此，如果您每秒上传或下载使用 SSE-KM AWS KMS S 加密的 S3 对象的总数超过 5,500 个（或 10,000 或 50,000 个，视您而定 AWS 区域），则会限制这些请求。

## 跨账户请求
<a name="rps-cross-account"></a>

当一个应用程序 AWS 账户 使用另一个账户拥有的 KMS 密钥时，它被称为*跨账户请求*。对于跨账户请求， AWS KMS 会限制发出请求的帐户，而不是拥有 KMS 密钥的账户。例如，如果账户 A 中的应用程序使用账户 B 中的 KMS 密钥，那么仅对该 KMS 密钥的使用应用账户 A 中的配额。

## 自定义密钥存储请求限额
<a name="rps-key-stores"></a>

AWS KMS 维护对[自定义密钥存储库](key-store-overview.md#custom-key-store-overview)中的 KMS 密钥进行[加密操作](kms-cryptography.md#cryptographic-operations)的请求配额。这些请求限额针对每个自定义密钥存储单独计算。


| 自定义密钥存储请求限额 | 每个自定义密钥存储的默认值（每秒请求数） | 可调整 | 
| --- | --- | --- | 
| [AWS CloudHSM 密钥库](keystore-cloudhsm.md)请求配额 | 1800 | 否 | 
| [外部密钥存储](keystore-external.md) 请求限额 | 1800 | 否 | 

**注意**  
AWS KMS [自定义密钥库请求配额](#rps-key-stores)不会显示在 Service Quotas 控制台中。您无法通过服务限额 API 操作查看或管理这些限额。  
如果与 AWS CloudHSM 密钥库关联的 AWS CloudHSM 集群正在处理大量命令，包括那些与自定义密钥存储无关的命令，那么你可能会得到一个 AWS KMS `ThrottlingException`速 lower-than-expected率。如果发生这种情况，请将请求速率降低到 AWS KMS，减少不相关的负载，或者为 AWS CloudHSM 密钥存储使用专用 AWS CloudHSM 集群。  
AWS KMS 报告指标中外部密钥存储请求的[`ExternalKeyStoreThrottle`](monitoring-cloudwatch.md#metric-throttling) CloudWatch 限制。您可以使用此指标来查看节流模式、创建警报和调整外部密钥存储请求限额。

对自定义密钥存储中的 KMS 密钥进行 [加密操作](kms-cryptography.md#cryptographic-operations) 的请求将计入这两个限额：
+ 加密操作（对称）请求率限额（每账户）

  对自定义密钥存储中 KMS 密钥进行加密操作的请求将计入每个 AWS 账户 和区域的 `Cryptographic operations (symmetric) request rate` 限额。例如，在美国东部（弗吉尼亚州北部）（us-east-1），每个 AWS 账户 每秒最多可以有 10 万个对称加密 KMS 密钥请求，包括使用自定义密钥存储中的 KMS 密钥的请求。
+ 自定义密钥存储请求限额（每自定义密钥存储）

  对自定义密钥存储中 KMS 密钥进行加密操作的请求也将计入每秒 1800 次操作的 `Custom key store request quota`。这些限额针对每个自定义密钥存储单独计算。它们可能包括来自多个 AWS 账户 在自定义密钥存储中使用 KMS 密钥的请求。

例如，在美国东部（弗吉尼亚州北部）（us-east-1）区域，对一个自定义密钥存储中的一个 KMS 密钥执行的 [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) 操作将计入该账户和区域的 `Cryptographic operations (symmetric) request rate` 账户级别配额（每秒 10 万个请求），同时计入其自定义密钥存储的 `Custom key store request quota`（每秒 1800 个请求）。但是，对自定义密钥存储库中的 KMS 密钥进行管理操作的请求仅适用于其账户级别配额（每秒 15 个请求）。[PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html)

# 限制请求 AWS KMS
<a name="throttling"></a>

为了确保 AWS KMS 能够对所有客户的 API 请求提供快速、可靠的响应，它会限制超出特定界限的 API 请求。

当 AWS KMS 拒绝原本可能有效的请求并返回类似以下`ThrottlingException`错误时，就会发生@@ *限制*。

```
You have exceeded the rate at which you may call KMS. Reduce the frequency of your calls. 
(Service: AWSKMS; Status Code: 400; Error Code: ThrottlingException; Request ID: <ID>
```

AWS KMS 限制对以下条件的请求。
+ 每秒的请求速率超过了账户和区域的 AWS KMS [请求配额](requests-per-second.md)。

  例如，如果您账户中的用户在一秒钟内提交 1000 个`DescribeKey`请求，则会在该秒钟内 AWS KMS 限制所有后续`DescribeKey`请求。

  要对限制进行响应，请使用[退避和重试策略](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)。在某些情况下，此策略是针对HTTP 400错误自动实现 AWS SDKs的。
+ 用于更改同一 KMS 密钥状态的请求突发或持续高速率。这种情况通常称为“热键”。

  例如，如果您账户中的某个应用程序持续发送对相同 KMS 密钥的`EnableKey``DisableKey`请求，则会 AWS KMS 限制这些请求。即使请求未超过`EnableKey`和`DisableKey`操作的请求限制， request-per-second也会发生这种限制。

  要响应限制，请调整您的应用程序逻辑，使其只发出必需的请求或合并多个函数的请求。
+ 当与密[AWS CloudHSM 钥存储库](requests-per-second.md#rps-key-stores)关联的 AWS CloudHSM 集群正在处理大量命令（包括与密钥存储无关的命令）时，对 AWS CloudHSM 密钥存储中 KMS 密 AWS CloudHSM 钥的操作请求可能会受到限制。 lower-than-expected

  （当AWS KMS 集群没有可用的 PKCS \$111 会话时，不再限制对密钥库中 KMS 密钥的操作请求。 AWS CloudHSM AWS CloudHSM 相反，它会抛出，`KMSInternalException`并建议您重试请求。）

要查看请求速率的趋势，请使用 [Service Quotas 控制台](https://console.aws.amazon.com/servicequotas)。您还可以创建一个 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/) 警报，当您的请求率达到配额值的特定百分比时，提醒您。有关详情，请参阅*AWS 安全博客 CloudWatch*中的[使用 Service Quotas 和 Amazon 管理您的 AWS KMS API 请求速率](https://aws.amazon.com/blogs/security/manage-your-aws-kms-api-request-rates-using-service-quotas-and-amazon-cloudwatch/)。

除[按需轮换资源 AWS KMS 配额和AWS CloudHSM 密钥库请求配额](resource-limits.md#on-demand-rotation-resource-quota)[外，所有配额](requests-per-second.md#rps-key-stores)均可调整。要请求提高配额，请参阅《服务配额用户指南》**中的[请求提高配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-increase.html)。要申请减少配额、更改未在 Service Quotas 中列出的配额，或者在没有服务配额 AWS 区域 的情况下更改配额，请访问[AWS 支持 中心](https://console.aws.amazon.com/support/home)并创建案例。 AWS KMS 

**注意**  
AWS KMS [自定义密钥库请求配额](requests-per-second.md#rps-key-stores)不会显示在 Service Quotas 控制台中。您无法通过服务限额 API 操作查看或管理这些限额。