使用 Microsoft Entra B2B 将 Power BI 内容分发给外部来宾用户

摘要:本白皮书概述了如何使用 Microsoft Entra ID(以前称为 Azure Active Directory)企业到企业 (Microsoft Entra B2B) 的集成将内容分发给组织外的用户。

作家:卢卡斯·帕洛夫斯基,卡巴斯德·容吉

技术审阅者:亚当·威尔逊、刘胜、钱亮、谢尔盖·冈多罗夫、雅各布·格里姆、亚当·萨克斯顿、玛雅·申哈夫、尼姆罗德·沙利特、伊丽莎白·奥尔森

注意

可以从浏览器中选择“打印”,然后选择“另存为 PDF”文件,以保存或打印此白皮书。

简介

Power BI 为组织提供 360 度的业务视图,使这些组织中的每个人都能够使用数据做出明智的决策。 其中许多组织与外部合作伙伴、客户和承包商有着牢固和受信任的关系。 这些组织需要向这些外部合作伙伴中的用户提供对 Power BI 仪表板和报表的安全访问。

Power BI 与 Microsoft Entra 企业到企业 (Microsoft Entra B2B) 集成后,即可将 Power BI 内容安全地分发给组织外的来宾用户,同时仍然可以控制和监管内部数据的访问权限。

本白皮书介绍了了解 Power BI 与 Microsoft Entra B2B 集成所需的所有详细信息。 我们将介绍其最常见的用例、设置、许可和行级别安全性。

方案

Contoso 是一家汽车制造商,与许多不同的供应商合作,这些供应商为其提供运行其制造业务所需的所有组件、材料和服务。 Contoso 希望简化其供应链物流,并计划使用 Power BI 监视其供应链的关键绩效指标。 Contoso 希望以安全且可管理的方式与外部供应链合作伙伴共享分析。

Contoso 可以使用 Power BI 和 Microsoft Entra B2B 为外部用户启用以下体验。

即席每个项共享

Contoso 与一家供应商合作,该供应商为 Contoso 的汽车制造散热器。 通常,他们需要使用来自 Contoso 所有汽车的数据来优化散热器的可靠性。 Contoso 的分析师使用 Power BI 与供应商的工程师共享散热器可靠性报告。 工程师会收到一封电子邮件,其中包含用于查看报表的链接。

如上所述,此临时共享由业务用户根据需要执行。 Power BI 发送给外部用户的链接是 Microsoft Entra B2B 邀请链接。 当外部用户打开链接时,系统会要求他们以来宾用户身份加入 Contoso 的 Microsoft Entra 组织。 接受邀请后,链接将打开特定报表或仪表板。 Microsoft Entra 管理员委派邀请外部用户加入组织的权限,并选择这些用户在接受邀请后可以执行的操作,如本文档的治理部分所述。 Contoso 分析师只能邀请来宾用户,因为 Microsoft Entra 管理员允许该操作,Power BI 管理员允许用户邀请来宾查看 Power BI 租户设置中的内容。

通过 Microsoft Entra ID 邀请来宾使用 Power BI

  1. 此过程从 Contoso 内部用户与外部用户共享仪表板或报表开始。 如果外部用户不是 Contoso 的 Microsoft Entra ID 中的来宾,则系统会邀请他们。 一封电子邮件将发送到其电子邮件地址,其中包含对 Contoso 的 Microsoft Entra ID 的邀请。
  2. 收件人接受 Contoso 的 Microsoft Entra ID 邀请,并在 Contoso 的 Microsoft Entra ID 中被添加为来宾用户。
  3. 然后,收件人将重定向到 Power BI 仪表板、报表或应用。

此过程被视为临时过程,因为 Contoso 中的业务用户根据其业务目的根据需要执行邀请操作。 共享的每个项目都是单个链接,外部用户可以访问查看内容。

邀请外部用户访问 Contoso 资源后,可以在 Contoso Microsoft Entra ID 中为其创建影子帐户,而无需再次邀请他们。 首次尝试访问 Contoso 资源(如 Power BI 仪表板)时,会经历一个同意过程,以兑换邀请。 如果他们未完成同意,则无法访问 Contoso 的任何内容。 如果他们在通过提供的原始链接兑换邀请时遇到问题,Microsoft Entra 管理员可以重新发送特定的邀请链接以供他们兑换。

按项目计划共享

Contoso 与分包商合作,对散热器进行可靠性分析。 分包商有一个 10 人团队,需要访问 Contoso Power BI 环境中的数据。 Contoso Microsoft Entra 管理员参与邀请所有用户,并在分包商人员变更时处理添加/更改。 Microsoft Entra 管理员为分包商的所有员工创建安全组。 使用安全组,Contoso 的员工可以轻松管理对报表的访问,并确保所有必需的分包商人员都可以访问所有必需的报表、仪表板和 Power BI 应用。 Microsoft Entra 管理员还可以选择将邀请权限委托给 Contoso 或分包商的受信任员工,避免完全参与邀请过程,以确保及时进行人员管理。

某些组织需要更好地控制何时添加外部用户、邀请外部组织中的许多用户或许多外部组织。 在这些情况下,计划共享可用于管理共享的规模、强制实施组织策略,甚至将权限委托给受信任的个人来邀请和管理外部用户。 Microsoft Entra B2B 支持由 IT 管理员直接从Azure 门户发送计划邀请,或者使用邀请管理器 API 通过 PowerShell 发送计划邀请,其中一次操作可以邀请一组用户。 使用计划的邀请方法,组织可以控制谁可以邀请用户并实施审批流程。 动态组等高级 Microsoft Entra 功能可以轻松自动维护安全组成员身份。

控制哪些来宾能看到内容

  1. 此过程首先由 IT 管理员手动或通过 Microsoft Entra ID 提供的 API 邀请来宾用户。
  2. 用户接受组织的邀请。
  3. 用户接受邀请后,Power BI 中的用户可以与外部用户或他们所属的安全组共享报表或仪表板。 就像在 Power BI 中定期共享一样,外部用户会收到一封电子邮件,其中包含指向项目的链接。
  4. 当外部用户访问链接时,其目录中的身份验证将传递给 Contoso 的 Microsoft Entra ID,并用于获取对 Power BI 内容的访问权限。

Power BI 应用的临时或计划共享

Contoso 有一组报表和仪表板,需要与一个或多个供应商共享。 为了确保所有必需的外部用户都可以访问此内容,它被打包为 Power BI 应用。 外部用户要么直接添加到应用访问列表,要么通过安全组进行添加。 然后,Contoso 的某人将应用 URL 发送给所有外部用户,例如在电子邮件中。 当外部用户打开链接时,他们将在一个易于导航的体验中看到所有内容。

使用 Power BI 应用,Contoso 可以轻松地为其供应商构建 BI 门户。 单个访问列表控制对所有所需内容的访问,从而减少检查和设置项目级别权限浪费的时间。 Microsoft Entra B2B 使用供应商的本机标识维护安全访问,因此用户不需要其他登录凭据。 如果将计划邀请与安全组一起使用,则随着人员轮入或转出项目,对应用的访问管理将得到简化。 手动或使用动态组在安全组中加入成员身份,以便供应商中的所有外部用户都被自动添加到相应的安全组。

使用 Microsoft Entra ID 控制内容

  1. 此过程首先通过 Azure 门户 或 PowerShell 邀请用户加入 Contoso 的 Microsoft Entra 组织。
  2. 可以将用户添加到 Microsoft Entra ID 中的用户组。 可以使用静态或动态用户组,但动态组有助于减少手动工作。
  3. 通过用户组向外部用户授予对 Power BI 应用的访问权限。 应用 URL 应直接发送给外部用户,或放置在他们有权访问的网站上。 Power BI 尽最大努力向外部用户发送包含应用链接的电子邮件,但在使用其成员身份可以更改的用户组时,Power BI 无法发送给通过用户组管理的所有外部用户。
  4. 当外部用户访问 Power BI 应用 URL 时,由 Contoso 的 Microsoft Entra ID 对其进行身份验证,为用户安装应用,用户可以查看应用内包含的所有报表和仪表板。

应用还有一个独特的功能,允许应用作者自动为用户安装应用程序,因此当用户登录时可以使用该应用程序。 此功能仅在应用程序发布或更新时自动为属于 Contoso 组织成员的外部用户安装。 因此,它最好与计划邀请方法一起使用,并取决于将用户添加到 Contoso 的 Microsoft Entra ID 后要发布或更新的应用。 外部用户始终可以使用应用链接安装应用。

跨组织评论和订阅内容

随着 Contoso 继续与其分包商或供应商合作,外部工程师需要与 Contoso 的分析师密切合作。 Power BI 提供了多种协作功能,可帮助用户就他们可以使用的内容进行沟通。 仪表板注释(很快加上报告注释)允许用户讨论他们看到的数据点,并与报表作者沟通以提问。

目前,外部来宾用户可以通过留下评论和阅读回复来参与评论。 但是,与内部用户不同,来宾用户不能 @mentioned,也不会收到收到评论的通知。 来宾用户可以使用 Power BI 中的订阅功能自行订阅报表或仪表板。 如需了解更多信息,请参阅 Power BI 服务中的报表和仪表板的电子邮件订阅

访问 Power BI 移动应用中的内容

当来宾用户在其移动设备上打开报表或仪表板链接时,内容将在其设备上的本机 Power BI 移动应用中打开(如果已安装)。 然后,来宾用户将能够在外部租户中与他们共享的内容之间导航,并从其主租户返回自己的内容。 有关通过 Power BI 移动应用从外部组织访问已与你共享的内容的详细信息,请参阅查看从外部组织与你共享的 Power BI 内容

使用 Power BI 和 Microsoft Entra B2B 的组织关系

当 Power BI 的所有用户都属于组织内部时,无需使用 Microsoft Entra B2B。 但是,一旦两个或更多组织想要就数据和见解进行协作,Power BI 对 Microsoft Entra B2B 的支持就会使这样做变得简单且经济高效。

下面是通常遇到的组织结构,这些结构非常适合 Power BI 中的 Microsoft Entra B2B 样式跨组织协作。 Microsoft Entra B2B 在大多数情况下效果良好,但在某些情况下,本文末尾介绍的常用替代方法值得考虑。

案例 1:组织之间的直接协作

Contoso 与其散热器供应商的关系是组织之间直接合作的一个例子。 由于 Contoso 及其供应商中需要访问散热器可靠性信息的用户相对较少,因此使用基于 Microsoft Entra B2B 的外部共享是理想的选择。 它易于使用且易于管理。 这也是咨询服务中的一种常见模式,顾问可能需要为组织生成内容。

组织之间分享

通常,此共享最初使用临时每个项共享进行。 但是,随着团队的发展或关系的加深,按项目计划共享方法成为减少管理开销的首选方法。 此外,Power BI 应用的临时或计划共享、跨组织对内容的注释和订阅、对移动应用中内容的访问也可以发挥作用。 重要的是,如果两个组织的用户在各自的组织中具有 Power BI Pro 许可证,则可以在彼此的 Power BI 环境中使用这些 Pro 许可证。 这提供了有利的许可,因为邀请组织可能不需要为外部用户支付 Power BI Pro 许可证。 本文档后面的许可部分对此进行了更详细的讨论。

案例 2:母公司及其子公司或关联公司

某些组织结构更为复杂,包括部分或全资子公司、关联公司或托管服务提供商关系。 这些组织有一个父组织(如控股公司),但基础组织以半自主方式运作,有时根据不同的区域要求运行。 这会导致每个组织都有自己的 Microsoft Entra 环境和单独的 Power BI 租户。

与子公司合作

在此结构中,父组织通常需要将标准化见解分发给其子公司。 通常,此共享使用 Power BI 应用的临时或计划共享方法进行,如下图所示,因为它允许向广大受众分发标准化的权威内容。 实际上将使用本文档前面提到的所有方案的组合。

组合方案

这按照以下流程进行:

  1. 邀请每个子公司的用户加入 Contoso 的 Microsoft Entra ID
  2. 然后发布 Power BI 应用,使这些用户能够访问所需数据
  3. 最后,用户通过他们获得的链接打开应用以查看报告

在此结构中,组织面临几个重要挑战:

  • 如何分发指向父组织的 Power BI 中内容的链接
  • 如何允许子公司用户访问父组织托管的数据源

通常使用三种方法来分发指向内容的链接。 第一个也是最基本的是将指向应用程序的链接发送给所需的用户,或将其放置在可从中打开它的 SharePoint Online 网站中。 然后,用户可以在其浏览器中将链接加入书签,以便更快地访问所需的数据。

第二种方法是父组织允许子公司中的用户访问其 Power BI 以及他们可以通过权限访问的控制。 这允许访问 Power BI 主页,子公司的用户在其中可以看到父组织的租户中共享给他们的内容的完整列表。 然后,将父组织的 Power BI 环境的 URL 提供给子公司的用户。

最后一种方法使用在每个子公司的 Power BI 租户中创建的 Power BI 应用。 Power BI 应用包括一个仪表板,其中包含使用外部链接选项配置的磁贴。 当用户按下磁贴时,将他们带到父组织的 Power BI 中的相应报表、仪表板或应用。 此方法有一个额外的优势,即可以自动为子公司中的所有用户安装应用,并且每当用户登录到自己的 Power BI 环境时,他们都可以使用。 此方法的一个额外优势是,它适用于可以本机打开链接的 Power BI 移动应用。 还可以将其与第二种方法相结合,以便在 Power BI 环境之间更轻松地切换。

允许子公司用户访问父组织托管的数据源

子公司的分析师通常需要使用父组织提供的数据创建自己的分析。 在这种情况下,通常使用云数据源来解决挑战。

第一种方法使用 Azure Analysis Services 构建企业级数据仓库,该数据仓库满足父及其子公司分析师的需求,如下图所示。 Contoso 可以托管数据并使用行级别安全性等功能来确保每个子公司中的用户只能访问其数据。 每个组织的分析员都可以通过 Power BI Desktop 访问数据仓库,并将生成的分析发布到各自的 Power BI 租户。

Power BI 租户如何分享

第二种方法使用 Azure SQL Database 构建关系数据仓库,以提供对数据的访问权限。 这与 Azure Analysis Services 方法类似,但某些功能(如行级别安全性)可能更难跨子公司部署和维护。

也可以采用更复杂的方法,但上述方法是迄今为止最常见的方法。

案例 3:跨合作伙伴共享环境

Contoso 可能与竞争对手建立合作关系,在共享装配线上共同制造汽车,但以不同品牌或在不同地区分销汽车。 这需要跨组织对数据、智能和分析进行广泛的协作和共同拥有。 这种结构在咨询服务行业也很常见,顾问团队可以为客户执行基于项目的分析。

跨合作伙伴共享的环境

实际上,这些结构很复杂,如下图所示,需要员工进行维护。 为了有效起效,组织可以重复使用为各自的 Power BI 租户购买的 Power BI Pro 许可证。

许可证和共享的组织内容

若要建立共享 Power BI 租户,需要创建 Microsoft Entra ID,并且至少需要为该租户中的用户购买一个 Power BI Pro 用户帐户。 此用户邀请所需的用户加入共享组织。 重要的是,在此方案中,Contoso 的用户在共享组织的 Power BI 中操作时被视为外部用户。

过程如下:

  1. 共享组织建立为新的 Microsoft Entra ID,并在新租户中至少创建一个用户帐户。 应为该用户分配 Power BI Pro 许可证。
  2. 然后,此用户建立 Power BI 租户,并邀请 Contoso 和合作伙伴组织所需的用户。 此用户还会建立任何共享数据资产,例如 Azure Analysis Services。 Contoso 和合作伙伴的用户可以以来宾用户身份访问共享组织的 Power BI。 通常,所有共享资产都是从共享组织存储和访问的。
  3. 根据各方同意协作的方式,每个组织都可以使用共享数据仓库资产开发自己的专有数据和分析。 他们可以使用其内部 Power BI 租户将这些内容分发给各自的内部用户。

案例 4:分发给数百或数千个外部合作伙伴

Contoso 为一家供应商创建了一份散热器可靠性报告,而现在 Contoso 希望为数百家供应商创建一组标准化报表。 这使 Contoso 能够确保所有供应商都具备改进或修复制造缺陷所需的分析。

分发给多个合作伙伴

当组织需要将标准化数据和见解分发给许多外部用户/组织时,他们可以使用 Power BI 应用的临时或计划共享方案来快速构建 BI 门户,而无需大量开发成本。 本文档后面的“案例研究:使用 Power BI + Microsoft Entra B2B 生成 BI 门户 - 分步说明”介绍了使用 Power BI 应用生成此类门户的过程。

这种情况的一个常见变体是组织尝试与使用者共享见解,尤其是在希望将 Azure Active Directory B2C 与 Power BI 配合使用时。 Power BI 本身不支持 Azure Active Directory B2C。 如果要评估这种情况的选项,请考虑使用本文档后面的部分常见替代项 2 中的替代选项方法。

案例研究:使用 Power BI + Microsoft Entra B2B 生成 BI 门户 - 分步说明

Power BI 与 Microsoft Entra B2B 的集成为 Contoso 提供了一种无缝、无忧的方式,为来宾用户提供对其 BI 门户的安全访问。 Contoso 可以通过三个步骤进行设置:

构建门户

  1. 在 Power BI 中创建 BI 门户

    Contoso 的第一个任务是在 Power BI 中创建其 BI 门户。 Contoso 的 BI 门户将包含一组专用仪表板和报表,这些仪表板和报表将提供给许多内部和来宾用户。 在 Power BI 中执行此操作的建议方法是生成 Power BI 应用。 了解有关 Power BI 中应用的详细信息。

  • Contoso 的 BI 团队在 Power BI 中创建工作区

    工作区

  • 其他作者被添加到工作区

    添加作者

  • 内容在工作区中创建

    在工作区中创建内容

    在工作区中创建内容后,Contoso 已准备好邀请合作伙伴组织中的来宾用户使用此内容。

  1. 邀请来宾用户

    Contoso 可通过两种方式在 Power BI 中邀请来宾用户加入其 BI 门户:

    • 计划性邀请
    • 临时邀请

    计划性邀请

    在此方法中,Contoso 会提前邀请来宾用户加入其 Microsoft Entra,然后将 Power BI 内容分发给他们。 Contoso 可以从 Azure 门户或使用 PowerShell 邀请来宾用户。 下面是从 Azure 门户邀请来宾用户的步骤:

    • Contoso 的 Microsoft Entra 管理员导航到“Azure 门户”>“Microsoft Entra ID”>“用户”>“所有用户”>“新建来宾用户”

    来宾用户

    • 为来宾用户添加邀请消息,然后选择“邀请”

    添加邀请

    注意

    若要从 Azure 门户邀请来宾用户,需要租户的 Microsoft Entra 管理员。

    如果 Contoso 想要邀请许多来宾用户,他们可以使用 PowerShell 执行此操作。 Contoso 的 Microsoft Entra 管理员将所有来宾用户的电子邮件地址存储在 CSV 文件中。 这些是 Microsoft Entra B2B 协作代码和 PowerShell 示例和说明。

    邀请后,来宾用户将收到包含邀请链接的电子邮件。

    邀请链接

    来宾用户选择链接后,即可访问 Contoso Microsoft Entra 租户中的内容。

    注意

    可以使用 Microsoft Entra ID 品牌功能更改邀请电子邮件的布局,如此处所述。

    临时邀请

    如果 Contoso 不知道它想要提前邀请的所有来宾用户,该怎么办? 或者,如果创建 BI 门户的 Contoso 分析师想要自己将内容分发给来宾用户,该怎么办? 我们还在 Power BI 中使用临时邀请支持此方案。

    分析师只需在发布应用时将外部用户添加到应用的访问列表。 来宾用户将收到邀请,一旦接受邀请,他们就会自动重定向到 Power BI 内容。

    添加外部用户

    注意

    第一次将外部用户邀请到组织时才需要邀请。

  2. 分发内容

    现在,Contoso 的 BI 团队已创建 BI 门户并邀请了来宾用户,他们可以通过向来宾用户授予对应用的访问权限并发布应用,将门户分发给最终用户。 Power BI 会自动完成以前添加到 Contoso 租户的来宾用户的名字。 此时还可以向其他来宾用户添加临时邀请。

    注意

    如果使用安全组管理外部用户对应用的访问权限,请使用计划邀请方法,并与必须访问应用的每个外部用户直接共享应用链接。 否则,外部用户可能无法安装应用或查看应用内部的内容。_

    来宾用户将收到一封电子邮件,其中包含指向该应用的链接。

    电子邮件邀请链接

    单击此链接时,将要求来宾用户使用其自己组织的标识进行身份验证。

    登录页

    成功进行身份验证后,会重定向到 Contoso 的 BI 应用。

    查看共享内容

    来宾用户可以稍后通过单击电子邮件中的链接或为链接添加书签来访问 Contoso 的应用。 Contoso 还可以通过将此链接添加到来宾用户已使用的任何现有 Extranet 门户,使来宾用户更轻松。

  3. 后续步骤

    使用 Power BI 应用和 Microsoft Entra B2B,Contoso 能够以无代码的方式快速为其供应商创建 BI 门户。 这大大简化了将标准化分析分发给需要它的所有供应商。

    虽然该示例演示了如何在供应商之间分发单个通用报表,但 Power BI 可以更进一步。 为了确保每个合作伙伴只看到与自身相关的数据,可以轻松地将行级别安全性添加到报表和数据模型。 本文档后面的外部合作伙伴的数据安全部分详细介绍了此过程。

    通常,需要将单个报表和仪表板嵌入到现有门户中。 这也可以通过重用示例中所示的许多技术来实现。 但是,在这些情况下,直接从工作区嵌入报表或仪表板可能更容易。 邀请所需用户和向其分配安全权限的过程保持不变。

幕后:Supplier1 的 Lucy 如何能够从 Contoso 的租户访问 Power BI 内容?

现在我们已经了解了 Contoso 如何能够将 Power BI 内容无缝分发给合作伙伴组织中的来宾用户,接下来让我们看看其工作原理。

当 Contoso 邀请 lucy@supplier1.com 加入其目录时,Microsoft Entra ID 会在 Lucy@supplier1.com 与 Contoso Microsoft Entra 租户之间创建链接。 此链接可让 Microsoft Entra ID 知道 Lucy@supplier1.com 可以访问 Contoso 租户中的内容。

当 Lucy 尝试访问 Contoso 的 Power BI 应用时,Microsoft Entra ID 会验证 Lucy 是否可以访问 Contoso 租户,然后向 Power BI 提供一个令牌,该令牌表明 Lucy 已通过身份验证,可以访问 Contoso 租户中的内容。 Power BI 使用此令牌来授权并确保 Lucy 有权访问 Contoso 的 Power BI 应用。

身份验证和授权

Power BI 与 Microsoft Entra B2B 的集成适用于所有企业电子邮件地址。 如果用户没有 Microsoft Entra 标识,系统可能会提示他们创建一个。 下图显示了详细的的流:

集成流程图

请务必认识到,Microsoft Entra 帐户将在外部方的 Microsoft Entra ID 中使用或创建,这将使 Lucy 能够使用自己的用户名和密码,并且当其组织也使用 Microsoft Entra ID 时,每当 Lucy 离开公司时,其凭据将自动停止在其他租户中工作。

许可

Contoso 可以选择三种方法之一,向来自其供应商和合作伙伴组织的来宾用户授予对 Power BI 内容的访问权限。

注意

Microsoft Entra B2B 的免费层足以将 Power BI 与 Microsoft Entra B2B 配合使用。 某些高级 Microsoft Entra B2B 功能(如动态组)需要额外的许可。 有关详细信息,请参阅 Microsoft Entra B2B 文档

方法 1:Contoso 使用 Power BI Premium

使用此方法,Contoso 购买 Power BI Premium 容量,并将其 BI 门户内容分配给此容量。 这样,合作伙伴组织的来宾用户无需任何 Power BI 许可证即可访问 Contoso 的 Power BI 应用。

在 Power BI Premium 内使用内容时,外部用户还受 Power BI 中向“免费”用户提供的仅限使用体验的约束。

Contoso 还可以利用其应用的其他 Power BI 高级功能,例如提高刷新率、容量和大型模型大小。

附加功能

方法 2:Contoso 将 Power BI Pro 许可证分配给来宾用户

使用此方法,Contoso 将 pro 许可证分配给合作伙伴组织的来宾用户 - 这可以通过 Contoso 的 Microsoft 365 管理中心完成。 这样,合作伙伴组织的来宾用户无需自行购买许可证即可访问 Contoso 的 Power BI 应用。 这适用于与组织尚未采用 Power BI 的外部用户共享。

注意

仅当来宾用户访问 Contoso 租户中的内容时,Contoso 的 Pro 许可证才适用。 Pro 许可证允许访问不在 Power BI Premium 容量中的内容。

许可证信息

方法 3:来宾用户自带 Power BI Pro 许可证

使用此方法,供应商 1 将 Power BI Pro 许可证分配给 Lucy。 然后,他们可以使用此许可证访问 Contoso 的 Power BI 应用。 由于 Lucy 可以在访问外部 Power BI 环境时使用自己组织的 Pro 许可证,因此此方法有时称为自带许可 (BYOL)。 如果两个组织都使用 Power BI,这将为整体分析解决方案提供有利的许可,并将向外部用户分配许可证的开销降至最低。

注意

供应商 1 授予 Lucy 的 Pro 许可证适用于 Lucy 是来宾用户的任何 Power BI 租户。 Pro 许可证允许访问不在 Power BI Premium 容量中的内容。

Pro 许可要求

外部合作伙伴的数据安全性

通常,在与多个外部供应商合作时,Contoso 需要确保每个供应商只看到有关其自己产品的数据。 基于用户的安全性和动态行级别安全性使 Power BI 可以轻松实现此目的。

基于用户的安全性

Power BI 最强大的功能之一是行级别安全性。 此功能允许 Contoso 创建单个报表和语义模型(以前称为数据集)但仍为每个用户应用不同的安全规则。 For an in-depth explanation, see 行级别安全性 (RLS)

Power BI 与 Microsoft Entra B2B 的集成允许 Contoso 在来宾用户受邀加入 Contoso 租户后立即向其分配行级别安全规则。 如前所述,Contoso 可以通过计划邀请或临时邀请添加来宾用户。 如果 Contoso 想要强制实施行级别安全性,强烈建议使用计划的邀请提前添加来宾用户,并在共享内容之前将其分配到安全角色。 如果 Contoso 改用临时邀请,则来宾用户可能在短时间内无法看到任何数据。

注意

使用临时邀请时访问受 RLS 保护的数据的这种延迟可能会导致向 IT 团队提出支持请求,因为用户在收到的电子邮件中打开共享链接时,会看到空白或损坏的报表/仪表板。 因此,强烈建议在此场景中使用计划的邀请。

我们通过一个示例来演练这一点。

如前所述,Contoso 在全球拥有供应商,他们希望确保供应商组织中的用户仅从其所在区域的数据中获取见解。 但 Contoso 中的用户可以访问所有数据。 Contoso 不用创建多个不同的报表,而是创建单个报表,并根据查看该报表的用户筛选数据。

共享内容

为了确保 Contoso 可以根据连接的人员筛选数据,在 Power BI Desktop 中创建两个角色。 一个用于筛选 SalesTerritory 为“欧洲”中的所有数据,另一个用于筛选“北美”的所有数据。

管理角色

每当在报表中定义角色时,都必须将用户分配到特定角色,他们才能访问任何数据。 角色分配在 Power BI 服务(“语义模型”>“安全性”)内进行。

设置安全性

这会打开一个页面,Contoso 的 BI 团队可以在其中查看他们创建的两个角色。 现在,Contoso 的 BI 团队可以将用户分配到角色。

行级别安全性

在示例中,Contoso 将合作伙伴组织中电子邮件地址为 admin@fabrikam.com 的用户添加到欧洲角色:

行级别安全性设置

当 Microsoft Entra ID 解决此问题时,Contoso 可以看到名称显示在准备添加的窗口中:

显示角色

现在,当此用户打开与他们共享的应用时,他们只能看到包含来自欧洲的数据的报表:

查看内容

动态行级别安全性

另一个有趣的主题是了解动态行级别安全性 (RLS) 如何与 Microsoft Entra B2B 配合使用。

简而言之,动态行级别安全性的工作原理是基于连接到 Power BI 的人员的用户名筛选模型中的数据。 无需为用户组添加多个角色,而是在模型中定义用户。 此处不详细描述模式。 Kasper de Jong 在 Power BI Desktop 动态安全备忘单本白皮书中详细介绍了行级别安全性的所有风格。

让我们看一个小示例 - Contoso 有一个按组显示销售额的简单报表:

示例内容

现在,需要与两个来宾用户和一个内部用户共享此报表 - 内部用户可以看到所有内容,但来宾用户只能查看他们有权访问的组。 这意味着我们必须仅为来宾用户筛选数据。 为了适当地筛选数据,Contoso 使用动态 RLS 模式,如本白皮书和博客文章中所述。 这意味着,Contoso 会将用户名添加到数据本身:

查看 RLS 用户到数据本身

然后,Contoso 创建正确的数据模型,该模型使用正确的关系适当地筛选数据:

显示适当的数据

若要根据登录者自动筛选数据,Contoso 需要创建一个角色来传入正在连接的用户。 在这种情况下,Contoso 会创建两个角色:第一个角色是“securityrole”,该角色使用登录到 Power BI 的用户的当前用户名筛选“用户”表(即使对于 Microsoft Entra B2B 来宾用户,此功能也有效)。

管理角色

Contoso 还为可以看到所有内容的内部用户创建另一个“AllRole”,此角色没有任何安全谓词。

将 Power BI 桌面文件上传到服务后,Contoso 可以将来宾用户分配到“SecurityRole”,将内部用户分配到“AllRole”。

现在,当来宾用户打开报表时,他们只能看到 A 组的销售额:

只有 A 组数据

在右侧的矩阵中,可以看到 USERNAME() 和 USERPRINCIPALNAME() 函数返回来宾用户电子邮件地址的结果。

现在,内部用户可以看到所有数据:

显示所有数据

如你所看到的,动态 RLS 适用于内部用户或来宾用户。

注意

在 Azure Analysis Services 中使用模型时,此方案也有效。 通常,Azure Analysis Service 连接到与 Power BI 相同的 Microsoft Entra ID - 在这种情况下,Azure Analysis Services也知道通过 Microsoft Entra B2B 邀请的来宾用户。

连接到本地数据源

借助本地数据网关,Power BI 使 Contoso 能够直接使用 SQL Server Analysis ServicesSQL Server 等本地数据源。 甚至可以使用与 Power BI 一起使用的相同凭据登录到这些数据源。

注意

安装网关以连接到 Power BI 租户时,必须使用在租户中创建的用户。 外部用户无法安装网关并将其连接到租户。_

对于外部用户,这可能更为复杂,因为本地 AD 通常不知道外部用户。 Power BI 为此提供了一种解决方法,它允许 Contoso 管理员将外部用户名映射到内部用户名,如管理数据源 - Analysis Services 中所述。 例如,lucy@supplier1.com 可以映射到 lucy_supplier1_com#EXT@contoso.com

映射用户名称

如果 Contoso 只有几个用户,或者 Contoso 可以将所有外部用户映射到单个内部帐户,则此方法很好。 对于每个用户需要自己的凭据的更复杂的场景,可以使用更高级的方法,使用自定义 AD 属性执行映射,如管理数据源 - Analysis Services 中所述。 这将允许 Contoso 管理员为 Microsoft Entra ID 中的每个用户定义映射(还有外部 B2B 用户)。 可以使用脚本或代码通过 AD 对象模型设置这些属性,以便 Contoso 可以在邀请或按计划节奏完全自动执行映射。

调控

使用 Microsoft Entra B2B 共享时,Microsoft Entra 管理员控制外部用户体验的各个方面。 这些设置在租户的 Microsoft Entra ID 设置中的“外部协作设置”页上进行控制。

有关详细信息,请参阅配置外部协作设置

注意

默认情况下,“来宾用户权限受限”选项设置为“是”,因此 Power BI 中的来宾用户体验有限,尤其是在人员选取器 UI 不适用于这些用户的情况下的围绕共享。 请务必与 Microsoft Entra 管理员合作,将其设置为“否”,如下所示,以确保获得良好的体验。

外部协作设置

控制来宾邀请

Power BI 管理员可以访问 Power BI 管理门户,仅控制 Power BI 的外部共享。 但管理员还可以使用各种 Microsoft Entra 策略控制外部共享。 这些策略允许管理员:

  • 关闭最终用户的邀请
  • 只有管理员和具有“来宾邀请者”角色的用户可以邀请
  • 管理员、“来宾邀请者”角色和成员可以邀请
  • 所有用户(包括来宾)都可以邀请

有关这些策略的详细信息,请参阅委托 Microsoft Entra B2B 协作邀请

外部用户的所有 Power BI 操作也会在我们的审核门户中进行审核

来宾用户的条件访问策略

Contoso 可以为访问 Contoso 租户内容的来宾用户强制实施条件访问策略。 可以在 B2B 协作用户的条件访问中找到详细说明。

常见的替代方法

虽然 Microsoft Entra B2B 可以轻松地跨组织共享数据和报表,但还有其他几种常用方法,在某些情况下可能更胜一筹。

替代选项 1:为合作伙伴用户创建重复标识

使用此选项时,Contoso 必须手动为 Contoso 租户中的每个合作伙伴用户创建重复标识,如下图所示。 然后,在 Power BI 中,Contoso 可以将相应的报表、仪表板或应用共享到分配的标识。

设置适当的影射和名称

选择此替代项的原因:

  • 由于用户的标识由你的组织控制,因此任何相关的服务(如电子邮件、SharePoint 等)。也在你的组织控制范围内。 IT 管理员可以在这些服务中重置密码、禁用对帐户的访问或审核活动。
  • 将个人帐户用于其业务的用户通常受到限制,无法访问某些服务,因此可能需要组织帐户。
  • 某些服务仅适用于组织的用户。 例如,使用 Intune 管理使用 Microsoft Entra B2B 的外部用户的个人/移动设备上的内容可能是不可能的。

不选择此替代项的原因:

  • 合作伙伴组织中的用户必须记住两组凭据:一组用于访问自己组织的内容,另一组用于访问 Contoso 中的内容。 对于这些来宾用户来说,这是一个麻烦,许多来宾用户对此体验感到困惑。
  • Contoso 必须购买每用户许可证并将其分配给这些用户。 如果用户需要接收电子邮件或使用 Office 应用程序,则需要相应的许可证,包括 Power BI Pro,以在 Power BI 中编辑和共享内容。
  • 与内部用户相比,Contoso 可能希望对外部用户强制实施更严格的授权和治理策略。 为此,Contoso 需要为外部用户创建内部命名法,并且需要向所有 Contoso 用户提供有关此命名法的教育。
  • 当用户离开其组织时,他们继续有权访问 Contoso 的资源,直到 Contoso 管理员手动删除其帐户。
  • Contoso 管理员必须管理来宾的标识,包括创建、密码重置等。

替代选项 2:使用自定义身份验证创建自定义 Power BI Embedded 应用程序

Contoso 的另一个选项是使用自定义身份验证(“应用拥有数据”)生成自己的自定义嵌入式 Power BI 应用程序。 虽然许多组织没有时间或资源创建自定义应用程序来向其外部合作伙伴分发 Power BI 内容,但对于某些组织来说,这是最佳方法,值得认真考虑。

通常,组织具有现有的合作伙伴门户,可集中访问合作伙伴的所有组织资源,提供与内部组织资源的隔离,并为合作伙伴提供简化的体验,以支持许多合作伙伴及其个人用户。

许多合作伙伴门户

在上面的示例中,来自每个供应商的用户登录到使用 Microsoft Entra ID 作为标识提供者的 Contoso 合作伙伴门户。 它可以使用 Microsoft Entra B2B、Azure Active Directory B2C、本机标识,或与任意数量的其他标识提供者联合。 用户将使用 Azure Web 应用或类似基础结构登录并访问合作伙伴门户版本。

在 Web 应用中,Power BI 报表嵌入 Power BI Embedded 部署。 Web 应用将简化对报表和任何相关服务的访问,提供一致体验,目标是使供应商能够轻松与 Contoso 交互。 此门户环境将独立于 Contoso 内部 Microsoft Entra ID 和 Contoso 的内部 Power BI 环境,以确保供应商无法访问这些资源。 通常,数据将存储在单独的合作伙伴数据仓库中,以确保数据隔离。 这种隔离有好处,因为它限制了直接访问组织数据的外部用户的数量,限制了可能供外部用户使用的数据,并限制与外部用户的意外共享。

使用 Power BI Embedded,门户可以使用有利的许可,使用应用令牌或主用户以及在 Azure 模型中购买的高级容量,这简化了向最终用户分配许可证的问题,并且可以根据预期使用情况进行纵向扩展/缩减。 由于合作伙伴访问的单个门户考虑到了合作伙伴的所有需求,因此门户可以提供整体更高质量和一致的体验。 最后,由于基于 Power BI Embedded 的解决方案通常设计为多租户,因此可以更轻松地确保合作伙伴组织之间的隔离。

选择此替代项的原因:

  • 随着合作伙伴组织数量的增加,更易于管理。 由于将合作伙伴添加到独立于 Contoso 内部 Microsoft Entra 目录的单独目录,因此它简化了 IT 的治理职责,并有助于防止内部数据意外共享给外部用户。
  • 典型的合作伙伴门户是高度品牌化的体验,具有跨合作伙伴的一致体验,经过简化以满足典型合作伙伴的需求。 因此,Contoso 可以通过将所有必需的服务集成到单个门户中,为合作伙伴提供更好的整体体验。
  • Azure 购买的 Power BI Premium 涵盖高级场景(例如编辑 Power BI Embedded 中的内容)的许可费用,不需要向这些用户分配 Power BI Pro 许可证。
  • 如果架构为多租户解决方案,则可以为跨合作伙伴提供更好的隔离。
  • 合作伙伴门户通常包括 Power BI 报表、仪表板和应用以外的合作伙伴的其他工具。

不选择此替代项的原因:

  • 构建、运营和维护此类门户需要投入大量精力,因此在资源和时间上是一项重大投资。
  • 解决时间比使用 B2B 共享要长得多,因为需要跨多个工作流仔细规划和执行。
  • 如果合作伙伴数量较少,则此替代方法所需的工作量可能太高,无法证明其合理性。
  • 使用临时共享进行协作是组织面临的主要场景。
  • 每个合作伙伴的报表和仪表板都不同。 此替代方法除了直接与合作伙伴共享外,还引入了管理开销。

常见问题解答

Contoso 是否能发送自动兑换的邀请,以便用户只需“准备就绪”即可? 或者,用户始终需要单击到达兑换 URL?

最终用户必须始终单击许可体验,然后才能访问内容。

如果要邀请许多来宾用户,建议通过向资源组织中的来宾邀请者角色添加用户来从核心 Microsoft Entra 管理员委托此任务。 该用户可以使用登录 UI、PowerShell 脚本或 API 邀请合作伙伴组织中的其他用户。 这可减轻 Microsoft Entra 管理员向合作伙伴组织中的用户邀请或重新发送邀请的管理负担。

如果合作伙伴未启用多重身份验证,Contoso 是否可以强制来宾用户使用多重身份验证?

是。 有关详细信息,请参阅 B2B 协作用户的条件访问

受邀合作伙伴使用联合添加自己的本地身份验证时,B2B 协作如何工作?

如果合作伙伴具有联合到本地身份验证基础架构的 Microsoft Entra 租户,则会自动实现本地单一登录 (SSO)。 如果合作伙伴没有 Microsoft Entra 租户,则可能会为新用户创建 Microsoft Entra 帐户。

是否可以使用使用者电子邮件帐户邀请来宾用户?

Power BI 支持使用使用者电子邮件帐户邀请来宾用户。 这包括 hotmail.com、outlook.com 和 gmail.com 等域。 但是,这些用户可能会遇到超出具有工作或学校帐户的用户的限制。