本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
请求配额
AWS KMS 对每秒请求的 API 操作数量设置了配额。请求配额因 API 操作、AWS 区域 及其他因素(例如 KMS 密钥类型)而异。当您超过 API 请求配额时,AWS KMS 会限制请求。
所有 AWS KMS 请求限额均可调整,但 AWS CloudHSM 密钥存储请求限额 除外。要请求提高限额,请参阅《服务限额用户指南》中的请求提高限额。要申请减少限额、更改服务限额中未列出的限额,或在 AWS KMS 服务限额不可用的 AWS 区域 中更改限额,请访问 AWS Support 中心
如果您超出 GenerateDataKey 操作的请求配额,请考虑使用 AWS Encryption SDK 的数据密钥缓存功能。重复使用数据密钥可减少向 AWS KMS 提出请求的频率。
除请求配额之外,AWS KMS 还使用资源配额来确保所有用户的容量。有关详细信息,请参阅资源配额。
要查看请求速率的趋势,请使用 Service Quotas 控制台
每个 AWS KMS API 操作的请求配额
此表列出了 Service Quotas 的配额代码和每个 AWS KMS 请求配额的默认值。所有 AWS KMS 请求限额均可调整,但 AWS CloudHSM 密钥存储请求限额 除外。
注意
您可能需要水平或垂直滚动才能查看此表中的所有数据。
限额名称 | 默认值(每秒请求数) |
---|---|
适用对象:
|
这些共享配额因 AWS 区域 和请求中使用的 KMS 密钥类型而异。每个配额都单独计算。
|
适用对象:
|
RSA KMS 密钥为 1000(共享): |
适用对象:
|
椭圆曲线(ECC)和 SM2(仅限中国区域)KMS 密钥为 1000(共享) |
适用对象:
|
自定义密钥存储限额 针对每个自定义密钥存储单独计算
|
|
5 |
|
5 |
|
5 |
|
5 |
|
50 |
|
5 |
|
15 |
|
5 |
|
15 |
|
5 |
|
2000 |
|
5 |
|
5 |
|
5 |
|
5 |
|
15 |
适用对象:
|
100 |
适用对象:
|
100 |
适用对象:
|
100 |
适用对象:
|
100 |
适用对象:
|
1 |
适用对象:
|
0.5(每 2 秒间隔为 1) |
适用对象:
|
0.1(每 10 秒间隔为 1) |
适用对象:
|
25 |
|
1000 |
|
1000 |
|
0.25(每 4 秒间隔为 1) |
|
2000 |
|
15 |
|
500 |
|
100 |
|
100 |
|
500 |
|
100 |
|
2000 |
|
100 |
|
15 |
ReplicateKey request rate
|
5 |
|
50 |
|
50 |
|
5 |
|
15 |
|
10 |
|
5 |
|
5 |
|
5 |
|
5 |
|
5 |
应用请求配额
审查请求配额时,请记住以下信息。
-
请求配额同时适用于客户托管密钥和 AWS 托管式密钥。使用 AWS 拥有的密钥 不会计入 AWS 账户 的请求配额,即使该密钥是用于保护账户中的资源。
-
请求配额适用于发送到 FIPS 终端节点和非 FIPS 终端节点的请求。有关 AWS KMS 服务端点的列表,请参阅《AWS 一般参考》中的 AWS Key Management Service endpoints and quotas。
-
限制基于对区域内所有类型 KMS 密钥的所有请求。此总数包括来自 AWS 账户 中所有委托人的请求,包括来自代表您的 AWS 服务的请求。
-
每个请求配额都是单独计算的。例如,CreateKey 操作的请求对于 CreateAlias 操作的请求配额没有影响。如果
CreateAlias
请求受到限制,CreateKey
请求仍可成功完成。 -
虽然加密操作共享一个配额,但共享配额是独立于其他操作的配额计算的。例如,对 Encrypt 和 Decrypt 操作的调用共享一个请求配额,但该配额独立于管理操作(如 EnableKey)的配额。例如,在欧洲(伦敦)区域,每秒可使用对称 KMS 密钥执行 10000 次加密操作,加上 5 次
EnableKey
操作,而不受限制。
加密操作的共享配额
AWS KMS 加密操作共享请求配额。您可以请求 KMS 密钥支持的加密操作的任意组合,只要加密操作的总数不超过该 KMS 密钥类型的请求配额。例外情况是 GenerateDataKeyPair 和 GenerateDataKeyPairWithoutPlaintext,它们共享单独的配额。
不同类型的 KMS 密钥的配额单独计算。每个配额适用于在每个 1 秒间隔内,在具有给定密钥类型的 AWS 账户 和区域中,针对这些操作的所有请求。
-
加密操作(对称)请求速率是在账户和区域中使用对称 KMS 密钥进行加密操作的共享请求配额。此配额适用于使用对称加密密钥和 HMAC 密钥的加密操作,这些密钥也是对称的。
例如,您可以在 AWS 区域 中使用对称 KMS 密钥在,其每秒具有 10000 个请求的共享配额。如果您每秒发出 7000 个 GenerateDataKey 请求和 2000 个 Decrypt 请求,AWS KMS 不会限制您的请求。但是,如果您每秒发出 9500 个
GenerateDataKey
请求和 1000 个加密请求,AWS KMS 会限制您的请求,因为请求数量超出了共享配额。对 自定义密钥存储 中 对称加密 KMS 密钥 的加密操作将会计入账户的加密操作(对称)请求率 和自定义密钥存储的 自定义密钥存储请求限额。
-
加密操作 (RSA) 请求速率 是使用 RSA 非对称 KMS 密钥的加密操作的共享请求配额。
例如,如果请求配额为每秒 1000 个操作,您可以使用可以加密和解密的 RSA KMS 密钥发出 400 个 Encrypt 请求和 200 个 Decrypt 请求;另外,通过可以签名和验证的 RSA KMS 密钥发出 250 个 Sign 请求和 150 个 Verify 请求。
-
加密操作(ECC)请求速率是使用椭圆曲线(ECC)非对称 KMS 密钥和 SM 非对称 KMS 密钥的加密操作的共享请求配额。
例如,如果请求配额为每秒 1000 个操作,您可以使用可以登录和验证的 ECC KMS 密钥发出 400 个 Sign 请求和 200 个 Verify 请求;另外,通过可以签名和验证的 SM2 KMS 密钥发出 250 个 Sign 请求和 150 个 Verify 请求。
-
自定义密钥存储请求限额是对自定义密钥存储中 KMS 密钥进行加密操作的共享请求限额。此限制针对每个自定义密钥存储单独计算。
对 自定义密钥存储 中 对称加密 KMS 密钥 的加密操作将会计入账户的加密操作(对称)请求率和自定义密钥存储的 自定义密钥存储请求限额。
不同密钥类型的配额也是单独计算的。例如,在亚太地区(新加坡)区域中,如果同时使用对称 KMS 密钥和非对称 KMS 密钥,则使用对称 KMS 密钥(包括 HMAC 密钥)每秒最多可发出 10000 次调用,另外加上使用 RSA 非对称 KMS 密钥每秒最多可发出 500 次调用,另外再加上使用基于 ECC 的 KMS 密钥每秒最多可发出 300 个请求。
代表您发出的 API 请求
您可以直接发出 API 请求,也可以使用集成的 AWS 服务代表您向 AWS KMS 发出 API 请求。该配额对两种类型的请求都适用。
例如,您可以使用借助 KMS 密钥的服务器端加密 (SSE-KMS),将数据存储在 Amazon S3 中。每次上传或下载使用 SSE-KMS 进行加密的 S3 对象时,Amazon S3 都会代表您向 AWS KMS 发出 GenerateDataKey
(用于上传)或 Decrypt
(用于下载)请求。这些请求将计入配额,因此,如果使用 SSE-KMS 加密的 S3 对象的上传或下载总数超过每秒 5500(也可能是 10000 或 50000,具体取决于 AWS 区域),AWS KMS 将限制请求。
跨账户请求
当一个 AWS 账户 中的应用程序使用其他账户拥有的 KMS 密钥时,这称为跨账户请求。对于跨账户请求,AWS KMS 会限制发出请求的帐户,而不是拥有 KMS 密钥的账户。例如,如果账户 A 中的应用程序使用账户 B 中的 KMS 密钥,那么仅对该 KMS 密钥的使用应用账户 A 中的配额。
自定义密钥存储请求限额
AWS KMS 对 自定义密钥存储 中 KMS 密钥的 加密操作 实施了请求限额。这些请求限额针对每个自定义密钥存储单独计算。
自定义密钥存储请求限额 | 每个自定义密钥存储的默认值(每秒请求数) | 可调整 |
---|---|---|
AWS CloudHSM 密钥存储 请求限额 | 1800 | 否 |
外部密钥存储 请求限额 | 1800 | 是 |
注意
AWS KMS 自定义密钥存储请求限额 不会在服务限额控制台中显示。您无法通过服务限额 API 操作查看或管理这些限额。要请求更改您的外部密钥存储请求限额,请访问 AWS Support 中心
如果与 AWS CloudHSM 密钥存储关联的 AWS CloudHSM 集群正在处理大量命令(包括与自定义密钥存储不相关的命令),则您可能以低于预期的速率获得 AWS KMS ThrottlingException
。如果发生此情况,请降低向 AWS KMS 发出请求的速率,减少不相关的负载或对 AWS CloudHSM 密钥存储使用专用的 AWS CloudHSM 集群。
AWS KMS 会在 ExternalKeyStoreThrottle CloudWatch 指标中报告外部密钥存储请求节流。您可以使用此指标来查看节流模式、创建警报和调整外部密钥存储请求限额。
对自定义密钥存储中的 KMS 密钥进行 加密操作 的请求将计入这两个限额:
-
加密操作(对称)请求率限额(每账户)
对自定义密钥存储中 KMS 密钥进行加密操作的请求将计入每个 AWS 账户和区域的
Cryptographic operations (symmetric) request rate
限额。例如,在美国东部(弗吉尼亚州北部)(us-east-1),每个 AWS 账户每秒最多可以有 5 万个有关对称 KMS 密钥的请求,包括使用自定义密钥存储中 KMS 密钥的请求。 自定义密钥存储请求限额(每自定义密钥存储)
对自定义密钥存储中 KMS 密钥进行加密操作的请求也将计入每秒 1800 次操作的
Custom key store request quota
。这些限额针对每个自定义密钥存储单独计算。这可能包括多个 AWS 账户针对使用自定义密钥存储中 KMS 密钥提出的请求。
例如,在美国东部(弗吉尼亚州北部)(us-east-1)区域对一个自定义密钥存储中 KMS 密钥的加密操作将计入该账户和区域的 Cryptographic operations (symmetric) request rate
账户级别限额(每秒 5 万个请求),以及其自定义密钥存储的 Custom key
store request quota
(每秒 1800 个请求)。但是,对自定义密钥存储中的 KMS 密钥执行管理操作(例如 PutKeyPolicy)的请求仅适用于其账户级别配额(每秒 15 个请求)。