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

关于Entra External ID及资源部署的技术咨询

针对Entra External ID + Blazor WASM + 自研API场景的问题解答

核心问题逐一拆解

1. 客户租户部署资源提示无订阅,是否该在此部署?

客户租户(Entra External ID专属租户)仅用于身份管理,本身不关联Azure订阅——你之前在mainTenant订阅里做的“关联外部标识”,只是指定该订阅用于支付External Identities的服务费用,不是给客户租户分配资源部署权限。

正确做法:所有基础设施(Azure静态Web App、App Service)都部署在mainTenant的订阅下,客户租户里只需要维护身份配置(应用注册、用户数据),不需要部署任何云资源。

2. mainTenant的资源能否引用客户租户的应用注册?

完全可以,关键是配置时要明确指向客户租户的身份服务:

  • Blazor WASM的认证配置:指定客户租户的租户ID或租户域名(而非mainTenant的),同时确保客户租户里的Blazor应用注册已配置正确的重定向URI(指向静态Web App的域名)。
  • App Service托管的API:在身份验证设置中,选择“Microsoft Entra ID”作为身份提供者,并指定客户租户的租户ID;同时在客户租户的API应用注册里,将mainTenant的App Service服务主体添加为授权访问对象(或配置允许的受众为API的应用ID URI)。
  • 验证逻辑:API收到的令牌发行者(iss)应为客户租户的Entra ID端点,确保令牌有效性。

3. API用托管身份调用Graph编辑客户租户用户数据?

默认情况下,mainTenant的托管身份仅能访问mainTenant的资源,要访问客户租户的Graph API,需按以下步骤配置:

  1. 在客户租户中创建一个专用的应用注册(或复用现有API的应用注册),添加Graph API的应用权限(如User.ReadWrite.All),并完成客户租户全局管理员的权限同意。
  2. 在客户租户中,将mainTenant的App Service托管身份的服务主体添加为该应用注册的权限使用者(或在应用注册的“API权限”里添加托管身份的访问权限)。
  3. API调用Graph时,指定客户租户的Graph端点(例如使用https://graph.microsoft.com/v1.0/tenants/{客户租户ID}/users路径,或在获取令牌时指定客户租户ID作为租户参数),确保获取的令牌是针对客户租户的。

4. 个人Outlook账户看不到客户租户?

客户租户是用mainTenant的admin@mainTenant账号创建的,个人Outlook账户默认不在客户租户的用户列表中,需手动添加:

  1. 用admin@mainTenant账号登录客户租户的Entra门户。
  2. 进入“外部标识”→“来宾用户”,添加你的个人Outlook账户为来宾用户。
  3. 给该来宾用户分配合适的角色(如“租户读取者”或“全局管理员”),之后就能在Azure门户和Entra门户中切换到客户租户。

整体协作逻辑梳理

  • mainTenant:托管所有云基础设施(静态Web App、App Service),承担所有费用(包括基础设施和External Identities服务)。
  • 客户租户:专属身份管理容器,存放外部用户数据、Blazor/API的应用注册,负责处理用户认证流程。
  • 流程链路:Blazor WASM引导用户到客户租户Entra ID登录→获取客户租户颁发的令牌→调用mainTenant的API→API验证令牌有效性→通过配置好的权限调用客户租户的Graph API编辑用户数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:32:44