限制请求 AWS KMS - AWS Key Management Service

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

限制请求 AWS KMS

为了确保 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 请求配额

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

    要对限制进行响应,请使用退避和重试策略。此策略是针对某些 AWS SDK 中的 HTTP 400 错误自动实现的。

  • 用于更改同一 KMS 密钥状态的请求突发或持续高速率。这种情况通常称为“热键”。

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

    要响应限制,请调整您的应用程序逻辑,使其只发出必需的请求或合并多个函数的请求。

  • 当与密AWS CloudHSM 钥存储库关联的 AWS CloudHSM 集群正在处理大量命令(包括与密钥存储无关的命令)时,对 AWS CloudHSM 密钥存储中 KMS 密 AWS CloudHSM 钥的操作请求可能会受到限制。 lower-than-expected

    (当AWS KMS 集群没有可用的 PKCS #11 会话时,不再限制对密钥库中 KMS 密钥的操作请求。 AWS CloudHSM AWS CloudHSM 相反,它会抛出,KMSInternalException并建议您重试请求。)

要查看请求速率的趋势,请使用 Service Quotas 控制台。您还可以创建一个 Amazon CloudWatch 警报,当您的请求率达到配额值的特定百分比时,提醒您。有关详情,请参阅AWS 安全博客 CloudWatch中的使用 Service Quotas 和 Amazon 管理您的 AWS KMS API 请求速率

密钥策略文档大小资源 AWS KMS 配额、按需轮换资源配额和密AWS CloudHSM 钥存储请求配额外,所有配额均可调整。要请求提高限额,请参阅《服务限额用户指南》中的请求提高限额。要申请减少配额、更改未在 Service Quotas 中列出的配额,或者在没有服务配额 AWS 区域 的情况下更改配额,请访问AWS Support 中心并创建案例。 AWS KMS

注意

AWS KMS 自定义密钥库请求配额不会显示在 Service Quotas 控制台中。您无法通过服务限额 API 操作查看或管理这些限额。要请求更改您的外部密钥存储请求限额,请访问 AWS Support 中心 并创建工单。