管理 SQL Server Analysis Services 数据源

注意

我们已将本地数据网关文档拆分为特定于 Power BI 的内容适用于网关支持的所有服务的常规内容。 你当前正在阅读 Power BI 内容。 若要针对本文或整个网关文档体验提供反馈,请滚动到本文底部。

安装本地数据网关后,可以添加数据源以与该网关结合使用。 本文介绍如何将 SQL Server Analysis Services (SSAS) 数据源添加到本地网关,以便用于计划刷新或实时连接。

若要详细了解如何设置与 SSAS 的实时连接,请观看此 Power BI 演练:Analysis Services 实时连接视频。

注意

如果有 Analysis Services 数据源,你需要在加入到与 Analysis Services 服务器位于同一个林或域的计算机上安装网关。

注意

网关仅支持 Analysis Services 的 Windows 身份验证方式。

添加数据源

若要连接到多维或表格 Analysis Services 数据源:

  1. 在本地数据网关的“新建连接”屏幕上,选择“Analysis Services”作为“连接类型”。 有关如何添加数据源的详细信息,请参阅添加数据源

     Screenshot of adding the Analysis Services data type.

  2. 填写数据源的信息(包括服务器和数据库) 。 网关会使用为“用户名”和“密码”输入的信息连接到 Analysis Services 实例。

     Screenshot that shows the data source credentials settings.

    注意

    输入的 Windows 帐户必须是要连接到的 Analysis Services 实例上的服务器管理员角色的成员。 如果此帐户的密码设置为过期,则除非更新数据源密码,否则用户会收到连接错误。 有关如何存储凭据的详细信息,请参阅在云中存储加密凭据

  3. 为你的数据源配置“隐私级别”。 此设置可控制如何组合数据以用于计划刷新。 隐私级别设置不适用于实时连接。 若要详细了解数据源的隐私级别,请参阅设置隐私级别 (Power Query)

    Screenshot of the Privacy level setting.

  4. (可选)现在可以配置用户名映射。 有关说明,请参阅手动重映射用户名

  5. 完成所有字段后,选择“创建”。

现在可以使用此数据源对本地 Analysis Services 实例进行计划刷新或实时连接。

Analysis Services 的用户名

若要了解如何在 Power BI 中使用 Analysis Services 实时连接进行身份验证,请观看以下视频:

注意

此视频可能使用的是早期版本的 Power BI Desktop 或 Power BI 服务。

每次用户与连接到 Analysis Services 的报表交互时,有效用户名将传递到网关,然后传递到你的本地 Analysis Services 服务器。 你用于登录 Power BI 的电子邮件地址会作为 EffectiveUserName 连接属性中的有效用户传递到 Analysis Services。

电子邮件地址必须与本地 Active Directory (AD) 域内定义的用户主体名称 (UPN) 匹配。 UPN 是 AD 帐户的属性。 Windows 帐户必须存在于 Analysis Services 角色中。 如果在 AD 中找不到匹配项,则登录不会成功。 若要详细了解 AD 和用户命名,请参阅用户命名特性

映射 Analysis Services 数据源的用户名

你还可以将 Power BI 登录名映射到本地目录 UPN。 若要了解 Power BI 中的 UPN 映射,请观看以下视频:

注意

此视频可能使用的是早期版本的 Power BI Desktop 或 Power BI 服务。

Power BI 允许映射 Analysis Services 数据源的用户名。 可以配置规则以将 Power BI 登录用户名映射到传递给 Analysis Services 连接的 EffectiveUserName。 当 Microsoft Entra 用户名与本地 Active Directory 实例中的 UPN 不匹配时,此功能是一种很好的解决方法。 例如,如果你的电子邮件地址是 meganb@contoso.onmicrosoft.com,你可以将其映射到 meganb@contoso.com,并且该值将被传递到网关。

可以通过两种不同的方式映射用于 Analysis Services 的用户名:

  • 在 Power BI 中手动重映射用户
  • Active Directory 查找映射使用本地 AD 属性查找将 Microsoft Entra UPN 重映射到本地 AD 用户。

可以使用本地 AD 属性查找进行手动映射,但耗时且难以维护,尤其是在模式匹配不够时。 例如,Microsoft Entra ID 和本地 AD 之间的域名或用户帐户名称可能不同。 因此,不建议使用第二种方法进行手动映射。

以下部分将介绍两种映射方法。

在 Power BI 中手动重映射用户

对于 Analysis Services 数据源,可以在 Power BI 中配置自定义 UPN 规则。 当你的 Power BI 服务登录名与本地目录 UPN 不匹配时,自定义规则会十分有帮助。 例如,如果使用 meganb@contoso.com 登录 Power BI,但本地目录 UPN 是 meganb@contoso.local,可以配置映射规则,将 meganb@contoso.local 传递到 Analysis Services。

重要

映射适用于正在配置的特定数据源。 它不是全局设置。 如果具有多个 Analysis Services 数据源,必须对每个数据源的用户进行映射。

若要进行手动 UPN 映射,请执行以下步骤:

  1. 在 Power BI 齿轮图标下,选择“管理网关和连接”。

  2. 选择数据源,然后从顶部菜单中选择“设置”。

  3. 在“设置”屏幕的“映射用户名”框中,确保选中“EffectiveUserName”,然后选择“添加新规则”。

     Screenshot of the UPN mapping screen.

  4. 在“映射用户名”下,对于要映射的每个用户名,输入“原始名称”和“新名称”的值,然后选择“添加新规则”。 “替换前”值是 Power BI 的登录地址,“替换后”值是替换它的值。 替换将传递到 Analysis Services 连接的 EffectiveUserName 属性。

    Screenshot of Add new rule in the Map user names box.

    例如:

    Screenshot of example mapping rules.

    注意

    请确保不要更改你不打算更改的用户。 例如,如果将 contoso.com 的原始名称替换为 @contoso.local 的新名称,则包含 @contoso.com 的所有用户登录都会替换为 @contoso.local。 同样,如果将 meganb@contoso.com 的原始名称替换为 meganb@contoso.local 的新名称,则 v-meganb@contoso.com 的登录将作为 v-meganb@contoso.local 发送。

    可以选择列表中的项并通过拖放来重新排序,或者通过选择垃圾箱图标删除条目。

使用通配符

可以将 * 通配符用于“替换前”(原始名称)字符串。 通配符只能单独使用而不能与任何其他字符串部分一起使用。 如果要将所有用户替换为要传递到数据源的单个值,请使用通配符。 当你希望组织中的所有用户都在本地环境中使用相同的用户时,此方法非常有用。

测试映射规则

若要验证名称替换,请输入“原始名称”的值,然后选择“测试规则”。

 Screenshot of testing a mapping rule.

注意

保存的规则在浏览器中立即生效。 Power BI 服务在几分钟后才会开始使用保存的规则。

Active Directory 查找映射

本部分介绍如何执行本地 Active Directory 属性查找以将 Microsoft Entra UPN 重映射到 AD 用户。 首先,查看此重映射的工作原理。

Power BI Microsoft Entra 用户对本地 SSAS 服务器执行的每个查询都会同时传递 UPN 字符串(如 firstName.lastName@contoso.com)。

在具有可配置自定义用户映射的本地数据网关中查找映射,按照以下步骤操作:

  1. 查找要搜索的 Active Directory。 可以使用自动或可配置。
  2. 从 Power BI 服务查找 Active Directory 用户的属性(如电子邮件)。 属性基于传入的 UPN 字符串,如 firstName.lastName@contoso.com
  3. 如果 Active Directory 查找失败,则会尝试将 UPN 作为 EffectiveUserName 传递到 SSAS。
  4. 如果 Active Directory 查找成功,则会检索该 Active Directory 用户的 UserPrincipalName
  5. 映射将 UserPrincipalName 电子邮件(如 Alias@corp.on-prem.contoso)作为 EffectiveUserName 传递到 SSAS。

注意

在将 UPN 字符串发送到本地数据网关之前,应用 Power BI 数据源网关配置中定义的任何手动 UPN 用户映射。

若要使 Active Directory 查找在运行时正常工作,必须将本地数据网关服务更改为使用域帐户而不是本地服务帐户运行。

  1. 确保下载和安装最新网关

  2. 在计算机的本地数据网关应用中,转到“服务设置”>“更改服务帐户”。 请确保自己拥有此网关的恢复密钥,因为需要在同一台计算机上还原它,除非要新建网关。 必须重启网关服务以便使更改生效。

  3. 以管理员身份转到网关的安装文件夹 C:\Program Files\On-premises data gateway,以确保自己拥有写入权限。 打开 Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config 文件。

  4. 根据 AD 用户的 AD 属性配置编辑 ADUserNameLookupPropertyADUserNameReplacementProperty 值。 下图中的值为示例。 这些配置区分大小写,因此请确保它们与 AD 中的值匹配。

    Screenshot of Active Directory settings.

    如果文件没有为 ADServerPath 配置提供任何值,则网关使用默认的全局目录。 你可以为 ADServerPath 指定多个值。 值必须用分号分隔,如下例所示:

    <setting name="ADServerPath" serializeAs="String">
        <value> GC://serverpath1; GC://serverpath2;GC://serverpath3</value>
    </setting>
    

    网关从左到右解析 ADServerPath 的值,直到找到匹配项。 如果网关找不到匹配项,则使用原始 UPN。 确保运行网关服务 (PBIEgwService) 的帐户对你在 ADServerPath 中指定的所有 AD 服务器具有查询权限。

    网关支持两种类型的 ADServerPath

    • 对于 WinNT:<value="WinNT://usa.domain.corp.contoso.com,computer"/>
    • 对于全局目录 (GC):<value> GC://USA.domain.com </value>
  5. 重启本地数据网关服务以便使配置更改生效。

向实时 Analysis Services 数据源进行身份验证

每次用户与 Analysis Services 交互时,有效用户名将传递到网关,然后传递到本地 Analysis Services 服务器。 UPN(通常是用于登录云的电子邮件地址)会作为 EffectiveUserName 连接属性中的有效用户传递到 Analysis Services。

当数据集处于导入模式时,网关将会发送数据集所有者 UPN 的 EffectiveUserName。 这意味着数据集所有者的 UPN 将作为 EffectiveUserName 连接属性中的有效用户传递给 Analysis Services。

此电子邮件地址应与本地 Active Directory 域内定义的 UPN 匹配。 UPN 是 AD 帐户的属性。 Windows 帐户必须存在于 Analysis Services 角色中,才能访问服务器。 如果在 Active Directory 中找不到匹配项,则登录不会成功。

基于角色的安全性或行级别安全性

Analysis Services 还可以基于 Active Directory 帐户提供筛选。 筛选可以使用基于角色的安全性或行级别安全性。 用户查询和查看模型数据的能力取决于其 Windows 用户帐户所属的角色,以及动态行级别安全性(如果已配置)。

  • 基于角色的安全性。 模型提供了基于用户角色的安全性。 在 SQL Server Data Tools Business Intelligence 工具中进行创作期间,可以为特定模型项目定义角色。 在部署模型后,可以使用 SQL Server Management Studio 来定义角色。 角色包含按 Windows 用户名或按 Windows 组分配的成员。

    角色定义了用户进行查询或对模型执行操作所具有的权限。 大多数用户属于具有读取权限的角色。 其他角色向管理员授予处理项目、管理数据库功能和管理其他角色的权限。

  • 行级别安全性。 模型可以提供动态的行级别安全性。 任何定义的行级别安全性都特定于 Analysis Services。 对于基于角色的安全性,每个用户必须至少有一个角色,但没有表格模型需要动态行级别安全性。

    在较高级别,动态安全定义了用户对特定表中特定行的数据的读取访问权限。 类似于角色,动态行级别安全性依赖于用户的 Windows 用户名。

在模型中实现角色和动态行级别安全性已超出本文的讨论范围。 有关详细信息,请参阅表格模型中的角色安全角色(Analysis Services - 多维数据)。 若要特别深入地了解表格模型的安全性,请下载保护表格 BI 语义模型白皮书。

Microsoft Entra 身份验证

Microsoft 云服务使用 Microsoft Entra ID 对用户进行身份验证。 Microsoft Entra ID 是包含用户名和安全组的租户。 通常情况下,用户登录时使用的电子邮件地址与帐户的 UPN 相同。

本地 Active Directory 实例中的角色

为了使 Analysis Services 能够确定用户是否属于具有数据读取权限的角色,服务器需要转换从 Microsoft Entra ID 传递到网关再传递到 Analysis Services 服务器的有效用户名。 Analysis Services 服务器向 Windows Active Directory 域控制器 (DC) 传递有效用户名。 Active Directory DC 随后会验证有效用户名是否为本地帐户上的有效 UPN。 DC 会将用户的 Windows 用户名返回到 Analysis Services 服务器。

不能在未加入域的 Analysis Services 服务器上使用 EffectiveUserName。 为避免发生登录错误,Analysis Services 服务器必须加入域。

标识 UPN

你可能不知道你的 UPN 是什么,而且你有可能不是域管理员。 你可以从工作站使用以下命令找出你的帐户的 UPN:

whoami /upn

结果类似于电子邮件地址,但是它是位于域帐户上的 UPN。 如果使用 Analysis Services 数据源进行实时连接,并且此 UPN 与你用于登录 Power BI 的电子邮件地址不匹配,则可能要映射用户名

将本地 AD 与 Microsoft Entra ID 同步

如果计划使用 Analysis Services 实时连接,则本地 AD 帐户必须与 Microsoft Entra ID 匹配。 UPN 必须在帐户之间匹配。

云服务仅使用 Microsoft Entra ID 中的帐户。 如果在 Microsoft Entra ID 中不存在的本地 AD 实例中添加帐户,则无法使用该帐户。 可通过多种方式将本地 AD 帐户与 Microsoft Entra ID 匹配:

  • 将帐户手动添加到 Microsoft Entra ID。

    在 Azure 门户或 Microsoft 365 管理中心中创建一个帐户,其帐户名称与本地 AD 帐户的 UPN 匹配。

  • 使用 Microsoft Entra Connect Sync 将本地帐户同步到 Microsoft Entra 租户。

    Microsoft Entra Connect 可确保 UPN 在 Microsoft Entra ID 与本地 AD 实例之间匹配。 Microsoft Entra Connect 工具提供了选项以用于目录同步和设置身份验证。 这些选项包括密码哈希同步、传递身份验证和联合身份验证。 如果你不是管理员或本地域管理员,请联系 IT 管理员以帮助你进行配置。

    注意

    使用 Microsoft Entra Connect Sync 进行账户同步会在 Microsoft Entra 租户中创建新帐户。

使用数据源

添加 SSAS 数据源后,可通过实时连接或通过计划刷新使用该数据源。

注意

在 Power BI Desktop 和本地数据网关内的数据源之间,服务器名称和数据库名称必须匹配。

数据集和网关内的数据源之间的链接取决于服务器名称和数据库名称。 这些名称必须匹配。 例如,如果在 Power BI Desktop 内为服务器名称提供了某 IP 地址,则网关配置中的数据源也必须使用该 IP 地址。 如果在 Power BI Desktop 中使用了 SERVER\INSTANCE,则为网关配置的数据源中也必须使用 SERVER\INSTANCE。 此要求适用于实时连接和计划刷新这两种情况。

通过实时连接使用数据源

你可以使用针对表格或多维实例的实时连接。 首次连接到数据时,可以在 Power BI Desktop 中选择实时连接。 确保 Power BI Desktop 和为网关配置的数据源之间的服务器名称和数据库名称相互匹配。 此外,为了能够发布实时连接数据集,你的用户必须显示在数据源列表中的“用户”下。

从 Power BI Desktop 或通过在 Power BI 服务中获取数据发布报表后,数据连接应开始工作。 在网关中创建数据源之后,可能需要几分钟时间才能使用连接。

通过计划刷新使用数据源

如果你被列于网关内配置的数据源的“用户”选项卡中,并且服务器和数据库名称匹配,则你可以看到网关显示为计划刷新的一个选项。

Screenshot of selecting the on-premises gateway to use for scheduled refresh.

Analysis Services 实时连接限制

  • 不支持单元格级别格式和转译功能。

  • 操作和命名集不会向 Power BI 公开。 还可以连接到包含操作或命名集的多维数据集,以创建视觉对象和报表。

SKU 要求

服务器版本 所需的 SKU
2012 SP1 CU4 或更高版本 商业智能和企业版 SKU
2014 商业智能和企业版 SKU
2016 标准 SKU 或更高版本

更多问题? 尝试参与 Power BI 社区。