You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于AAD与AAD B2C的Azure授权架构合理性咨询及问题

多租户平台身份认证与授权方案答疑

背景概述

小型绿地多租户产品平台,核心需求如下:

  • R1:无本地用户池,所有用户通过外部企业IdP(Google、Microsoft账户)完成认证
  • R2:遵循零信任、细粒度RBAC等安全最佳实践
  • 当前规划:使用自有AAD租户的系统分配托管标识实现云资源间安全通信

问题解答

  1. 为实现无需存储用户数据的身份认证,计划使用AAD B2C单租户(如"MyCompanyB2C"),无需为每个客户单独创建租户,此理解是否正确?
    完全正确。AAD B2C的核心设计目标之一就是支持单租户对接多外部IdP,无需为每个客户单独搭建租户;且默认仅保留外部用户的必要关联信息(而非核心身份数据),完美匹配你无需存储用户数据的需求。

  2. 是否需要与外部IdP建立联合身份验证,以支持企业账户登录?
    需要。AAD B2C本身不具备直接处理外部企业账户认证的能力,必须通过联合身份验证配置对接Google Workspace、Microsoft Entra ID等外部IdP,外部企业用户才能使用自身现有账户完成登录,无需在B2C中重新注册。

  3. 是否需在AAD B2C中定义RBAC的自定义范围(例如:拥有scopes: "users/read"声明的用户可读取用户数据)?
    需要,更准确地说,需在AAD B2C的应用注册中定义**自定义权限范围(Scopes)和应用角色(App Roles)**来实现细粒度RBAC。你举例的users/read属于资源级权限范围,定义后可通过用户流或自定义策略将对应权限声明注入访问令牌,服务端通过校验令牌中的scp或roles字段完成权限判断。

  4. 即便客户使用不同IdP,AAD B2C颁发的访问令牌是否格式统一?即应用是否可采用单一授权方式,无需同时兼容Google和Microsoft访问令牌?
    是的,格式完全统一。无论用户通过哪个外部IdP登录,AAD B2C都会作为统一身份代理,向应用颁发符合OIDC/JWT标准的格式一致的访问令牌。你的应用只需校验B2C颁发的令牌即可,无需单独处理Google或Microsoft的原生令牌。

  5. 若已在资源间实现Managed Identites,是否仍需让服务仅使用针对微服务颁发的、含依赖服务范围的令牌调用彼此,避免颁发“全能访问令牌”?
    需要。托管标识主要用于云服务(如Azure VM、Function)与Azure原生服务(如Storage、SQL)之间的身份认证;而微服务间的调用,依然要遵循零信任的“最小权限”原则,使用基于范围的访问令牌——每个服务仅请求自身所需的依赖服务权限范围,避免过度授权。托管标识与服务间令牌授权是互补关系,而非替代。

  6. AAD B2C是否为负责颁发OIDC访问令牌的身份认证/授权服务器?
    是的,AAD B2C是完整的OIDC认证与授权服务器,可直接颁发符合OIDC标准的ID令牌、访问令牌和刷新令牌。它既处理身份认证流程,也会根据配置的权限规则生成包含正确声明的授权令牌,完全覆盖你的认证与授权需求。


内容的提问来源于stack exchange,提问作者Equestre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:15:04