Azure AD B2C 性能

Azure AD B2C performance

我想知道是否有人拥有一些关于 Azure B2C 在生产中的性能以及成千上万的注册客户的真实信息。我们的任务是在包含 100 000 多个客户资料的旧系统的基础上创建一个新系统。因此我们想使用 B2C 来存储和查询配置文件数据。

涉及到多达 100 000 个配置文件时,B2C 性能如何:

如果这么多配置文件的过滤性能很差,有没有办法提高?喜欢通过一些标签信息或类似信息对配置文件进行分组的方法吗?

看看Azure Active Directory B2C service limits and restrictions

The following end-user related service limits apply to all authentication and authorization protocols supported by Azure AD B2C, including SAML, Open ID Connect, OAuth2, and ROPC.

Category Limit
Number of requests per IP address per Azure AD B2C tenant 6,000/5min
Total number of requests per Azure AD B2C tenant 12,000/min

The number of requests can vary depending on the number of directory reads and writes that occur during the Azure AD B2C user journey. For example, a simple sign-in journey that reads from the directory consists of 1 request. If the sign-in journey must also update the directory, this operation is counted as an additional request.

编辑:

另请参阅:

Azure AD B2C is a customer identity access management (CIAM) solution capable of supporting millions of users and billions of authentications per day. It takes care of the scaling and safety of the authentication platform, monitoring, and automatically handling threats like denial-of-service, password spray, or brute force attacks.

这句话摘自 What is Azure Active Directory B2C?,向我们展示了两件事:

  1. 性能应该不是问题
  2. AAD B2C 是一种身份 解决方案,而不是用户配置文件 解决方案

我没有长椅,但您肯定应该在此处查看服务限制:https://docs.microsoft.com/en-us/azure/active-directory-b2c/service-limits

这些肯定会影响“JWT 一代”,因为这发生在用户旅程中,并且与底层租户的每次交互都算作一个请求。 “JWT 生成”性能也可能因您的用户旅程复杂性而异:如果您使用身份体验框架创建自定义用户旅程,则每个编排步骤都需要时间来执行,因此您的用户将等待旅程完成获得令牌。因此,更多的编排步骤等于更多的等待时间,特别是如果您使用 Restful 涉及第三方服务的技术配置文件。

我没有得到“JWT 验证”部分:AAD B2C 不验证您的 JWT,它只是发布它们。您的应用程序或 API 应该验证它们。

关于 Graph API 查询,性能通常都不错。您正在使用作为企业级服务的底层 AAD 租户,因此此类查询非常常见。仔细检查您要过滤的字段是否支持您要使用的功能,因为并非所有字段都支持所有功能。另请记住,即使是 Microsoft Graph API 也有限制:https://docs.microsoft.com/en-us/graph/throttling,您应该牢记这些限制。

如果您打算将 AAD B2C 租户用作数据库并不断查询它以提取信息,那么您可能用错了。

问候,F.