限制 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 开发工具包中,会针对 HTTP 400 错误自动实施这一策略。

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

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

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

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

    (当 AWS CloudHSM 集群中没有可用的 PKCS #11 会话时,AWS KMS 将不再针对对 AWS CloudHSM 密钥存储中的 KMS 密钥进行操作的请求进行节流。相反,其将引发 KMSInternalException,以及请您重试请求的建议。)

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

所有 AWS KMS 限额均可调整,但密钥政策文档大小资源限额AWS CloudHSM 密钥存储请求限额除外。要请求提高限额,请参阅《服务限额用户指南》中的请求提高限额。要申请减少限额、更改服务限额中未列出的限额,或在 AWS KMS 服务限额不可用的 AWS 区域 中更改限额,请访问 AWS Support 中心并创建案例。

注意

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