本文档已存档,并且将不进行维护。

ACS 服务限制

发布时间: 2011年4月

更新时间: 2015年6月

应用到: Azure

本主题说明 Microsoft Azure Active Directory 访问控制(也称为访问控制服务或 ACS) 允许的服务各个方面的最大值。

ACS 命名空间可以将其 Google 标识提供程序配置从 OpenID 2.0 迁移到 OpenID Connect。必须在 2015 年 6 月 1 日之前完成迁移。有关详细指南,请参阅将 ACS 命名空间迁移到 Google OpenID Connect

每当 ACS 收到信赖方应用程序的输入令牌时,ACS 规则引擎便会同时执行与该信赖方应用程序关联的所有规则。如果规则输出的附加声明在输入令牌中不存在,则会将这些声明作为输入值重新执行所有规则。在执行完成后,如果未颁发新的声明或已完成八次执行(不管先满足哪个条件),将停止执行规则。

当使用管理服务在规则组中查询规则时,该服务将查询结果限制为不超过 100 条规则。这是因为管理服务使用开放式数据 (OData) 协议,而一次(分页)返回 100 个对象是 OData 终结点的标准行为。

每个 ACS 实体的结果大小如下所示:

  • 规则:100

  • 其他所有内容:50

更大的结果集只能通过在管理服务客户端代码中实现分页来进行处理。有关分页示例,请参阅如何:加载分页结果 (WCF Data Services) (http://go.microsoft.com/fwlink/?LinkID=193452)。

要使 ACS 处理并成功颁发安全令牌,传入令牌中的声明数必须等于或小于 80。如果传入声明数大于 80,则将生成以下错误消息:输入声明数 (#) 超过限制 (80)

为了提高所有用户的 ACS 可用性和性能,ACS 对每个命名空间实施了每秒 30 个令牌请求的持久速率限制。此针对命名空间实施的速率限制以数分钟为时限,按每分钟平均值来度量,因此它不会由偶然的峰值触发。如果每秒超过 30 个请求的令牌请求速率持续较长时间,则 ACS 将拒绝该间隔时间内从命名空间发出的超出数目的令牌请求,并返回一个 HTTP 429“请求太多”错误(错误代码为 ACS90055)。

当 ACS 资源暂时按高令牌请求速率由所有命名空间使用时,ACS 也会拒绝令牌请求。在这种情况下,ACS 将返回一个 HTTP 503“服务不可用”错误,错误代码为 ACS90046(ACS 忙)或 ACS60021(数据服务器忙)。

如果你收到 HTTP 429 或 503 错误,请使用退避计时器重试请求,如 ACS 重试指导原则中所述。如果重试时不逐渐延长间隔时间,则不断重试可能会使问题恶化,而拒绝令牌请求的时间也会越来越长。如果由于命名空间超过了令牌请求速率限制而重复出现 ACS90055-HTTP 429 错误,则可以考虑将单个命名空间替换为多个较小的命名空间,以便重新分配工作负荷。

另请参阅

显示: