限制 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 操作的每秒请求数请求限制,也会进行此限制。

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

  • 当与 Amazon CloudHSM 密钥存储相关联的 Amazon CloudHSM 集群正在处理大量命令(包括与 Amazon CloudHSM 密钥存储不相关的命令)时,对Amazon CloudHSM 密钥存储中的 KMS 密钥的操作请求可能会以低于预期的速率被节流。

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

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

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

注意

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