

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

# Amazon Cognito 中的限额
<a name="quotas"></a>

Amazon Cognito 对您可以在账户中执行的最大操作数具有默认限额，以前称为*限制*。Amazon Cognito 对于 Amazon Cognito 资源的最大数量和规模也具有限额。

每个 Amazon Cognito 配额将最大请求量合而为一 Amazon Web Services 区域 。 Amazon Web Services 账户例如，您的应用程序可以对美国东部（弗吉尼亚州北部）中的所有用户池，*最高*以**默认配额（RPS）**速率为 `UserAuthentication` 操作发出 API 请求。您在亚太地区（东京）的应用程序可以针对您所在地区的所有用户池生成相同数量的请求。 Amazon 一次只能在一个地区批准增加配额的请求。在美国东部（弗吉尼亚州北部）成功增加限额对您在亚太地区（东京）的最大请求速率没有任何效果。

**Topics**
+ [了解 API 请求速率配额](#operation-quotas)
+ [管理 API 请求速率配额](#managing-request-rate-quotas)
+ [Amazon Cognito 用户池 API 操作类别和请求速率配额](#category_operations)
+ [Amazon Cognito 身份池（联合身份）API 操作请求速率配额](#amazon-cognito-identity-pools-federated-identities-request-rate-quotas)
+ [资源数量和大小的配额](#resource-quotas)

## 了解 API 请求速率配额
<a name="operation-quotas"></a>

### 配额分类
<a name="quota-categorization"></a>

Amazon Cognito 为 API 操作强制执行最大请求速率。有关 Amazon Cognito 提供的 API 操作的更多信息，请参阅《API 参考指南》中的[用户池](https://docs.amazonaws.cn/cognito-user-identity-pools/latest/APIReference/Welcome.html)和[身份池](https://docs.amazonaws.cn/cognitoidentity/latest/APIReference/Welcome.html)。对于用户池，这些操作分为多个常见使用场景类别，例如 `UserAuthentication` 或 `UserCreation`。有关按类别列出的用户池 API 操作列表，请参阅[Amazon Cognito 用户池 API 操作类别和请求速率配额](#category_operations)。

在 [Service Quotas 控制台](https://console.amazonaws.cn/servicequotas/home)中，您可以按用户池和身份池类别跟踪配额使用情况。如果您的 Amazon Cognito 用户池的请求速率超过配额，则可以购买更多容量。在 [Service Quotas 控制台](https://console.amazonaws.cn/servicequotas/home)中，您可以按类别跟踪用户池配额使用情况以及购买增加的配额。

操作限额定义如下：某类别内所有操作的每秒最大请求数（RPS）。Amazon Cognito 用户池服务将配额应用于每个类别下的所有操作。例如，类别 `UserCreation`，包括四项操作：`SignUp`、`ConfirmSignUp`、`AdminCreateUser` 和 `AdminConfirmSignUp`。该类别分配有组合配额 50 RPS。如果多个操作同时发生，此类别中的每个操作最多可以单独调用 50 RPS，也可以组合调用。

**注意**  
类别配额仅适用于用户池。Amazon Cognito 将每个身份池配额应用于单个操作。对于每个类别和每个操作的请求速率配额， Amazon 衡量来自一个区域内所有用户池或身份池的所有请求的总速率。 Amazon Web Services 账户 

### 使用特殊请求速率处理 Amazon Cognito 用户池 API 操作
<a name="api-operation-special-handling"></a>

操作配额针对组合请求总数在类别级别进行衡量和实施，但 `AdminRespondToAuthChallenge` 和 `RespondToAuthChallenge` 操作除外，在这两个操作中，将应用特殊处理规则。

`UserAuthentication` 类别包括 Amazon Cognito 用户池 API 中的四个操作：`AdminInitiateAuth`、`InitiateAuth`、`AdminRespondToAuthChallenge` 和 `RespondToAuthChallenge`。此外，托管 UI 中的用户身份验证也会计入这个配额。`InitiateAuth` 和 `AdminInitiateAuth` 操作按照类别配额进行衡量和执行。匹配的 `RespondToAuthChallenge` 和 `AdminRespondToAuthChallenge` 操作需依据单独的配额，该配额是 `UserAuthentication` 类别限制的三倍。这个提升的配额适合您的应用程序中设置的多重身份验证质询。此配额足以涵盖大多数使用案例。在您的应用程序对身份验证质询作出最多三次响应后，其他请求将计入 `UserAuthentication` 类别配额。[多重身份验证（MFA）](user-pool-settings-mfa.md#user-pool-settings-mfa.title)、[设备身份验证](amazon-cognito-user-pools-device-tracking.md#amazon-cognito-user-pools-device-tracking.title)和[自定义身份验证](user-pool-lambda-challenge.md#user-pool-lambda-challenge.title)都是您可以设计到用户池中的质询提示示例。

例如，如果 `UserAuthentication` 类别的配额为 80 RPS，您可以按照高达 240 RPS（3 \$1 80 RPS）的速率调用 `RespondToAuthChallenge` 或 `AdminRespondToAuthChallenge`。如果您的用户池每次身份验证提示进行四轮质询，并且每秒有 70 个用户登录，则总 `RespondToAuthChallenge` 为 280 RPS（70 x 4），比配额高出 40 RPS。将额外的 40 RPS 添加到 70 个 `InitiateAuth` 调用，使 `UserAuthentication` 类别的总使用量为 110 RPS（40 \$1 70）。由于此值比设置为 80 RPS 的类别配额高出 30 RPS，因此 Amazon Cognito 会限制来自您的应用程序的请求。

### 每月活跃用户
<a name="monthly-active-users"></a>

当 Amazon Cognito 计算用户池账单时，它会根据每个*每月活跃用户（MAU）*来收费。在为配额增加请求做计划时，请考虑您当前和预计的 MAU 数量。如果在一个日历月内有与该用户相关的身份操作，则该用户将计为 MAU。当您通过 SAML 或 OIDC 联合身份验证[将联合用户链接到本地用户](cognito-user-pools-identity-federation-consolidate-users.md)时，无论用户是直接登录还是通过联合身份验证登录，本地用户都将被计为企业目录 MAU 或 `EnterpriseMAU`。有关更多信息，请参阅 [Amazon Cognito 定价](https://www.amazonaws.cn/cognito/pricing/)。
+ 注册和以管理员身份创建用户。[用户 CSV 导入](cognito-user-pools-using-import-tool.md)*不会*增加 MAU 计数。
+ 用户账户确认或属性验证。
+ 登录和质询响应。您使用当前登录用户的访问令牌进行授权的操作不会增加 MAU 计数；但是，由于登录会生成访问令牌，因此这些操作表明关联用户是 MAU。
+ 注销和令牌撤销。
+ 以管理员身份自助重置密码和设置用户密码。以管理员身份@@ *重置*用户密码 ([AdminResetUserPassword](https://docs.amazonaws.cn/cognito-user-identity-pools/latest/APIReference/API_AdminResetUserPassword.html)) 不会增加您的 MAU 数量。
+ 更改用户属性或组成员资格。
+ 以管理员身份查询用户的详细属性。

**注意**  
“以*管理员身份查询用户的详细属性”* 类别包括 API 操作 [AdminGetUser](https://docs.amazonaws.cn/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html)，但不包括[ListUsers](https://docs.amazonaws.cn/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html)。大型用户池中的详细 user-by-user查询可能会对您的 Amazon 账单产生重大影响。为避免增加成本，请使用 `ListUsers` 收集用户数据或将用户信息存储在外部数据库中。

对于任何活动用户的额外会话，或者在一个日历月内未处于活动状态的任何用户，都不会向您收取费用。在您在 *Lite、E* *ssent* ial *s 和 Plus* 的可用选项之间更改了用户池功能套餐的月份中，该月的账单是根据每个等级的每月活跃用户总数 (MAUs) 计算的，当用户处于活动状态时，每个 MAU 都分配到价格最高的分配级别。例如：

1. 在月初，您的用户池为增值版功能计划。

1. 用户 A 在该月的第一天登录。

1. 用户 B 在该月的第一天和最后一天登录。

1. 在该月的第十天，您将功能计划切换到基础版。

1. 用户 C 在该月的最后一天登录。

在这种情况下，用户 A 和用户 B 是 Plus MAUs ，用户 C 是 Essentials MAU。

**精简版 MAU**  
该用户在用户池使用精简版功能计划时的月份中至少处于活动状态一次，并且在用户池使用基础版或增值版计划时从未处于活动状态。

**基础版 MAU**  
该用户在用户池使用基础版功能计划时的月份中至少处于活动状态一次，并且在用户池使用增值版计划时从未处于活动状态。

**增值版 MAU**  
该用户在用户池使用增值版计划时的月份中至少处于活动状态一次。

有关更多信息，请参阅 [用户池功能计划](cognito-sign-in-feature-plans.md)。

## 管理 API 请求速率配额
<a name="managing-request-rate-quotas"></a>

### 确定配额要求
<a name="identify-quota-requirements"></a>

**重要**  
如果您增加 `UserAuthentication`、`UserCreation` 或 `AccountRecovery` 等类别的 Amazon Cognito 配额，您可能需要增加其他 Amazon Web Services 服务的配额。例如，如果这些服务的请求率配额不足，Amazon Cognito 使用 Amazon Simple Notification Service（Amazon SNS）或 Amazon Simple Email Service（Amazon SES）发送的邮件可能会发送失败。

要计算配额要求，请确定在特定时间段内将与您的应用程序交互的活跃用户数。例如，如果您的应用程序预计在八小时内平均有 100 万个活跃用户登录，则您必须平均每秒对 35 个用户进行身份验证。

此外，如果您假设平均用户会话为两个小时，并且令牌配置为在一个小时后过期，则每个用户必须在此会话期间刷新其令牌一次。为支持此负载，`UserAuthentication` 类别所需的平均配额为 70 RPS。

如果考虑到八小时内用户登录频 peak-to-average率的差异，假设比率为 3:1，则需要所需的`UserAuthentication`配额为 200 RPS。

**注意**  
如果您为每个用户操作调用多个操作，则必须在类别级别对各个操作调用速率进行求和。

### 优化请求速率以避免达到配额限制
<a name="optimize-quotas"></a>

由于提高 API 速率限制会增加 Amazon 账单成本，因此在申请增加配额之前，请考虑调整使用模式。以下是优化请求速率的一些应用程序架构示例。

**在回退等待期之后重试尝试**  
您可以在每次 API 调用时捕获错误，然后在回退期之后重试尝试。您可以根据业务需求和负载调整回退算法。Amazon 内置 SDKs 了重试逻辑。有关更多信息，请参阅[构建工具 Amazon。](https://www.amazonaws.cn/tools/ )

**使用外部数据库处理频繁更新的属性**  
如果您的应用程序需要对用户池进行多次调用以读取或写入自定义属性，可使用外部存储。您可以使用首选数据库存储自定义属性，也可以在登录期间使用缓存层来加载用户配置文件。您可以在需要时从缓存中引用此配置文件，而无需从用户池重新加载用户配置文件。

**在客户端验证 JSON 网络令牌 (JWTs)**  
应用程序必须在信任 JWT 令牌之前验证这些令牌。您可以在客户端验证令牌的签名和有效性，而无需向用户池发送 API 请求。验证令牌后，您可以信任令牌中的陈述并使用陈述，而不是执行更多 `getUser` API 调用。有关更多信息，请参阅 [验证 JSON Web 令牌](https://docs.amazonaws.cn/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html)。

**使用等候室限制 Web 应用程序的流量**  
如果您预计在有时限的活动（例如参加考试或参加实时活动）期间会有大量用户登录，则可以使用自我限制机制优化请求流量。例如，您可以设置一个等候室，用户可以在其中等待直到会话可用，从而允许您在有可用容量时处理请求。请参阅 [Amazon 虚拟等候室解决方案](https://www.amazonaws.cn/solutions/implementations/aws-virtual-waiting-room)以获取等候室的参考架构。

**缓存 JWTs**  
在访问令牌过期前重用令牌。有关在 API Gateway 中使用令牌缓存的框架示例，请参阅[管理用户池令牌到期和缓存](amazon-cognito-user-pools-using-tokens-caching-tokens.md)。与其生成 API 请求来查询用户信息，不如在 ID 令牌到期前先缓存令牌，然后从缓存中读取用户属性。

有关在中使用 API 请求速率的更多信息 Amazon，请参阅[管理和监控工作负载中的 API 限制](https://www.amazonaws.cn/blogs/mt/managing-monitoring-api-throttling-in-workloads/)。有关优化会增加 Amazon 账单成本的 Amazon Cognito 操作的信息，请参阅。[管理 成本](tracking-cost.md#tracking-cost-managing)

### 跟踪配额使用量
<a name="track-quota-usage"></a>

Amazon Cognito 在亚马逊中 CloudWatch 为账户级别的每个 API 操作类别生成`CallCount``ThrottleCount`指标。您可以使用 `CallCount` 跟踪客户发出的与类别相关的调用总数。您可以使用 `ThrottleCount` 跟踪与类别相关的节流调用总数。您可以使用 `CallCount` 和 `ThrottleCount` 指标以及 `Sum` 统计数据计算类别中的调用总数。有关更多信息，请参阅[CloudWatch 使用量指标](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。

监控服务配额时，*利用率*是使用中的服务配额的百分比。例如，如果配额值为 200 个资源，正在使用 150 个资源，则利用率为 75%。*使用量*是指服务配额中正在使用的资源或操作的数量。

**通过 CloudWatch 指标跟踪使用情况**  
您可以使用跟踪和收集 Amazon Cognito 用户池使用率指标。 CloudWatch CloudWatch仪表板会显示有关您 Amazon Web Services 服务 使用的每一项的指标。使用 CloudWatch，您可以创建指标警报来通知您或更改您正在监控的特定资源。有关 CloudWatch 指标的更多信息，请参阅[跟踪您的 CloudWatch 使用量指标](tracking-quotas-and-usage-in-cloud-watch-and-service-quotas.md)。

**通过 Service Quotas 指标跟踪利用率**  
Amazon Cognito 用户池已与 Service Quotas 集成，Service Quotas 是一个控制台界面，可用于显示和管理您的服务配额使用量。在 Service Quotas 控制台中，您可以查找特定配额的值、查看监控信息、请求增加配额或设置 CloudWatch 警报。在您的账户处于活动状态一段时间后，您可以查看资源利用率图。

Service Quotas 控制台中适用于 [Amazon Cognito 用户池](https://console.amazonaws.cn/servicequotas/home/services/cognito-idp/quotas)和 [Amazon Cognito 身份池](https://console.amazonaws.cn/servicequotas/home/services/cognito-identity/quotas)的**已应用的账户级别配额值**列显示您的当前配额。**利用率**列显示您当前的配额使用率。可调整的 Amazon Cognito 用户池 requests-per-second (RPS) 配额会显示其当前使用情况。Service Quotas 控制台还可以将您导航到 CloudWatch 指标，以便仔细查看所选配额指标。有关在 Service Quotas 控制台中查看配额的更多信息，请参阅[查看 Service Quotas](https://docs.amazonaws.cn/servicequotas/latest/userguide/gs-request-quota.html)。

### 跟踪每月活跃用户 (MAUs)
<a name="track-mau-usage"></a>

用户池中的每月活跃用户数 (MAUs) 为你计划增加请求率配额提供了重要数据。您可以将您的 API 请求速率与您在给定时间段内的活跃用户数量进行比较。有了这些信息，您就可以计算出应用程序活跃用户的增加将如何影响使用模型中的配额。例如，假设您在美国西部（俄勒冈州）的合并应用程序在一个月内产生了 200 万个活跃用户，而您的 `UserAuthentication` 类别在默认的每秒 120 次请求（RPS）配额下，偶尔出现了限流错误。在广告活动成功之前的上个月，你有100万个， MAUs而且你的申请从未超过80个RPS。如果您预计新的电视广告会导致出现类似的流量激增，则可能需要额外购买 40 RPS 的配额，使调整后的配额为 160 RPS，从而可容纳下一个百万用户。

**要查看您的 MAUs**  
访问 [Amazon Billing 控制台](https://console.amazonaws.cn/billing/home)并查看最近的账单。在 “**按服务计费**” 下，您可以在 **Cognito** 上进行筛选，以查看该账单周期的明细。 MAUs 

### 请求提高配额
<a name="api-request-rate-quotas"></a>

Amazon Cognito 对您在用户池和每个用户池中的身份池中每秒可以执行的最大操作数都有配额。 Amazon Web Services 区域您可以购买额外的配额来增加可调整 Amazon Cognito 用户池 API 请求速率配额。查看您当前的配额，然后通过 Service Quotas 控制台或通过 Service Quotas API 操作 `ListAWSDefaultServiceQuotas` 和 `RequestServiceQuotaIncrease` 购买增量配额。
+ 要使用 Service Quotas 控制台购买增量配额，请参阅《Service Quotas 用户指南》**中的[请求增加 API 配额](https://docs.amazonaws.cn/servicequotas/latest/userguide/request-quota-increase.html)。
+ Amazon 目标是在 10 天内完成增加配额的请求。然而，一些因素可能导致请求处理时间超过 10 天。例如，某些请求可能要求 Amazon Cognito 预配置额外的硬件容量，而请求量的季节性增加可能会导致延迟。
+ 如果配额在 Service Quotas 中尚不可用，请使用[服务限制提高表单](https://console.amazonaws.cn/support/home#/case/create?issueType=service-limit-increase)。

**重要**  
只能增加可调配额。您必须购买增加的配额容量。有关提高配额的定价，请参阅 [Amazon Cognito 定价](https://www.amazonaws.cn/cognito/pricing/)。

## Amazon Cognito 用户池 API 操作类别和请求速率配额
<a name="category_operations"></a>

由于 Amazon Cognito 的重叠 API 操作类具有[不同的授权模型](https://docs.amazonaws.cn/cognito/latest/developerguide/user-pools-API-operations.html)，因此每个操作都属于一个类别。每个类别对所有成员 API 操作都有自己的共同使用配额，跨您账户中一个 Amazon Web Services 区域 的所有用户池。您只能请求提升*可调整*类别配额。有关更多信息，请参阅 [请求提高配额](#api-request-rate-quotas)。配额调整适用于您的账户在单个区域中的用户池。对于每个用户池，Amazon Cognito 将某些类别[3](#cognito-quotas-individual-rates-note)中的操作限制为每秒 5 次请求（RPS）。**默认配额（RPS）**还适用于 Amazon Web Services 账户中的所有用户池。

**注意**  
每个类别的配额以每月活跃用户数 (MAUs) 来衡量。 Amazon Web Services 账户 少于 200 万 MAUs 可以在默认配额内运行。如果您的应用程序少于一百万， MAUs 而且 Amazon Cognito 正在限制请求，请考虑优化您的应用程序。有关更多信息，请参阅 [优化请求速率以避免达到配额限制](#optimize-quotas)。

类别操作配额适用于一个 Amazon Web Services 区域的所有用户池中的所有用户。Amazon Cognito 还为您的应用程序可以针对一个用户生成的请求数量保留了配额。您必须限制每个用户的 API 请求数，如下表所示。

**Amazon Cognito 用户池中每个用户的请求速率配额**


| 操作 | 每个用户每秒操作数 | 
| --- | --- | 
| 读取用户配置文件示例：`GetUser`、`GetDevice`、`InitiateAuth`、`RespondToAuthChallenge`。 | 10 | 
| 写入用户配置文件示例：`UpdateUserAttributes`、`SetUserSettings` | 10 | 

您必须限制每个类别的 API 请求数，如下表所示。

**Amazon Cognito 用户池中每个类别的请求速率配额**


| 类别 | 说明 | 默认配额（RPS） | 可调整 | 
| --- | --- | --- | --- | 
| UserAuthentication[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 对用户进行身份验证（登录）的操作。这些操作受[使用特殊请求速率处理 Amazon Cognito 用户池 API 操作](#api-operation-special-handling)的制约。 | 120 | 是 | 
| UserCreation[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 用于创建或确认 Amazon Cognito 本地用户的操作。这是由您的 Amazon Cognito 用户池直接创建和验证的用户。 | 50 | 可以 | 
| UserFederation通过第三方身份提供者将用户联合（身份验证）到您的 Amazon Cognito 用户池的操作。 | 向用户池联合身份验证端点提交 IdP 响应的操作。生成 IdP 令牌的 OIDC 或社交服务提供商操作以及所有 SAML 请求一起构成此限额。 | 25 | 是 | 
| UserAccountRecovery[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 恢复用户账户或者更改或更新用户密码的操作。 | 30 | 否 | 
| UserRead[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 从用户池中检索用户的操作。 | 120 | 是 | 
| UserUpdate[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) |  用于管理用户和用户属性的操作。 | 25 | 否 | 
| UserToken[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 令牌管理的操作 | 120 | 是 | 
| UserResourceRead[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 从 Amazon Cognito 检索用户资源信息（如记忆设备或组成员资格）的操作。 | 50 | 可以 | 
| UserResourceUpdate[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 用于更新用户的资源信息（如记忆设备或组成员资格）的操作。 | 25 | 否 | 
| UserList[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 返回用户列表的操作。 | 30 | 否 | 
| UserPoolRead[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 读取用户池的操作。 | 15 | 否 | 
| UserPoolUpdate[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 创建、更新或删除用户池的操作。 | 15 | 否 | 
| UserPoolResourceRead[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 从用户池中检索有关资源信息（如组或资源服务器）的操作。[3](#cognito-quotas-individual-rates-note) | 20 | 否 | 
| UserPoolResourceUpdate[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 修改用户池中的资源（如组或资源服务器）的操作。[3](#cognito-quotas-individual-rates-note) | 15 | 否 | 
| UserPoolClientRead[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 检索用户池客户端的相关信息的操作。[3](#cognito-quotas-individual-rates-note) | 15 | 否 | 
| UserPoolClientUpdate[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/cognito/latest/developerguide/quotas.html) | 创建、更新和删除用户池客户端的操作。[3](#cognito-quotas-individual-rates-note) | 15 | 否 | 
| ClientAuthentication`client_credentials` 向令牌端点发出授权类型请求。 | 生成用于授权 machine-to-machine请求的凭证的操作 | 150 | 否 | 

1 `ChallengeName` 为 `NEW_PASSWORD_REQUIRED` 的 `RespondToAuthChallenge` 或 `AdminRespondToAuthChallenge` 响应计入 `UserAccountRecovery` 类别。所有其他质询响应计入 `UserAuthentication` 类别。

2 登录期间的每个托管登录或经典托管 UI 操作都会为配额贡献一个请求。例如，登录并提供 MFA 代码的用户贡献 2 个请求。授权码授予中的令牌兑换会受到额外配额分配的限制，该配额分配的速率与您在 `UserAuthentication` 类别中的配额速率相同。

3 此类别中的任何单独操作都有一项约束，阻止单个用户池以高于 5 RPS 的速率调用操作。

### 用户池域的批量请求速率限制
<a name="category_operations-managedlogin"></a>

以下配额适用于向用户池域发出的请求总量。


| 操作 | 说明 | 默认配额（RPS） | 可调整 | 
| --- | --- | --- | --- | 
| 来自源 IP 的请求 | 从一个 IP 地址到一个域的请求量 | 300 | 否 | 
| 向应用程序客户端发出的请求 | 在一个域中对一个应用程序客户端 ID 的请求量 | 300 | 否 | 
| 向域发出的请求 | 对一个用户池域的服务的请求总量 | 500 | 否 | 
| 对 JSON Web 密钥文档的请求 | 一对一jwks.json Amazon Web Services 账户 的请求量 Amazon Web Services 区域 | 50000 | 否 | 

## Amazon Cognito 身份池（联合身份）API 操作请求速率配额
<a name="amazon-cognito-identity-pools-federated-identities-request-rate-quotas"></a>


| 操作 | 说明 | 默认配额（RPS）[1](#identity-pools-request-rate-variable-note) | 可调整 | 提高配额的资格 | 
| --- | --- | --- | --- | --- | 
| GetId | 检索身份池的身份 ID。 | 25 | 是 | 请联系您的账户团队。 | 
| GetOpenIdToken | 在经典工作流中从身份池中检索 OpenID 令牌。 | 200 | 是 | 请联系您的账户团队。 | 
| GetCredentialsForIdentity | 在增强的工作流程中从 Amazon 身份池中检索证书。 | 200 | 是 | 请联系您的账户团队。 | 
| GetOpenIdTokenForDeveloperIdentity | 从开发人员工作流中的身份池中检索 OpenID 令牌。 | 50 | 可以 | 请联系您的账户团队。 | 
| ListIdentities | 检索身份池 IDs 中的身份列表。 | 5 | 是 | 请联系您的账户团队。 | 
| DeleteIdentities | 从身份池中删除一个或多个注册的身份。 | 10 | 是 | 请联系您的账户团队。 | 
| TagResource | 将标签应用于身份池。 | 5 | 是 | 请联系您的账户团队。 | 
| UntagResource | 从身份池中移除标签。 | 5 | 是 | 请联系您的账户团队。 | 
| ListTagsForResource | 显示应用于身份池的标签列表。 | 10 | 是 | 请联系您的账户团队。 | 

1 默认配额是您的任意 Amazon Web Services 区域 身份池中身份池的最低请求速率配额 Amazon Web Services 账户。在某些区域，您的 RPS 配额可能会更高。

## 资源数量和大小的配额
<a name="resource-quotas"></a>

资源配额是 Amazon Cognito 中资源、输入字段、持续时间和其他杂项特征的最大数量或大小。

您可以在 Service Quotas 控制台中或者通过[提高服务限制表](https://console.amazonaws.cn/support/home#/case/create?issueType=service-limit-increase)调整某些资源配额。要通过 Service Quotas 控制台请求增加配额，请参阅《Service Quotas 用户指南》**中的[请求增加配额](https://docs.amazonaws.cn/servicequotas/latest/userguide/request-quota-increase.html)。如果配额在 Service Quotas 中尚不可用，请使用[服务限制提高表单](https://console.amazonaws.cn/support/home#/case/create?issueType=service-limit-increase)。

**注意**  
 Amazon Web Services 账户 级别的资源配额（如每个区域的*用户池）适用于每个区域*中的 Amazon Cognito 资源。 Amazon Web Services 区域例如，您在美国东部（弗吉尼亚州北部）中有 1,000 个用户池，在欧洲地区（斯德哥尔摩）另外有 1,000 个。

下表显示了默认资源配额以及它们是否可调整。

### Amazon Cognito 用户池资源配额
<a name="resource-quotas-cup"></a>

以下配额描述了您可以在用户池中创建的最大项目数或项目长度。


| 资源 | 限额 | 可调整 | 最大配额 | 
| --- | --- | --- | --- | 
| 每个用户池的应用程序客户端 | 1000 | 是 | 10000 | 
| 每个区域的用户池数 | 1000 | 是 | 10000 | 
| 每个用户池的身份提供者 | 300 | 是 | 1000 | 
| 每个用户池的资源服务器 | 25 | 是 | 300 | 
| 每个用户池的用户数 | 40,000,000 | 是 | 请联系您的账户团队。 | 
| 令牌生成前 Lambda 触发器中的合并更改总数[1](#cognito-resource-quotas-claims-note) | 5000 | 是 | 请联系您的账户团队。 | 
| 每个用户池的托管登录品牌样式 | 20 | 否 | 不适用 | 
| 每个用户池的托管登录条款文档 | 40 | 否 | 不适用 | 
| 每个用户池的自定义属性 | 50 | 不可以 | 不适用 | 
| 每个属性的字符数 | 2,048 字节 | 否 | 不适用 | 
| 自定义属性名称的字符数 | 20 | 否 | 不适用 | 
| 密码策略中必需的最少密码字符 | 6–99 | 否 | 不适用 | 
| 每人每天发送的电子邮件 Amazon Web Services 账户[2](#cognito-resource-quotas-email-note) | 50 | 不可以 | 不适用 | 
| 每个请求者 IP 地址每小时发送到一个电子邮件地址的电子邮件 MFA 消息数 | 5-20 | 否 | 不适用 | 
| 电子邮件主题中的字符数 | 140 | 否 | 不适用 | 
| 电子邮件消息中的字符数 | 20000 | 否 | 不适用 | 
| SMS 验证消息中的字符数 | 140 | 否 | 不适用 | 
| 密码中的字符数 | 256 | 否 | 不适用 | 
| 身份提供者名称的字符数 | 32 | 否 | 不适用 | 
| SAML 响应中的字符数 | 100000 | 否 | 不适用 | 
| 每个身份提供者的标识符数 | 50 | 不可以 | 不适用 | 
| 链接到用户的身份数 | 5 | 否 | 不适用 | 
| 每位用户的密码/ WebAuthn 身份验证器 | 20 | 否 | 不适用 | 
|  URLs 每个应用程序客户端的回调 | 100 | 否 | 不适用 | 
|  URLs 每个应用程序客户端的注销 | 100 | 否 | 不适用 | 
| 每个资源服务器的范围 | 100 | 否 | 不适用 | 
| 每个应用程序客户端的范围 | 50 | 不可以 | 不适用 | 
| 每个区域的自定义域数 | 4 | 否 | 不适用 | 
| 每个用户都可以属于的组 | 100 | 否 | 不适用 | 
| 每个用户池的组数 | 10000 | 否 | 不适用 | 

1 来自 [令牌生成前 Lambda 触发器](user-pool-lambda-pre-token-generation.md) 的令牌可能会遇到此限额。一个事务中的访问令牌和身份令牌中现有和已添加的声明数量以及范围数量加起来必须小于或等于此配额。被隐藏的声明和范围不计入此限额。

2 仅当您使用 Amazon Cognito 用户池的默认电子邮件功能时，此限额才适用。要提高电子邮件发送量，请配置您的用户池以使用 Amazon SES 电子邮件配置。此限制每天在 UTC 09:00 重置。有关更多信息，请参阅 [Amazon Cognito 用户池的电子邮件设置](user-pool-email.md)。

### Amazon Cognito 用户池会话验证参数
<a name="resource-quotas-cup-session"></a>

以下配额描述了用户池中身份验证构件和用户会话持续时间的可用设置。


| 令牌 | 配额 | 
| --- | --- | 
| ID 令牌 | 5 分钟 – 1 天 | 
| 刷新令牌 | 1 小时 – 3650 天 | 
| 访问令牌 | 5 分钟 – 1 天 | 
| 托管 UI 会话 Cookie | 1 小时 | 
| 身份验证会话令牌 | 3 分钟 – 15 分钟 | 

### Amazon Cognito 用户池代码安全资源限额（不可调整）
<a name="resource-quotas-cup-codes"></a>

以下配额描述了与登录、注册和密码重置代码相关的可用时间段。


| 资源 | 限额 | 
| --- | --- | 
| 注册确认码有效期 | 24 小时 | 
| 用户属性验证码有效期 | 24 小时 | 
| 多重身份验证（MFA）代码有效期 | 3–15 分钟 | 
| 忘记密码代码有效期 | 1 小时 | 
| 每位用户每小时的最大 ConfirmForgotPassword 和 ForgotPassword 请求数[1](#cognito-resource-quotas-confirmforgotpassword-note) | 5–20 | 
| 每位用户每小时的最大 ResendConfirmationCode 请求数 | 5 | 
| 每位用户每小时的最大 ConfirmSignUp 请求数 | 15 | 
| 每位用户每小时的最大 ChangePassword 请求数 | 5 | 
| 每位用户每小时的最大 GetUserAttributeVerificationCode 请求数 | 5 | 
| 每位用户每小时的最大 VerifyUserAttribute 请求数 | 15 | 

1 Amazon Cognito 会评估更新密码请求中的风险因素，然后分配一个与评估的风险等级相关的配额。有关更多信息，请参阅 [忘记密码行为](managing-users-passwords.md#forgot-password)。

### Amazon Cognito 用户池用户导入任务资源限额
<a name="resource-quotas-cup-import"></a>

以下配额描述了用户导入作业可用的资源和限制。


| 资源 | 限额 | 可调整 | 最大配额 | 
| --- | --- | --- | --- | 
| 每个用户池的用户导入任务 | 1000 | 是 | 请联系您的账户团队。 | 
| 每个用户导入 CSV 行的最大字符数 | 16000 | 否 | 不适用 | 
| 最大 CSV 文件大小 | 100 MB | 否 | 不适用 | 
| 每个 CSV 文件的最大用户数 | 500,000 | 否 | 不适用 | 

### Amazon Cognito 身份池（联合身份）资源配额
<a name="resource-quotas-cib"></a>

以下配额描述了您可以在身份池中创建的最大项目数或项目长度。


| 资源 | 限额 | 可调整 | 最大配额 | 
| --- | --- | --- | --- | 
| 每个账户的身份池 | 1000 | 是 | 不适用 | 
| 每个身份池的 Amazon Cognito 用户池提供商数 | 50 | 可以 | 1000 | 
| 身份池名称的字符长度 | 128 字节 | 否 | 不适用 | 
| 登录提供商名称的字符长度 | 2,048 字节 | 否 | 不适用 | 
| 每个身份池的身份 | 无限制 | 否 | 不适用 | 
| 可以为其指定角色映射的身份提供者数  | 10 | 否 | 不适用 | 
| 单个列表或查找调用的结果数 | 60 | 否 | 不适用 | 
| 基于角色的访问控制（RBAC）规则 | 25 | 否 | 不适用 | 

### Amazon Cognito Sync 资源配额
<a name="resource-quotas-sync"></a>

以下配额描述了您可以在 Amazon Cognito Sync 中创建的最大项目数或项目长度。


| 资源 | 限额 | 可调整 | 最大配额 | 
| --- | --- | --- | --- | 
| 每个身份的数据集 | 20 | 是 | 请联系您的账户团队。 | 
| 每个数据集的记录数 | 1024 | 是 | 请联系您的账户团队。 | 
| 单个数据集的大小 | 1 MB | 是 | 请联系您的账户团队。 | 
| 数据集名称的字符数 | 128 字节 | 否 | 不适用 | 
| 请求成功后批量发布的等待时间 | 24 小时 | 否 | 不适用 | 