Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本分步指南介绍如何将本地 SharePoint 场与 Microsoft Entra 应用程序代理集成。
先决条件
若要执行配置,需要以下资源:
- SharePoint 2016 服务器场或更新版本。
- 包含应用程序代理计划的 Microsoft Entra 租户。 详细了解Microsoft Entra ID 计划和定价。
- Microsoft Office Web Apps Server 场,用于从本地 SharePoint 场正确启动 Office 文件。
- Microsoft Entra 租户中的 自定义验证域 。
- 本地 Active Directory 部署与 Microsoft Entra Connect 同步,用户可以通过该部署 登录到 Azure。
- 在企业域中的计算机上安装并运行专用网络连接器。
使用应用程序代理配置 SharePoint 需要两个 URL:
- 在 Microsoft Entra ID 中确定的可供终端用户查看的外部 URL。 此 URL 可以使用自定义域。 详细了解如何在 Microsoft Entra 应用程序代理中使用自定义域。
- 内部 URL,仅在公司域中已知,并且从未直接使用。
重要
若要确保正确映射链接,请遵循以下针对内部 URL 的建议:
- 使用 HTTPS。
- 不要使用自定义端口。
- 在公司域名系统(DNS)中创建一个主机(
A记录),该主机指向 SharePoint Web 前端(WFE)(或负载均衡器),而不是别名(CName记录)。
本文使用以下值:
- 内部 URL:
https://sharepoint. - 外部 URL:
https://spsites-demo1984.msappproxy.net/. - SharePoint Web 应用程序的应用程序池帐户:
Contoso\spapppool。
步骤 1:在使用应用程序代理的 Microsoft Entra ID 中配置应用程序
在此步骤中,将在使用应用程序代理的 Microsoft Entra 租户中创建应用程序。 设置外部 URL 并指定内部 URL,这两者稍后在 SharePoint 中使用。
按照以下设置创建应用。 有关分步说明,请参阅 使用 Microsoft Entra 应用程序代理发布应用程序。
-
内部 URL:稍后在 SharePoint 中设置的 SharePoint 内部 URL,例如
https://sharepoint。 -
预身份验证:
Microsoft Entra ID. -
翻译标头中的 URL:
No。 -
在应用程序正文中翻译 URL:
No。
-
内部 URL:稍后在 SharePoint 中设置的 SharePoint 内部 URL,例如
发布应用后,请按照以下步骤配置单一登录设置。
- 在门户中的应用程序页上,选择“单一登录”。
- 对于“单一登录模式”,选择“集成 Windows 身份验证”。
- 将 内部应用程序服务主体名称(SPN) 设置为前面设置的值。 对于此示例,值为
HTTP/sharepoint. - 在 “委派登录标识”下,选择最适合 Active Directory 林配置的选项。 例如,如果林中有一个 Active Directory 域,请选择“ 本地 SAM 帐户名称 ”(如以下屏幕截图所示)。 但是,如果你的用户与 SharePoint 和专用网络连接器服务器不在同一域中,请选择 “本地用户主体名称 ”(屏幕截图中未显示)。
完成应用程序设置,转到 “用户和组” 部分,并分配用户访问此应用程序。
步骤 2:配置 SharePoint Web 应用程序
必须使用 Kerberos 和适当的备用访问映射来配置 SharePoint Web 应用程序,以便Microsoft Entra 应用程序代理正常工作。 有两种可能的选项:
- 创建新的 Web 应用程序,并仅使用 默认 区域。 使用默认区域是首选选项,它提供了 SharePoint 的最佳体验。 例如,SharePoint 生成的电子邮件警报中的链接指向 默认 区域。
- 扩展现有 Web 应用程序以在非默认区域中配置 Kerberos。
重要
无论使用的区域如何,SharePoint Web 应用程序的应用程序池帐户都必须是 Kerberos 正常工作的域帐户。
创建 SharePoint Web 应用程序
该脚本演示了使用 默认 区域创建新的 Web 应用程序的示例。 使用默认区域是首选选项。
启动 SharePoint 命令行管理程序 并运行脚本。
# This script creates a web application and configures the Default zone with the internal/external URL needed to work with Azure AD application proxy # Edit variables below to fit your environment. Note that the managed account must exist and it must be a domain account $internalUrl = "https://sharepoint" $externalUrl = "https://spsites-demo1984.msappproxy.net/" $applicationPoolManagedAccount = "Contoso\spapppool" $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false $wa = New-SPWebApplication -Name "SharePoint - AAD Proxy" -Port 443 -SecureSocketsLayer -URL $externalUrl -ApplicationPool "SharePoint - AAD Proxy" -ApplicationPoolAccount (Get-SPManagedAccount $applicationPoolManagedAccount) -AuthenticationProvider $winAp New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Default -Internal打开 SharePoint 管理中心 网站。
在“系统设置”下,选择“配置备用访问映射”。 此时会打开“备用访问映射集合”框。
使用新的 Web 应用程序筛选显示。
如果将现有 Web 应用程序扩展到新区域。
启动 SharePoint 命令行管理程序并运行以下脚本。
# This script extends an existing web application to Internet zone with the internal/external URL needed to work with Azure AD application proxy # Edit variables below to fit your environment $webAppUrl = "http://spsites/" $internalUrl = "https://sharepoint" $externalUrl = "https://spsites-demo1984.msappproxy.net/" $winAp = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos:$false $wa = Get-SPWebApplication $webAppUrl New-SPWebApplicationExtension -Name "SharePoint - AAD Proxy" -Identity $wa -SecureSocketsLayer -Zone Extranet -Url $externalUrl -AuthenticationProvider $winAp New-SPAlternateURL -Url $internalUrl -WebApplication $wa -Zone Extranet -Internal
`. 打开 SharePoint 管理中心 网站。
在“系统设置”下,选择“配置备用访问映射”。 此时会打开“备用访问映射集合”框。
使用扩展的 Web 应用程序筛选显示。
确保 SharePoint Web 应用程序在域帐户下运行
若要标识运行 SharePoint Web 应用程序的应用程序池的帐户并确保它是域帐户,请执行以下步骤:
打开 SharePoint 管理中心 网站。
转到 “安全性 ”并选择“ 配置服务帐户”。
选择 Web 应用程序池 - YourWebApplicationName。
确认为该组件选择的帐户返回一个域帐户,并记住该帐户,因为在下一步中要使用它。
确保为 Extranet 区域的 IIS 站点配置了 HTTPS 证书
由于内部 URL 使用 HTTPS 协议(https:/https://learn.microsoft.com/SharePoint/),因此必须在 Internet Information Services (IIS) 站点上设置证书。
打开 Windows PowerShell 控制台。
运行以下脚本以生成自签名证书并将其添加到计算机的
MY store。# Replace "SharePoint" with the actual hostname of the Internal URL of your Azure AD proxy application New-SelfSignedCertificate -DnsName "SharePoint" -CertStoreLocation "cert:\LocalMachine\My"重要
自签名证书仅适用于测试目的。 在生产环境中,我们强烈建议改用由证书颁发机构颁发的证书。
打开 Internet Information Services Manager 控制台。
在树视图中展开服务器,展开 “站点”,选择 “SharePoint - Microsoft Entra ID 代理 站点”,然后选择“ 绑定”。
依次选择“HTTPS 绑定”、“编辑”。
在传输层安全性(TLS)证书字段中,选择 SharePoint 证书,然后选择“ 确定”。
现在可以通过 Microsoft Entra 应用程序代理在外部访问 SharePoint 网站。
步骤 3:配置 Kerberos 约束委派
用户最初在 Microsoft Entra ID 中进行身份验证,然后使用 Kerberos 通过 Microsoft Entra 专用网络连接器访问 SharePoint。 若要允许连接器代表 Microsoft Entra 用户获取 Kerberos 令牌,必须使用协议转换配置 Kerberos 约束委派(KCD)。 若要了解有关 KCD 的详细信息,请参阅 Kerberos 约束委派概述。
为 SharePoint 服务帐户设置服务主体名称(SPN)
在本文中,内部 URL 是 https://sharepoint,因此服务主体名称 (SPN) 为 HTTP/sharepoint。 必须将这些值替换为与环境相对应的值。
若要为 SharePoint 应用程序池帐户HTTP/sharepoint注册 SPNContoso\spapppool,请以域管理员身份从命令提示符运行以下命令:
setspn -S HTTP/sharepoint Contoso\spapppool
Setspn 命令在添加 SPN 之前进行搜索。 如果 SPN 已存在,则会看到 “重复的 SPN 值 ”错误。 删除现有的 SPN。 使用选项运行 Setspn 命令 -L ,验证 SPN 是否已成功添加。 若要了解有关命令的详细信息,请参阅 Setspn。
确保连接器受信任,以便委派已添加到 SharePoint 应用程序池帐户的 SPN
配置 KCD,以便Microsoft Entra 应用程序代理服务可以将用户标识委托给 SharePoint 应用程序池帐户。 通过启用专用网络连接器来为在 Microsoft Entra ID 中进行身份验证的用户检索 Kerberos 票证,从而配置 KCD。 然后,该服务器将上下文传递到目标应用程序(在本例中为 SharePoint)。
若要配置 KCD,请为每个连接器计算机执行以下步骤:
以域管理员身份登录到域控制器,然后打开 Active Directory 用户和计算机。
查找运行 Microsoft Entra 专用网络连接器的计算机。 在此示例中,它是运行 SharePoint Server 的计算机。
双击此计算机,然后选择“委派”选项卡。
请确保委派选项设置为 “信任此计算机”,以便仅委派到指定的服务。 然后选择“ 使用任何身份验证协议”。
选择“ 添加 ”按钮,选择 “用户”或“计算机”,然后找到 SharePoint 应用程序池帐户。 例如:
Contoso\spapppool。在 SPN 列表中,选择之前为服务帐户创建的帐户。
选择 “确定 ”,然后再次选择“ 确定 ”以保存更改。
现在,你已准备好使用外部 URL 登录到 SharePoint,并使用 Azure 进行身份验证。
排查登录错误
如果登录到站点不起作用,可以在连接器日志中获取有关问题的详细信息:从运行连接器的计算机打开事件查看器,转到 应用程序和服务日志>Microsoft>Microsoft Entra 专用网络>连接器,并检查 管理员 日志。