通过Azure AD及B2B实现多域名客户Power BI报表嵌入权限管控
一、通过Azure AD及Azure AD B2B管控Power BI报表/仪表板访问权限
1. 前置准备
- 拥有Azure AD全局管理员或Power BI管理员权限
- 确认Power BI租户已开启Azure AD B2B协作(默认开启,可在Azure AD门户>外部协作设置中验证)
2. 邀请多域名外部用户到Azure AD B2B
- 登录Azure AD门户,进入「用户」>「所有用户」>「邀请外部用户」
- 输入多域名邮箱地址(如
user@domain2.com、user@domain3.com),填写邀请消息(可选) - 点击「邀请」,用户将收到验证邮件,点击链接完成身份验证后加入租户
- 验证标识:Azure AD「所有用户」列表中可见该用户,用户类型显示为「外部来宾」
3. Power BI权限管控配置
(1)直接分配单报表/仪表板权限
- 登录Power BI服务,打开目标报表/仪表板
- 点击右上角「共享」,在弹窗中输入已邀请的B2B用户邮箱
- 选择权限级别:
- 查看者:仅查看报表,无编辑/修改权限
- 参与者:可查看、编辑报表,支持共享给其他用户(需额外授权)
- 管理员:拥有报表完全管控权限
- 勾选「发送邮件通知」(可选),点击「共享」
(2)批量管控工作区/应用权限
- 工作区批量配置:进入目标工作区>「访问权限」>「添加人员」,输入B2B用户/用户组,分配工作区角色(成员、管理员等)
- 应用打包配置:将工作内容发布为Power BI应用,进入「应用」>「管理应用」>「访问权限」,添加B2B用户并设置「查看者」/「参与者」权限
4. 进阶授权管控
- 条件访问策略:在Azure AD门户>「条件访问」创建策略,要求外部用户访问Power BI时满足MFA、设备合规等条件
- 权限撤销:在Power BI服务中找到对应用户点击「移除访问权限」,或在Azure AD中删除外部来宾用户
二、多域名邮箱客户嵌入Power BI报表分步操作
以下提供两种常用嵌入方案:
方式1:嵌入到Web应用(企业级场景)
步骤1:注册Azure AD应用
- 登录Azure AD门户,进入「应用注册」>「新注册」
- 填写应用名称,选择账户类型为「任何组织目录中的账户和个人Microsoft账户」(覆盖多域名B2B用户)
- 设置重定向URI为Web应用地址(如
https://yourapp.com/auth-callback),点击「注册」 - 记录应用客户端ID和租户ID,用于后续配置
步骤2:配置Power BI嵌入权限
- 登录Power BI管理员门户,进入「租户设置」>「嵌入内容和应用」
- 开启「允许将内容嵌入到外部应用」,将刚注册的Azure AD应用加入「允许的应用」列表
- 进入目标报表所在工作区>「访问权限」>「添加人员」,输入Azure AD应用名称,设置权限为「参与者」或「查看者」
步骤3:开发嵌入代码(示例)
使用Power BI JavaScript SDK在Web应用中添加嵌入逻辑:
// 初始化嵌入配置 const embedConfiguration = { type: 'report', id: '<报表ID>', // 从Power BI报表详情页获取 embedUrl: '<报表嵌入URL>', // 从Power BI报表详情页获取 tokenType: models.TokenType.Aad, accessToken: '<AAD访问令牌>', // 通过Azure AD应用获取的令牌 }; // 加载报表到页面容器 const embedContainer = document.getElementById('reportContainer'); const report = powerbi.embed(embedContainer, embedConfiguration);
截图说明:[Power BI报表详情页:点击「文件」>「嵌入」>「网站或门户」,可查看报表ID与嵌入URL]
步骤4:客户访问验证
多域名客户访问Web应用时,将跳转至Azure AD登录页面,完成身份验证后即可查看嵌入报表
方式2:直接共享嵌入链接(快速场景)
- 打开目标Power BI报表,点击「文件」>「嵌入」>「网站或门户」
- 选择「授予用户访问权限后嵌入」,复制生成的嵌入代码或链接
- 将链接发送给已邀请的多域名B2B用户,用户点击后通过Azure AD身份验证即可查看报表
截图说明:[Power BI嵌入设置页:选中「授予用户访问权限后嵌入」选项,下方显示嵌入代码与预览窗口]
内容的提问来源于stack exchange,提问作者venkatesh gg
相关产品推荐
相关产品推荐

