Fabric REST API无服务主体认证时,React应用403权限问题替代方案咨询
可行解决方案
1. 利用Logic Apps作为权限代理中间层
- 将Fabric管道触发逻辑迁移至Logic Apps:创建带HTTP触发器的Logic Apps,在其中配置Fabric《API Job Scheduler - Run On Demand Item Job》调用动作,使用具备工作区管理员权限的账户授权Fabric连接。
- 控制前端访问权限:为Logic Apps启用Azure AD身份验证,将50名用户加入对应Azure AD用户组,为该组分配Logic Apps的调用权限(无需Fabric资源权限)。
- 前端调整:React应用通过MSAL获取访问Logic Apps的令牌,调用Logic Apps的HTTP端点,由Logic Apps代为执行Fabric管道触发操作。
2. 使用Azure Function构建自定义中间层
- 编写Azure Function实现Fabric API调用逻辑:在Function中使用管理员账户的OAuth令牌(可将刷新令牌存储于Azure Key Vault,Function每次调用时自动获取有效访问令牌),调用Fabric触发接口。
- 权限管控:为Azure Function配置Azure AD身份验证,仅允许目标用户组调用;通过Key Vault保护管理员凭证,避免硬编码风险。
- 前端适配:React应用调用Azure Function端点,无需直接与Fabric API交互,用户仅需具备Function的访问权限。
关键注意事项
- 无论采用Logic Apps还是Azure Function,需确保中间层身份验证严格,防止未授权访问。
- 若后续Fabric API支持服务主体认证,可直接切换为该方式,简化权限管理流程。
内容的提问来源于stack exchange,提问作者Gangrel
相关产品推荐
相关产品推荐

