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

限制 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 集群正在处理大量命令(包括与自定义密钥存储不相关的命令)时,对自定义密钥存储中的 KMS 密钥的操作请求可能会以低于预期的速率被节流。

    当 Amazon CloudHSM 集群中没有可用的 PKCS11 会话时,Amazon KMS 还会节流对自定义密钥存储中的 KMS 密钥进行操作的请求。这种情况通常发生在高突发流量期间,此时需要额外的会话来服务流量。

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

所有 Amazon KMS 配额均可调整,但密钥策略文档大小资源配额和自定义密钥存储中的 KMS 密钥请求配额除外。要请求提高配额,请使用 Service Quotas 控制台RequestServiceQuotaIncrease 操作。有关说明,请参阅请求增加 Amazon KMS 配额。有关详细信息,请参阅 Service Quotas 用户指南中的请求增加配额。如果 Amazon KMS 的服务限额在 Amazon Web Services 区域不可用,请访问 Amazon Web Services Support中心并创建案例。