请求配额 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

请求配额

Amazon KMS 对每秒请求的 API 操作数量设置了配额。请求配额因 API 操作、Amazon Web Services 区域 及其他因素(例如 KMS 密钥类型)而异。当您超过 API 请求配额时,Amazon KMS 会限制请求

注意

如果您需要超出此配额,您可以在 Service Quotas 中请求增加配额。使用 Service Quotas 控制台RequestServiceQuotaIncrease 操作。有关详细信息,请参阅 Service Quotas 用户指南中的请求增加配额。如果 Amazon KMS 的 Service Quotas 在 Amazon Web Services 区域 中不可用,请访问 Amazon Web Services Support 中心并创建案例。

有关请求增加 Amazon KMS 配额的帮助,请参阅请求增加 Amazon KMS 配额

如果您超出 GenerateDataKey 操作的请求配额,请考虑使用 Amazon Encryption SDK 的数据密钥缓存功能。重复使用数据密钥可减少向 Amazon KMS 提出请求的频率。

除请求配额之外,Amazon KMS 还使用资源配额来确保所有用户的容量。有关详细信息,请参阅资源配额

要查看请求速率的趋势,请使用 Service Quotas 控制台。您也可以创建 Amazon CloudWatch 告警,当您的请求速率达到配额值的特定百分比时向您发出提示。有关详细信息,请参阅 Amazon 安全博客使用 Service Quotas 和 Amazon CloudWatch 管理您的 Amazon KMS API 请求速度

每个 Amazon KMS API 操作的请求配额

此表列出了 Service Quotas 的配额代码和每个 Amazon KMS 请求配额的默认值。

注意

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

配额名称 默认值(每秒)

Cryptographic operations (symmetric) request rate

适用对象:

  • Decrypt

  • Encrypt

  • GenerateDataKey

  • GenerateDataKeyWithoutPlaintext

  • GenerateRandom

  • ReEncrypt

这些共享配额因 Amazon Web Services 区域 和请求中使用的 KMS 密钥类型而异。每个配额都单独计算。

  • 5500(共享)

  • 在以下区域中为 10000(共享):

    • 美国东部(俄亥俄),us-east-2

    • 亚太地区(新加坡),ap-southeast-1

    • 亚太区域(悉尼),ap-southeast-2

    • 亚太区域(东京),ap-northeast-1

    • 欧洲(法兰克福),eu-central-1

    • 欧洲(伦敦),eu-west-2

  • 在以下区域中为 50000(共享):

    • 美国东部(弗吉尼亚北部),us-east-1

    • 美国西部(俄勒冈),us-west-2

    • 欧洲(爱尔兰),eu-west-1

自定义密钥存储配额(对称 KMS 密钥):

Cryptographic operations (RSA) request rate

适用对象:

  • Decrypt

  • Encrypt

  • ReEncrypt

  • Sign

  • Verify

500(共享),对于 RSA KMS 密钥

Cryptographic operations (ECC) request rate

适用对象:

  • Sign

  • Verify

300(共享),对于椭圆曲线 (ECC) KMS 密钥

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

5

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

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

25

GenerateDataKeyPair (ECC_NIST_P384) request rate

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

10

GenerateDataKeyPair (ECC_NIST_P521) request rate

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

5

GenerateDataKeyPair (ECC_SECG_P256K1) request rate

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

25

GenerateDataKeyPair (RSA_2048) request rate

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

1

GenerateDataKeyPair (RSA_3072) request rate

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

0.5(每 2 秒间隔为 1)

GenerateDataKeyPair (RSA_4096) request rate

适用对象:

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

0.1(每 10 秒间隔为 1)

GetKeyPolicy request rate

1000

GetKeyRotationStatus request rate

1000

GetParametersForImport request rate

0.25(每 4 秒间隔为 1)

GetPublicKey request rate

2000

ImportKeyMaterial request rate

5

ListAliases request rate

500

ListGrants request rate

100

ListKeyPolicies request rate

100

ListKeys request rate

500

ListResourceTags request rate

2000

ListRetirableGrants request rate

100

PutKeyPolicy request rate

15
ReplicateKey request rate

ReplicateKey 操作在主密钥的区域中计为一个 ReplicateKey 请求,在副本密钥区域中计为两个 CreateKey 请求。其中一个 CreateKey 请求是在创建密钥之前检测潜在问题的排练。

5

RetireGrant request rate

30

RevokeGrant request rate

30

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

应用请求配额

审查请求配额时,请记住以下信息。

  • 请求配额同时适用于客户托管密钥Amazon 托管式密钥。使用 Amazon 拥有的密钥 不会计入 Amazon Web Services 账户 的请求配额,即使该密钥是用于保护账户中的资源。

  • 请求配额适用于发送到 FIPS 终端节点和非 FIPS 终端节点的请求。有关 Amazon KMS 服务终端节点的列表,请参阅 Amazon 一般参考中的 Amazon Key Management Service 终端节点和配额

  • 限制基于对区域内所有类型 KMS 密钥的所有请求。此总数包括来自 Amazon Web Services 账户 中所有委托人的请求,包括来自代表您的 Amazon 服务的请求。

  • 每个请求配额都是单独计算的。例如,CreateKey 操作的请求对于 CreateAlias 操作的请求配额没有影响。如果 CreateAlias 请求受到限制,CreateKey 请求仍可成功完成。

  • 虽然加密操作共享一个配额,但共享配额是独立于其他操作的配额计算的。例如,对 EncryptDecrypt 操作的调用共享一个请求配额,但该配额独立于管理操作(如 EnableKey)的配额。例如,在欧洲(伦敦)区域,每秒可使用对称 KMS 密钥执行 10000 次加密操作,加上 5 次 EnableKey 操作,而不受限制。

加密操作的共享配额

Amazon KMS 加密操作共享请求配额。您可以请求 KMS 密钥支持的加密操作的任意组合,只要加密操作的总数不超过该 KMS 密钥类型的请求配额。例外情况是 GenerateDataKeyPairGenerateDataKeyPairWithoutPlaintext,它们共享单独的配额。

不同类型的 KMS 密钥的配额单独计算。每个配额适用于在每个 1 秒间隔内,在具有给定密钥类型的 Amazon Web Services 账户 和区域中,针对这些操作的所有请求。

  • 加密操作(对称)请求速率是在账户和区域中使用对称 KMS 密钥进行加密操作的共享请求配额。

    例如,您可以在 Amazon Web Services 区域 中使用对称 KMS 密钥在,其每秒具有 10000 个请求的共享配额。如果您每秒发出 7000 个 GenerateDataKey 请求和 2000 个 Decrypt 请求,Amazon KMS 不会限制您的请求。但是,如果您每秒发出 9500 个 GenerateDataKey 请求和 1000 个加密请求,Amazon KMS 会限制您的请求,因为请求数量超出了共享配额。

  • 加密操作 (RSA) 请求速率 是使用 RSA 非对称 KMS 密钥的加密操作的共享请求配额。

    例如,如果请求配额为每秒 500 个操作,您可以使用可以加密和解密的 RSA KMS 密钥发出 200 个 Encrypt 请求和 100 个 Decrypt 请求;另外,通过可以签名和验证的 RSA KMS 密钥发出 50 个 Sign 请求和 150 个 Verify 请求。

  • 加密操作 (ECC) 请求速率 是使用椭圆曲线 (ECC) 非对称 KMS 密钥的加密操作的共享请求配额。

    例如,如果请求配额为每秒 300 个操作,您可以使用可以签名和验证的 RSA KMS 密钥发出 100 个签名请求和 200 个验证请求。

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

代表您发出的 API 请求

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

例如,您可以使用借助 KMS 密钥的服务器端加密 (SSE-KMS),将数据存储在 Amazon S3 中。每次上传或下载使用 SSE-KMS 进行加密的 S3 对象时,Amazon S3 都会代表您向 Amazon KMS 发出 GenerateDataKey(用于上传)或 Decrypt(用于下载)请求。这些请求将计入配额,因此,如果使用 SSE-KMS 加密的 S3 对象的上传或下载总数超过每秒 5500(也可能是 10000 或 30000,具体取决于 Amazon Web Services 区域),Amazon KMS 将限制请求。

跨账户请求

当一个 Amazon Web Services 账户 中的应用程序使用其他账户拥有的 KMS 密钥时,这称为跨账户请求。对于跨账户请求,Amazon KMS 会限制发出请求的帐户,而不是拥有 KMS 密钥的账户。例如,如果账户 A 中的应用程序使用账户 B 中的 KMS 密钥,那么仅对该 KMS 密钥的使用应用账户 A 中的配额。

自定义密钥存储配额

Amazon KMS 自定义密钥存储仅支持对称 KMS 密钥。使用自定义密钥存储中的 KMS 密钥的加密操作共享一个请求配额,该配额为每个自定义密钥存储每秒 1800 次操作。但是,并非所有操作都同等地使用配额。GenerateDataKeyGenerateDataKeyWithoutPlaintextGenerateRandom 操作使用的每秒配额约为 EncryptDecryptReEncrypt 操作使用的每秒配额的 3 倍。

例如,如果您仅请求 EncryptDecrypt 操作,则每秒可执行约 1800 次操作。相反,如果您请求重复的 GenerateDataKey 操作,则性能可能更接近每秒 600 次操作。对于由大致相同数量的 GenerateDataKeyDecrypt 操作组成的应用程序模式,您可以预期每秒大约 1200 次操作。

与其他 Amazon KMS 配额不同,自定义密钥存储配额不可调整。您不能使用 Service Quotas 或通过在 Amazon Web Services Support 中创建案例来增加它。

注意

如果与自定义密钥存储关联的 Amazon CloudHSM 正在处理大量命令(包括与自定义密钥存储不相关的命令),则您可能以低于预期速率的速率获得 Amazon KMS ThrottlingException。如果发生此情况,请降低向 Amazon KMS 发出请求的速率,减少不相关的负载或对自定义密钥存储使用专用 Amazon CloudHSM 集群。