配置 Analysis Services 和 Kerberos 约束委派 (KCD)

适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Kerberos 约束委派 (KCD) 是一种身份验证协议,你可以使用 Windows 身份验证进行配置,使其在整个环境的服务之间委派客户端凭据。 KCD 需要附加基础结构(例如域控制器)和你环境中的其他配置。 在某些涉及 SharePoint 2016 SQL Server Analysis Services和 Power Pivot 数据的情况下,KCD 是必需的。 在 SharePoint 2016 中,Excel Services 已从 SharePoint 场移出到单独的新服务器,即 Office Online Server。 由于 Office Online Server 是独立的服务器,因此在两个典型的跃点方案中更加需要委派客户端凭据的方法。

概述

KCD 可以使一个帐户模拟另一个帐户,从而提供对资源的访问权限。 模拟帐户可以是分配给 Web 应用程序的服务帐户或 Web 服务器的计算机帐户,被模拟帐户可以是需要资源访问权限的用户帐户。 由于 KCD 在服务层进行操作,因此可通过模拟帐户对服务器上的选定服务授予访问权限,而同一服务器上的其他服务或其他服务器上的服务将被拒绝访问。

本主题中的各节回顾了需要 KCD 的 SQL Server Analysis Services 和 Power Pivot 的常见方案,以及包含需要安装和配置的内容的高级摘要的示例服务器部署。 请参阅 更多信息和社区内容 部分,了解有关所涉及技术(例如域控制器和 KCD)的更多详细信息。

方案 1:工作簿作数据源 (WDS)。

see 1 Office Online Server opens a Excel workbook and see 2 detects a data connection to another workbook. Office Online Server向 Power Pivot 重定向程序服务发送请求,请参阅 3 打开第二个工作簿,数据请参阅 4

在此方案中,需要将用户凭据从Office Online Server委托给 SharePoint 中的 SharePoint Power Pivot 重定向程序服务。

工作簿作为数据源

Analysis Services 表格模型 请参阅 1 包含 Power Pivot 模型的 Excel 工作簿的 1 个链接。 在此方案中,SQL Server Analysis Services加载表格模型时,SQL Server Analysis Services检测到指向工作簿的链接。 处理模型时,SQL Server Analysis Services向 SharePoint 发送查询请求以加载工作簿。 在此方案中, 无需 将客户端凭据从 Analysis Services 委派到 SharePoint,但是客户端应用程序可以覆盖外部绑定中的数据源信息。 如果外联绑定请求指定模拟当前用户,则必须委托用户凭据,这需要在 SQL Server Analysis Services 和 SharePoint 之间配置 KCD。

office Online Server

使用 Office Online Server 和 Analysis Services 的 KCD 部署示例

本部分介绍了使用四台计算机的部署示例。 以下部分总结了每台计算机的主要安装和配置步骤。 在开始部署之前,建议为计算机安装最新的操作系统修补程序并了解计算机名,因为某些配置步骤中将需要使用它们。

  • 域控制器

  • SQL Server 数据库引擎和处于 Power Pivot 模式的 Analysis Services。 数据库引擎的实例将用于 SharePoint 内容数据库。

  • SharePoint Server 2016

  • Office Online Server

域控制器

域控制器

下面是关于域控制器 (DC) 的安装内容摘要。

  • 角色: Active Directory 域服务。

  • 角色: DNS 服务器

  • 功能: .NET Framework 3.5 功能/.NET Framework 3.5

  • 功能: 远程服务器管理工具/角色管理工具

  • 配置 Active Directory 以创建新的林并将计算机加入域。 在尝试将其他计算机添加到专用域之前,需要将客户端计算机 DNS 配置为 DC 的 IP 地址。 在 DC 计算机上,运行 ipconfig /all 获取 IPv4 和 IPv6 地址以便进行下一步。

  • 建议同时配置 IPv4 和 IPv6 地址。 可以在 Windows 控制面板中执行此操作:

    1. 单击“网络和共享中心”

    2. 单击你的以太网连接

    3. 单击“属性”

    4. 单击“Internet 协议版本 6 (TCP/IPv6)”

    5. 单击“属性”

    6. 单击 “使用以下 DNS 服务器地址”

    7. 通过 ipconfig 命令键入 IP 地址。

    8. 单击“高级” 按钮,再单击“DNS” 选项卡并验证 DNS 后缀是否正确。

    9. 单击“追加这些 DNS 后缀”

    10. 对 IPv4 重复以上步骤。

    注意: 可通过系统设置从 Windows 控制面板将计算机加入域。 有关详细信息,请参阅 How To Join Windows Server 2012 to a Domain(如何将 Windows Server 2012 加入域)

处于 powerpivot 模式

2016 SQL Server 数据库引擎和处于 Power Pivot 模式的 Analysis Services

下面是在SQL Server计算机上安装的内容的摘要。

Note在 SQL Server 2017 安装向导中,Power Pivot 模式下的SQL Server Analysis Services作为功能选择工作流的一部分进行安装。

  1. 运行 SQL Server 2017 安装向导,在功能选择页中,单击数据库引擎、SQL Server Analysis Services和管理工具。 在安装向导的后续设置中,可以为SQL Server Analysis Services指定 Power Pivot 模式。

  2. 对于实例配置,请配置“POWERPIVOT”的命名实例。

  3. 在 Analysis Services 配置页上,配置处于 Power Pivot 模式的 Analysis Services 服务器,并将 Office Online Server 的 计算机名 添加到 Analysis Services 服务器管理员列表中。 有关详细信息,请参阅 Install Analysis Services in Power Pivot Mode

  4. 请注意,默认情况下,搜索中不包含“计算机”对象类型。 单击 “单击对象”可添加计算机帐户 以添加计算机对象。

    将计算机帐户添加为 ssas 管理员

  5. 为 Analysis Services 实例创建服务主体名称 (SPN)。

    以下是有用的 SPN 命令:

    • 为运行所需服务的特定帐户名列出 SPN: SetSPN -l <account-name>

    • 为运行所需服务的帐户名设置 SPN: SetSPN -a <SPN> <account-name>

    • 从运行所需服务的特定帐户名删除 SPN: SetSPN -D <SPN> <account-name>

    • 搜索重复的 SPN: SetSPN -X

    PowerPivot 实例的 SPN 格式如下:

    MSSQLSvc.3/\<Fully Qualified Domain Name (FQDN)>:POWERPIVOT  
    MSSQLSvc.3/<NetBIOS Name>:POWERPIVOT  
    

    其中 FQDN 和 NetBIOS 名称是该实例所在计算机的名称。 这些 SPN 将放置在正用于服务帐户的域帐户之上。 如果使用网络服务、本地系统或服务 ID,建议将 SPN 放置在域计算机帐户之上。 如果使用域用户帐户,请将 SPN 直接置于该帐户之上。

  6. 在 Analysis Services 计算机上为 SQL Browser 服务创建 SPN。

    了解详细信息

  7. 在 Analysis Services 服务帐户中为你将从其中刷新的任何外部源(例如 SQL Server 或 Excel 文件)配置约束委派 设置。 在 Analysis Services 服务帐户中,确保设置以下内容:

    注意: 如果在“Active Directory 用户和计算机”中看不到该帐户的委派选项卡,这是由于该帐户上没有任何 SPN 而导致的。 你可以添加一个虚设的 SPN 使其显示出来,例如 my/spn

    “仅信任此用户作为指定服务的委派” 和“使用任何身份验证协议”

    这称为约束委派,并且为必需,因为 Windows 令牌将生成自“声明为 Windows 令牌服务(C2WTS)”,而改服务需要具有协议转换的约束委派。

    Analysis Services - 约束委派

    此外,还需要添加将委派到的服务。 这将因你的环境而有所不同。

Office Online Server

  1. 安装 Office Online Server

  2. 配置Office Online Server以连接到 SQL Server Analysis Services 服务器。 请注意,Office Online Server计算机帐户必须是SQL Server Analysis Services服务器上的管理员。 本主题的上一部分已完成此操作,即安装 SQL Server Analysis Services 服务器。

    1. 在 Office Online Server 上,使用管理员权限打开 PowerShell 窗口并运行以下命令

    2. New-OfficeWebAppsExcelBIServer -ServerId <AS instance name>

    3. 示例: New-OfficeWebAppsExcelBIServer -ServerId "MTGQLSERVER-13\POWERPIVOT"

  3. 配置 Active Directory 以便允许Office Online Server 计算机帐户模拟用户的 SharePoint 服务帐户。 在运行 SharePoint Web Services 的应用程序池的主体上,在 Office Online Server 上设置委派属性:本部分中的 PowerShell 命令需要 Active Directory (AD) PowerShell 对象。

    1. 获取 Office Online Server 的 Active Directory 标识

      $computer1 = Get-ADComputer -Identity [ComputerName]  
      

      查看“任务管理器”/“详细信息”/“w3wp.exe 的用户名”即可找到此主体名称。 例如“svcSharePoint”

      Set-ADUser svcSharePoint -PrincipalsAllowedToDelegateToAccount $computer1  
      
      
    2. 验证属性是否设置正确

    3. Get-ADUser svcSharePoint -Properties PrincipalsAllowedToDelegateToAccount  
      
  4. 将 Office Online Server 帐户的约束委派 设置配置为 Analysis Services Power Pivot 实例。 此实例应为 Office Online Server 运行于的计算机帐户。 在 Office Online Service 帐户中,确保设置以下内容。

    注意: 如果在“Active Directory 用户和计算机”中看不到该帐户的委派选项卡,这是由于该帐户上没有任何 SPN 而导致的。 你可以添加一个虚设的 SPN 使其显示出来,例如 my/spn

    “仅信任此用户作为指定服务的委派” 和“使用任何身份验证协议”

    这称为约束委派,并且为必需,因为 Windows 令牌将生成自“声明为 Windows 令牌服务(C2WTS)”,而改服务需要具有协议转换的约束委派。 然后允许向上面创建的 MSOLAPSvc.3 和 MSOLAPDisco.3 SPNs 进行委派。

  5. 安装声明为 Windows 令牌服务 (C2WTS) 这是方案 1 的必需操作。 有关详细信息,请参阅 Claims to Windows Token Service (c2WTS) 概述

  6. 在 C2WTS 服务帐户上配置约束委派 设置。 此处的设置应与步骤 4 中的操作一致。

sharepoint server

SharePoint Server 2016

以下是关于 SharePoint Server 安装的摘要。

  1. 运行 SharePoint 必备安装程序

  2. 运行 SharePoint 安装,并选择“单个服务器场” 安装角色。

  3. 运行 PowerPivot for SharePoint 加载项 (spPowerPivot16.msi)。 有关详细信息,请参阅 安装或卸载 Power Pivot for SharePoint 外接程序 (SharePoint 2016)

  4. 运行 PowerPivot 配置向导。 请参阅 Power Pivot Configuration Tools

  5. 将 SharePoint 连接到Office Online Server。 (Configure_xlwac_on_SPO.ps1)

  6. 为 Kerberos 配置 SharePoint 身份验证提供程序。 这是方案 1 的必需操作。 有关详细信息,请参阅 在 SharePoint 2013 中规划 Kerberos 身份验证

另请参阅

Microsoft® Kerberos Configuration Manager for SQL Server®