在 Office Online Server 和 SharePoint Server 2016 之间配置服务器间身份验证

摘要:在 Office Online Server 和 SharePoint 2016 之间配置服务器间身份验证。

Office Online Server 和 SharePoint Server 2016 之间的服务器到服务器身份验证在两个服务器之间建立信任。 对于某些 Excel Online 功能,例如作为 SQL Server Power Pivot for SharePoint 的一部分的 Office 数据连接 (ODC) 文件支持和 IT 管理仪表板,此信任是必要的先决条件。 本文将指导你通过这些步骤设置此信任。

若要配置服务器到服务器的身份验证,则 Office Online Server 场和 SharePoint Server 场必须位于同一个 Active Directory 林中。 还必须具有在 SharePoint Server 场上配置的用户配置文件服务应用程序。

配置服务器到服务器的身份验证所需的基本操作包括:

  1. 将证书导入 Office Online Server
  2. 导出证书以在 SharePoint Server 上使用
  3. 配置 Office Online Server 以使用证书进行服务器到服务器身份验证
  4. 配置 SharePoint Server 以使用证书进行服务器到服务器身份验证

首先需要将证书导入 Office Online Server。

将证书导入 Office Online Server

第一步是导入证书以供 Office Online Server 使用。 按照导入证书授予网络服务权限,在Office Online Server场中的每个服务器上使用密钥过程。

导入证书

可以使用私钥 SSL 证书或自签名证书。 强烈建议使用私钥 SSL 证书。 以下各节提供了对两个证书的操作过程。 选择要使用的证书。

使用私钥 SSL 证书

在每个运行 Office Online Server 的服务器上安装证书。

在 Office Online 服务器上安装证书

  1. 在运行 Office Online Server 的服务器上,打开 IIS 管理器。
  2. 在左侧窗格中,单击服务器名称。
  3. 双击"服务器证书"。
  4. 在“操作”窗格中,单击“导入”。
  5. 键入要使用的 SSL 证书的路径文件名
  6. 在“密码”框中,键入证书的密码
  7. 在“选择证书存储”下拉列表中,请确保选择“个人”。
  8. 单击“确定”。

对每个运行 Office Online 的服务器重复此过程。

使用自签名证书

如果要使用自签名证书,则需要将其添加到受信任的根证书颁发机构。

将证书导入到受信任的根证书颁发机构

  1. 打开 Microsoft 管理控制台。
  2. 在" 文件"菜单上,选择" 添加/删除管理单元"。
  3. 选择" 证书",然后单击" 添加"。
  4. 选择" 计算机帐户"选项,单击" 下一步",然后单击" 完成"。
  5. 单击“确定”
  6. 展开" 证书(本地计算机)",右键单击" 受信任的根证书颁发机构",单击" 所有任务",然后单击" 导入"。
  7. 单击"下一步"。
  8. 浏览到该证书的位置并选择,然后单击" 下一步"。
  9. 键入证书密码,单击" 下一步",然后单击" 完成"。

保持 Microsoft 管理控制台处于打开状态以进行下一过程。

授予使用该密钥的网络服务权限

接下来,使用 Microsoft 管理控制台 (MMC) 授予使用该私钥的网络服务权限。

授予使用该私钥的网络服务权限

  1. 打开 Microsoft 管理控制台。
  2. 在" 文件"菜单上,选择" 添加/删除管理单元"。
  3. 选择" 证书",然后单击" 添加"。
  4. 选择" 计算机帐户"选项,单击" 下一步",然后单击" 完成"。
  5. 单击“确定”
  6. 展开" 证书(本地计算机)",再展开" 个人",然后单击" 证书"。
  7. 右键单击刚导入的证书,单击" 所有任务",然后单击" 管理私钥"。
  8. 在" 权限"对话框中,单击" 添加"。
  9. 键入"网络服务",然后单击" 确定"。
  10. 单击“确定”

请确保按照导入证书授予网络服务权限操作,以在Office Online Server场中的每个服务器上使用密钥过程。

保持 Microsoft 管理控制台处于打开状态以进行下一过程。

导出证书以在 SharePoint Server 上使用

下一步是将证书导出,以便可以将其作为受信任的令牌颁发者来注册 Office Online Server。

导出证书以使用 SharePoint Server 2016

  1. 右键单击刚导入的证书,单击" 所有任务",然后单击" 导出"。
  2. 在"欢迎"页上,单击"下一步"。
  3. 选择" 否,不导出私钥"选项,然后单击" 下一步"。
  4. 选择“DER 编码二进制 X.509 (.CER)”选项,然后单击“下一步”。
  5. 键入要导出的文件的路径名称,然后单击“下一步”。
  6. 单击"完成",然后单击"确定"。

将创建的证书文件复制到可从 SharePoint Server 访问的位置。

接下来,需要将该证书指定为 Office Online Server 的 S2S 证书。

配置 Office Online Server 以使用证书进行服务器到服务器身份验证

为 Office Online Server 指定 S2S 证书

  1. 以管理员身份打开 Microsoft PowerShell 窗口。
  2. 键入以下内容,其中 <friendlyName> 是正在使用的证书的友好名称。
Set-OfficeWebAppsFarm -S2SCertificateName "<friendlyName>" -Confirm:$false -Force

通过 Office Online Server 使用 HTTP

如果对Office Online Server场使用 HTTP 而不是 HTTPS,则必须允许来自 Office Online Server 的出站 HTTP 连接。 (如果使用 SSL,则可以跳过此过程。)

若要启用 Office Online Server 的 HTTP 出站连接,运行以下 PowerShell 命令:

Set-OfficeWebAppsFarm -AllowOutboundHttp:$True
iisreset

重要

强烈建议使用 HTTPS (TLS) ,而不考虑环境,因为Office Online Server使用 OAuth 令牌与外部服务(如 SharePoint 或 Exchange Server)通信。 OAuth 令牌包含可能被攻击者截获和重播的信息,授予攻击者与发出Office Online Server请求的用户相同的权限。

通过 ODC 文件使用 HTTP 路径

如果计划在 HTTP 路径中存储 ODC 文件,则必须配置 Office Online Server 以允许通过 HTTP 的 Secure Store 连接。

重要

当使用通过 HTTP 的 Secure Store 连接时,ODC 文件的内容以明文形式传递。 ODC 文件包含数据库连接信息,并可以包含密码。 Microsoft 使用 HTTPS 重新注释。

若要启用 Office Online Server 以通过 Secure Store 使用 HTTP 路径,请运行以下 PowerShell 命令:

Set-OfficeWebAppsFarm -AllowHttpSecureStoreConnections:$true
iisreset

配置 SharePoint Server 以使用证书进行服务器到服务器身份验证

需要以受信任令牌颁发者的身份注册 SharePoint Server 和 SQL Server。 通过 PowerShell 完成。 以下是将会使用的参数:

  • <SPSiteURL> - 顶级网站集的 URL。
  • <CertificateIssuer> - 证书颁发者的名称。 可通过查看 IIS 管理器中证书的" 详细信息"选项卡找到参数。
  • <X509Certificate> - 导出的证书文件的路径和文件名。
  • <RegisteredIssuer> - 受信任令牌颁发者的 GUID。 SharePoint Server是 67e3df25-268a-4324-a550-0de1c7f97287@bd2372e4-0a11-495c-9541-8377c6def195 并且 SQL Server 为 67e3df25-268a-4324-a550-0de1c7f97287@ffab2d74-c6ae-4375-819a-8555d49b699a

执行以下过程两次 - 为每个 <RegisteredIssuer> GUID 执行一次。

注册受信任的令牌颁发者

  1. 以管理员身份打开 SharePoint 2016 命令行管理程序。
  2. 使用上面提到的参数运行以下脚本:
$issuer = New-SPTrustedSecurityTokenIssuer -Name <CertificateIssuer> -Certificate <X509Certificate> -RegisteredIssuerName <RegisteredIssuer>
$app = Get-SPAppPrincipal -Site <SPSiteURL> -NameIdentifier $issuer.NameId
$site = Get-SPSite <SPSiteURL>
Set-SPAppPrincipalPermission -appPrincipal $app -Site $site.RootWeb -Scope SiteSubscription -Right FullControl -EnableAppOnlyPolicy
  1. 如果使用的是自签名证书,请运行以下命令:
New-SPTrustedRootAuthority -Name <CertificateIssuer> -Certificate <X509Certificate>

另请参阅

New-SPTrustedSecurityTokenIssuer

New-SPTrustedRootAuthority

Get-SPAppPrincipal

Set-SPAppPrincipalPermission