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

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

限制 Amazon KMS 请求

为了确保 Amazon KMS 可以对来自所有客户的 API 请求提供快速可靠的响应,它会限制超出特定边界的 API 请求。

当 Amazon 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>

Amazon KMS 限制满足以下条件的请求。

  • 每秒请求的速率超过一个账户和区域的 Amazon KMS 请求配额

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

    要对限制进行响应,请使用退避和重试策略。在某些 Amazon 开发工具包中,会针对 HTTP 400 错误自动实施这一策略。

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

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

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

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

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

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

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

注意

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