配置 Kerberos 身份验证 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

本文内容:

  • 关于 Kerberos 身份验证

  • 开始之前

  • 为 SQL 通信配置 Kerberos 身份验证

  • 为使用 Kerberos 身份验证的 Web 应用程序创建服务主体名称

  • 部署服务器场

  • 配置服务器场中的服务器上的服务

  • 创建使用 Kerberos 身份验证的 Web 应用程序

  • 使用门户网站 Web 应用程序中的协作门户模板创建网站集

  • 确认是否可成功访问使用 Kerberos 身份验证的 Web 应用程序

  • 确认搜索索引功能是否正确

  • 确认搜索查询功能是否正确

  • 配置限制

  • 其他资源和疑难解答指南

关于 Kerberos 身份验证

Kerberos 是一种支持票证身份验证的安全协议。如果客户端计算机身份验证请求包含有效的用户凭据和服务主体名称 (SPN),则 Kerberos 身份验证服务器将授予一个票证以响应该请求。然后,客户端计算机使用该票证来访问网络资源。若要启用 Kerberos 身份验证,客户端和服务器计算机必须建立到域密钥发行中心 (KDC) 的受信任连接。KDC 分发共享密钥以启用加密。客户端和服务器计算机还必须能够访问 Active Directory 域服务 (AD DS)。对于 AD DS,目录林根级域是 Kerberos 身份验证检索的中心。

若要部署使用 Kerberos 身份验证并运行 Microsoft SharePoint Foundation 2010 的服务器场,必须在计算机上安装和配置各种应用程序。本文介绍了一个运行 SharePoint Foundation 2010 的示例服务器场,并提供了部署和配置服务器场以使用 Kerberos 身份验证来支持以下功能的指南:

  • 在 SharePoint Foundation 2010 和 Microsoft SQL Server 数据库软件之间的通信。

  • 访问 SharePoint 管理中心 Web 应用程序。

  • 访问其他 Web 应用程序,包括门户网站 Web 应用程序和“我的网站”Web 应用程序。

开始之前

本文针对了解以下内容的管理员级别用户:

  • Windows Server 2008

  • Active Directory

  • Internet Information Services (IIS) 6.0(或 IIS 7.0)

  • SharePoint Foundation 2010

  • Windows Internet Explorer

  • Kerberos 身份验证(已在 Windows Server 2008 的 Active Directory 域服务 (AD DS) 中实现)

  • Windows Server 2008 中的网络负载平衡 (NLB)

  • Active Directory 域中的计算机帐户

  • Active Directory 域中的用户帐户

  • IIS 网站及其绑定和身份验证设置

  • IIS 网站的 IIS 应用程序池标识

  • SharePoint 产品配置向导工具

  • SharePoint Foundation 2010 Web 应用程序

  • 管理中心网页

  • 服务主体名称 (SPN) 以及如何在 Active Directory 域中配置它们

重要

要在 Active Directory 域中创建 SPN,您必须具有域管理员级别的权限。

本文不提供 Kerberos 身份验证的深入探讨。Kerberos 是在 AD DS 中实施的一种行业标准身份验证方法。

本文不提供安装 SharePoint Foundation 2010 或使用 SharePoint 产品配置向导 的详细分步说明。

本文不提供使用管理中心创建 SharePoint Foundation 2010 Web 应用程序的详细分步说明。

软件版本要求

本文中提供的指导和为了确认指导而执行的测试,均基于使用特定系统得出的结果,这些系统运行 Windows Server 2008 和 Internet Explorer,且应用了 Windows Update 网站 (https://go.microsoft.com/fwlink/?linkid=101614&clcid=0x804) 上的最新更新。安装的是以下软件版本:

还应确保您的 Active Directory 域控制器运行 Windows Server 2008,并应用了 Windows Update 网站 (https://go.microsoft.com/fwlink/?linkid=101614&clcid=0x804) 上的最新更新。

已知问题

如果配置为使用 Kerberos 身份验证的 Web 应用程序在绑定到默认端口(TCP 端口 80 和安全套接字层 (SSL) 端口 443)的 IIS 虚拟服务器上承载,则 SharePoint Foundation 2010 可以对这些 Web 应用程序进行爬网。但是,如果配置为使用 Kerberos 身份验证的 Web 应用程序在绑定到非默认端口(TCP 端口 80 和 SSL 端口 443 之外的端口)的 IIS 虚拟服务器上承载,则 SharePoint Foundation 2010 搜索无法对 SharePoint Foundation 2010 Web 应用程序进行爬网。目前,SharePoint Foundation 2010 搜索只能对在绑定到非默认端口的 IIS 虚拟服务器上承载、且配置为使用 NTLM 身份验证或基本身份验证的 SharePoint Foundation 2010 Web 应用程序进行爬网。

对于使用 Kerberos 身份验证的最终用户访问,如果您需要部署只能在绑定到非默认端口的 IIS 虚拟服务器上承载的 Web 应用程序,且希望最终用户可以获得搜索查询结果,则:

  • 相同的 Web 应用程序必须在其他非默认端口上的 IIS 虚拟服务器上承载。

  • Web 应用程序必须配置为使用 NTLM 身份验证或基本身份验证。

  • 搜索索引必须爬网使用 NTLM 身份验证或基本身份验证的 Web 应用程序。

本文提供有关以下内容的指导:

  • 配置在绑定到非默认端口的 IIS 虚拟服务器上承载的、使用 Kerberos 身份验证的管理中心 Web 应用程序。

  • 配置在绑定到默认端口且绑定了 IIS 主机标头的 IIS 虚拟服务器上承载的、使用 Kerberos 身份验证的门户应用程序和“我的网站”应用程序。

  • 确保搜索索引能使用 Kerberos 身份验证成功对 SharePoint Foundation 2010 应用程序进行爬网。

  • 确保访问经过 Kerberos 身份验证的 Web 应用程序的用户能成功获得这些 Web 应用程序的搜索查询结果。

其他背景信息

在使用 Kerberos 身份验证时,是否能准确地进行身份验证部分依赖于尝试使用 Kerberos 进行身份验证的客户端的行为,理解这一点很重要。在使用 Kerberos 身份验证的 SharePoint Foundation 2010 服务器场部署中,SharePoint Foundation 2010 不是客户端。在部署运行 SharePoint Foundation 2010 并使用 Kerberos 身份验证的服务器场时,必须了解以下客户端的行为:

  • 浏览器(本文中,浏览器始终是 Internet Explorer)

  • Microsoft .NET Framework

浏览器是在浏览到 SharePoint Foundation 2010 Web 应用程序中的网页时使用的客户端。当 SharePoint Foundation 2010 执行任务(如对本地 SharePoint Foundation 2010 内容源进行爬网)时,.NET Framework 会充当客户端。

要让 Kerberos 身份验证正常运行,必须在 AD DS 中创建 SPN。如果这些 SPN 所响应的服务侦听的是非默认端口,则这些 SPN 还应包括端口号。这是为了确保 SPN 有实际意义。同时,不允许创建重复的 SPN。

当客户端尝试使用 Kerberos 身份验证访问资源时,该客户端必须创建一个 SPN 用于 Kerberos 身份验证过程。如果该客户端不创建与 AD DS 中配置的 SPN 相匹配的 SPN,则 Kerberos 身份验证将失败,通常将返回“拒绝访问”错误。

有一些版本的 Internet Explorer 不创建带有端口号的 SPN。如果您使用绑定到 IIS 中非默认端口号的 SharePoint Foundation 2010 Web 应用程序,可能需要指示 Internet Explorer 在其创建的 SPN 中包括端口号。在运行 SharePoint Foundation 2010 的服务器场中,默认情况下,管理中心 Web 应用程序在绑定到非默认端口的 IIS 虚拟服务器上承载。因此,本文针对绑定端口的 IIS 网站和绑定到主机标头的 IIS 网站。

在运行 SharePoint Foundation 2010 的服务器场中,默认情况下 .NET Framework 不会创建包含端口号的 SPN。这就是使用 Kerberos 身份验证的 Web 应用程序在绑定到非默认端口的 IIS 虚拟服务器上承载时,搜索无法对这些 Web 应用程序进行爬网的原因。

服务器场拓扑

本文针对以下 SharePoint Foundation 2010 服务器场拓扑:

  • 运行 Windows Server 2008、作为前端 Web 服务器的两台计算机,且配置了 Windows NLB。

  • 运行 Windows Server 2008、作为应用程序服务器的三台计算机。第一台应用程序服务器承载管理中心 Web 应用程序,第二台应用程序服务器运行搜索查询,第三台应用程序服务器运行搜索索引。

  • 运行 Windows Server 2008 的一台计算机,用作运行 SharePoint Foundation 2010 的服务器场的 SQL 主机。对于本文所述情形,也可以使用 Microsoft SQL Server 2008。

Active Directory 域服务、计算机命名和 NLB 约定

本文所述情形使用以下 Active Directory、计算机命名和 NLB 约定:

服务器角色 域名

Active Directory 域服务

mydomain.net

运行 SharePoint Foundation 2010 的前端 Web 服务器

wssfe1.mydomain.net

运行 SharePoint Foundation 2010 的前端 Web 服务器

wssfe2.mydomain.net

SharePoint Foundation 2010 管理中心

wssadmin.mydomain.net

运行 SharePoint Foundation 2010 的搜索索引

wsscrawl.mydomain.net

运行 SharePoint Foundation 2010 的搜索查询

wssquery.mydomain.net

运行 SharePoint Foundation 2010 的 SQL Server 主机

wsssql.mydomain.net

在这些系统上配置 NLB 的结果是将一个 NLB VIP 分配到 wssfe1.mydomain.net 和 wssfe2.mydomain.net。指向该地址的一组 DNS 主机名将在 DNS 系统中注册。例如,如果 NLB VIP 是 192.168.100.200,您将具有一组将以下 DNS 名称解析到该 IP 地址 (192.168.100.200) 的 DNS 记录:

  • kerbportal.mydomain.net

  • kerbmysite.mydomain.net

Active Directory 域帐户约定

对于运行 SharePoint Foundation 2010 的服务器场中使用的服务帐户和应用程序池标识,本文中的示例使用下表中列出的命名约定。

域帐户或应用程序池标识 名称

本地管理员帐户

  • 在运行 SharePoint Foundation 2010 的所有服务器上(但运行 SQL Server 的主计算机除外)

  • 针对 SharePoint Foundation 2010 安装和 SharePoint 产品配置向导 Run-as 用户

mydomain\pscexec

SQL Server 主计算机上的本地管理员帐户

mydomain\sqladmin

用于运行 SQL Server 服务的 SQL Server 服务帐户

mydomain\wsssqlsvc

SharePoint Foundation 2010 服务器场管理员帐户

mydomain\wssfarmadmin

用作管理中心的应用程序池标识和 SharePoint 定时服务的服务帐户。

门户网站 Web 应用程序的 SharePoint Foundation 2010 应用程序池标识

mydomain\portalpool

“我的网站”Web 应用程序的 SharePoint Foundation 2010 应用程序池标识

mydomain\mysitepool

SharePoint Foundation 2010 搜索服务帐户

mydomain\wsssearch

SharePoint Foundation 2010 搜索内容访问帐户

mydomain\wsscrawl

SharePoint Foundation 2010 搜索服务帐户

mydomain\wsssearch

SharePoint Foundation 2010 内容访问帐户

mydomain\wsscrawl

基本配置要求

在服务器场中的计算机上安装 SharePoint Foundation 2010 前,请确保已执行以下过程:

  • 服务器场中使用的所有服务器(包括 SQL 主机)都使用 Windows Server 2008 进行设置,并应用了 Windows Update 网站 (https://go.microsoft.com/fwlink/?linkid=101614&clcid=0x804) 上的最新更新。

  • 服务器场中的所有服务器都从 Windows Update 网站 (https://go.microsoft.com/fwlink/?linkid=101614&clcid=0x804) 安装了 Internet Explorer(包括其最新更新)。

  • SQL 主计算机上已安装并正在运行 SQL Server 2008,SQL Server 服务作为帐户 mydomain\sqlsvc 运行。SQL Server 的一个默认实例已经安装,并正在侦听 TCP 端口 1433。

  • 已添加 SharePoint 产品配置向导 Run-as 用户:

    • 已经添加为 SQL 主机上的 SQL 登录名。

    • 已经添加到 SQL 主机上的 SQL Server DBCreators 角色。

    • 已经添加到 SQL 主机上的 SQL Server Security Administrators 角色。

为 SQL 通信配置 Kerberos 身份验证

在运行 SharePoint Foundation 2010 的服务器上安装和配置 SharePoint Foundation 2010 之前,为 SQL 通信配置 Kerberos 身份验证。必须这样做的原因是:只有为 SQL 通信配置 Kerberos 身份验证并确认其正常运行,运行 SharePoint Foundation 2010 的计算机才能连接到 SQL Server。

为运行 Windows Server 2008 的主计算机上安装的任何服务配置 Kerberos 身份验证的过程包括为用于在主机上运行服务的域帐户创建一个 SPN。SPN 由以下部分组成:

  • 服务名称(例如 MSSQLSvc 或 HTTP)

  • 主机名(真实或虚拟)

  • 端口号

下表包含在名为 wsssql 的计算机上运行并侦听端口 1433 的 SQL Server 默认实例的 SPN 示例:

  • MSSQLSvc/wsssql:1433

  • MSSQLSvc/wsssql.mydomain.com:1433

这些是您将为本文所述服务器场所使用的 SQL 主机上的 SQL Server 实例创建的 SPN。您应始终为网络中的主机创建具有 NetBIOS 名称和完整 DNS 名称的 SPN。

可通过两种方法为 Active Directory 域中的帐户设置 SPN。一种方法是使用 Windows Server 2008 的资源工具包中包含的 SETSPN.EXE 实用工具。另一种方法是使用 Active Directory 域控制器上的 ADSIEDIT.MSC 管理单元。本文介绍了如何使用 ADSIEDIT.MSC 管理单元。

配置 SQL Server 的 Kerberos 身份验证包括两个主要步骤:

  • 为 SQL Server 服务帐户创建 SPN。

  • 确认使用 Kerberos 身份验证将运行 SharePoint Foundation 2010 的服务器连接到运行 SQL Server 的服务器。

为 SQL Server 服务帐户创建 SPN

  1. 使用具有域管理权限的用户的凭据登录到 Active Directory 域控制器。

  2. 在“运行”对话框中,键入 ADSIEDIT.MSC

  3. 在管理控制台对话框中,展开域容器文件夹。

  4. 展开包含用户帐户(例如 CN=Users)的容器文件夹。

  5. 定位到 SQL Server 服务帐户(例如 CN=wsssqlsvc)的容器。

  6. 右键单击该帐户,然后单击“属性”。

  7. 在“SQL Server 服务帐户”对话框中向下滚动属性列表,直至找到“servicePrincipalName”。

  8. 选择“servicePrincipalName”属性,然后单击“编辑”。

  9. 在“要添加的值”字段中,在“多值字符串编辑器”对话框中键入 SPN MSSQLSvc/wsssql:1433,然后单击“添加”。接着,在该字段中键入 SPN MSSQLSvc/wsssql.mydomain.com:1433,然后单击“添加”。

  10. 在“多值字符串编辑器”对话框中单击“确定”,然后在 SQL Server 服务帐户的属性对话框中单击“确定”。

确认 Kerberos 身份验证用于将运行 SharePoint Foundation 2010 的服务器连接到运行 SQL Server 的服务器

在运行 SharePoint Foundation 2010 的一个服务器上安装 SQL 客户端工具,然后使用这些工具从运行 SharePoint Foundation 2010 的服务器连接到运行 SQL Server 的服务器。本文不介绍在运行 SharePoint Foundation 2010 的服务器上安装 SQL 客户端工具的步骤。确认过程基于以下假设:

  • 正在 SQL 主机上使用 SQL Server 2008。

  • 使用帐户 mydomain\pscexec 登录到运行 SharePoint Foundation 2010 的一个服务器,并已在运行 SharePoint Foundation 2010 的服务器上安装 SQL 2005 客户端工具。

  1. 运行 SQL Server 2005 Management Studio。

  2. 在出现“连接到服务器”对话框时,键入 SQL 主计算机的名称(本示例中 SQL 主计算机为 wsssql),然后单击“连接”以连接到 SQL 主计算机。

  3. 为确认 Kerberos 身份验证已用于该连接,请在 SQL 主计算机上运行事件查看器,并查看安全事件日志。您应看到一个事件类别为“登录/注销”的“成功审核”记录,与下表中所示的数据类似:

    事件类型

    成功审核

    事件源

    安全性

    事件类别

    登录/注销

    事件 ID

    540

    日期

    10/31/2007

    时间

    4:12:24 PM

    用户

    MYDOMAIN\pscexec

    计算机

    WSSQL

    说明

    下表说明了网络登录成功的一个示例。

    用户名

    pscexec

    MYDOMAIN

    登录 ID

    (0x0,0x6F1AC9)

    登录类型

    3

    登录进程

    Kerberos

    工作站名称

    登录 GUID

    {36d6fbe0-2cb8-916c-4fee-4b02b0d3f0fb}

    调用方用户名

    调用方域

    调用方登录 ID

    调用方进程 ID

    传递服务

    源网络地址

    192.168.100.100

    源端口

    2465

查看日志条目以确认以下各项:

  1. 用户名正确。mydomain\pscexec 帐户已通过网络登录到 SQL 主机。

  2. 登录类型为 3。类型 3 登录是网络登录。

  3. 登录进程和验证包均使用 Kerberos 身份验证。这就确认了运行 SharePoint Foundation 2010 的服务器是使用 Kerberos 身份验证与 SQL 主机进行通信。

  4. 源网络地址与发起连接的计算机的 IP 地址匹配。

如果连接 SQL 主机失败时显示类似“不能产生 SSPI 上下文”的错误消息,很可能是用于 SQL Server 实例的 SPN 存在问题。若要解决此问题,请参阅 Microsoft 知识库文章如何排查“不能产生 SSPI 上下文”错误消息 (https://go.microsoft.com/fwlink/?linkid=76621&clcid=0x804)。

为使用 Kerberos 身份验证的 Web 应用程序创建服务主体名称

就 Kerberos 身份验证而言,基于 IIS 的 SharePoint Foundation 2010 Web 应用程序并无特别之处 — Kerberos 身份验证只会将其视为另一个 IIS 网站。

此过程要求了解以下各项:

  • SPN 的服务类(在本文中,对于 SharePoint Foundation 2010 Web 应用程序,它始终是 HTTP)。

  • 使用 Kerberos 身份验证的所有 SharePoint Foundation 2010 Web 应用程序的 URL。

  • SPN 的主机名部分(真实或虚拟,本文对两种情况均有所介绍)。

  • SPN 的端口号部分(在本文所述情形中,基于 IIS 端口和基于 IIS 主机标头的 SharePoint Foundation 2010 Web 应用程序均被使用)。

  • 必须为其创建 SPN 的 Windows Active Directory 帐户。

下表列出了本文所述情形的信息:

URL Active Directory 帐户 SPN

http://wssadmin.mydomain.net:10000

wssfarmadmin

  • HTTP/wssadmin.mydomain.net:10000

  • HTTP/wssadmin.mydomain.net:10000

http://kerbportal.mydomain.net

portalpool

  • HTTP/kerbportal.mydomain.net

  • HTTP/kerbportal

http://kerbmysite.mydomain.net

mysitepool

  • HTTP/kerbmysite.mydomain.net

  • HTTP/kerbmysite

关于此表的注释:

  • 上面列出的第一个 URL 用于管理中心,它使用一个端口号。您不一定非要使用端口 10000。这只是为保证全文统一而使用的示例。

  • 下面两个 URL 分别用于门户网站和“我的网站”。

使用上面的说明在 AD DS 中创建所需的 SPN,以支持用于 SharePoint Foundation 2010 Web 应用程序的 Kerberos 身份验证。您需要使用具有域管理权限的帐户登录到环境中的域控制器。若要创建 SPN,您可以使用前面提到的 SETSPN.EXE 实用工具或 ADSIEDIT.MSC 管理单元。如果使用 ADSIEDIT.MSC 管理单元,请参阅本文前面所述的有关创建 SPN 的说明。请确保在 AD DS 中为正确的帐户创建正确的 SPN。

部署服务器场

部署服务器场包括以下步骤:

  1. 在运行 SharePoint Foundation 2010 的所有服务器上安装 SharePoint Foundation 2010。

  2. 运行 SharePoint 产品配置向导,创建一个新的服务器场。此步骤包括创建 SharePoint Foundation 2010 管理中心 Web 应用程序,该应用程序将在绑定到非默认端口的 IIS 虚拟服务器上承载并使用 Kerberos 身份验证。

  3. 运行 SharePoint 产品配置向导并将其他服务器加入到服务器场中。

  4. 在服务器场的服务器上为以下各项配置服务:

    • SharePoint Foundation 2010 Search Service

    • SharePoint Foundation 2010 搜索索引

    • SharePoint Foundation 2010 搜索查询

  5. 创建用于门户网站和“我的网站”并使用 Kerberos 身份验证的 Web 应用程序。

  6. 使用门户网站 Web 应用程序中的协作门户模板创建网站集。

  7. 确认是否可成功访问使用 Kerberos 身份验证的 Web 应用程序。

  8. 确认搜索索引功能是否正确。

  9. 确认搜索查询功能是否正确。

在所有服务器上安装 SharePoint Foundation 2010

这是运行 SharePoint Foundation 2010 安装程序以在运行 SharePoint Foundation 2010 的服务器上安装 SharePoint Foundation 2010 二进制文件的简单过程。使用帐户 mydomain\pscexec 登录到运行 SharePoint Foundation 2010 的每台计算机。没有提供此操作的分步说明。对于本文所述的情形,在需要 SharePoint Foundation 2010 的所有服务器上执行 SharePoint Foundation 2010 的“完整”安装。

新建一个服务器场。

对于本文所述的情形,请先从 WSSADMIN 搜索索引服务器运行 SharePoint 产品配置向导,以便 WSSADMIN 承载 SharePoint Foundation 2010 管理中心 Web 应用程序。

在名为 WSSCRAWL 的服务器上,当安装完成时,将出现一个“安装完成”对话框,其中用于运行 SharePoint 产品配置向导的复选框已选中。保持此复选框处于选中状态,然后关闭该安装对话框以运行 SharePoint 产品配置向导。

在此计算机上运行 SharePoint 产品配置向导时,请使用以下设置新建一个服务器场:

  • 提供数据库服务器名称(本文中是名为 WSSSQL 的服务器)。

  • 提供配置数据库名称(可使用默认值或自己选择一个名称)。

  • 提供数据库访问(服务器场管理员)帐户信息。在本文所述的情形中,该帐户是 mydomain\wssfarmadmin。

  • 提供 SharePoint Foundation 2010 管理中心 Web 应用程序所需的信息。在本文所述的情形中,这些信息是:

    • 管理中心 Web 应用程序端口号:10000

    • 身份验证方法:协商

在提供了所有所需信息后,SharePoint 产品配置向导将成功完成。如果成功完成,请确认您可以使用 Kerberos 身份验证访问 SharePoint Foundation 2010 管理中心 Web 应用程序主页。为此,请执行下列步骤:

  1. 以 mydomain\pscexec 登录域 mydomain 中运行 SharePoint Foundation 2010 的另一个服务器或另一台计算机。不能在承载 SharePoint Foundation 2010 管理中心 Web 应用程序的计算机上直接验证 Kerberos 身份验证行为是否正确,而应在域中另外一个单独的计算机上进行。

  2. 在该服务器上启动 Internet Explorer,尝试访问以下 URL:http://wssadmin.mydomain.net:10000。此时应显示管理中心主页。

  3. 为确认已使用 Kerberos 身份验证访问管理中心,请返回到名为 WSSADMIN 的计算机,运行事件查看器,然后查看安全日志。应看到一条类似下表的“成功审核”记录:

    事件类型

    成功审核

    事件源

    安全性

    事件类别

    登录/注销

    事件 ID

    540

    日期

    11/1/2007

    时间

    2:22:20 PM

    用户

    MYDOMAIN\pscexec

    计算机

    WSSADMIN

    说明

    下表说明了网络登录成功的一个示例。

    用户名

    pscexec

    MYDOMAIN

    登录 ID

    (0x0,0x1D339D3)

    登录类型

    3

    登录进程

    Kerberos

    身份验证数据包

    Kerberos

    工作站名称

    登录 GUID

    {fad7cb69-21f8-171b-851b-3e0dbf1bdc79}

    调用方用户名

    调用方域

    调用方登录 ID

    调用方进程 ID

    传递服务

    源网络地址

    192.168.100.100

    源端口

    2505

检查此日志记录显示的信息类型是否与上一个日志条目相同:

  • 确认用户名正确;它是通过网络登录到运行 SharePoint Foundation 2010 并承载管理中心的服务器时所使用的 mydomain\pscexec 帐户。

  • 确认登录类型为 3;登录类型 3 是网络登录。

  • 确认登录进程和验证包均使用 Kerberos 身份验证。这确认了 Kerberos 身份验证已用于访问管理中心 Web 应用程序。

  • 确认源网络地址与发起连接的计算机的 IP 地址匹配。

如果管理中心主页无法显示,而显示“未经授权”错误消息,则 Kerberos 身份验证失败。导致失败的原因通常只有两个:

  • AD DS 中的 SPN 没有为正确的帐户注册。应该为 mydomain\wssfarmadmin 注册。

  • AD DS 中的 SPN 与 Internet Explorer 创建的 SPN 不匹配或无效。您可能忽略了在 AD DS 中注册的 SPN 的端口号。请使用 Kerberos 身份验证确保设置正确且管理中心能正常运行,然后才能继续。

备注

可用于查看网络情况的诊断辅助工具称为网络探查器,如 Microsoft 网络监视器,它可以在浏览管理中心时进行跟踪记录。在身份验证失败后,请检查跟踪记录并查找 KerberosV5 协议数据包。查找一个具有 Internet Explorer 创建的 SPN 的数据包。如果跟踪记录中的 SPN 是正确的,则 AD DS 中的 SPN 无效或注册的帐户不正确。

将其他服务器加入服务器场

在创建了服务器场并能使用 Kerberos 身份验证成功访问管理中心后,您需要运行 SharePoint 产品配置向导,并将其他服务器加入服务器场。

在运行 SharePoint Foundation 2010 的所有其他四个服务器(wssfe1、wssfe2、wssquery 和 wsscrawl)上,SharePoint Foundation 2010 安装应已完成,并应显示安装完成对话框,并选中了 SharePoint 产品配置向导复选框。保留此复选框的选中状态,关闭安装完成对话框以运行 SharePoint 产品配置向导。执行操作将所有这些服务器加入到服务器场。

当添加到服务器场的每个服务器上的 SharePoint 产品配置向导完成时,请确认每个服务器都可以显示服务器 WSSADMIN 上运行的管理中心。如果任何一个服务器无法呈现管理中心,请采取适当步骤解决问题,然后才能继续。

配置服务器场中的服务器上的服务

使用下面各节中指出的帐户,配置要在服务器场中运行 SharePoint Foundation 2010 的特定服务器上运行的特定 SharePoint Foundation 2010 服务。

备注

本节不对用户界面展开深入说明,只提供简要介绍。您应熟悉管理中心及相应步骤,然后才能继续。

访问管理中心,执行以下步骤以使用指定的帐户配置指定的服务器上的服务。

Windows SharePoint Services 搜索

在管理中心的“服务器”页的“服务”上:

  1. 选择服务器 WSSQUERY。

  2. 在网页中间附近显示的服务列表中,找到 SharePoint Foundation 2010 Search Service,然后单击“操作”列中的“启动”。

  3. 在下一页上,输入 SharePoint Foundation 2010 搜索服务帐户和 SharePoint Foundation 2010 内容访问帐户的凭据。在本文所述的情形中,SharePoint Foundation 2010 搜索服务帐户是 mydomain\wsssearch,SharePoint Foundation 2010 内容访问帐户是 mydomain\wsscrawl。在该页的相应位置键入帐户名称和密码,然后单击“启动”。

索引服务器

在管理中心的“服务器”页的“服务”上:

  1. 选择服务器 WSSCRAWL。

  2. 在网页中间附近显示的服务列表中,找到 SharePoint Foundation 2010 Search Service,然后单击“操作”列中的“启动”。

在下一页上,选中“使用此服务器索引内容”复选框,然后输入 SharePoint Foundation 2010 搜索服务帐户的凭据。在本文所述的情形中,SharePoint Foundation 2010 搜索服务帐户是 mydomain\wsssearch。在该页的相应位置键入帐户名称和密码,然后单击“启动”。

查询服务器

在管理中心的“服务器”页的“服务”上:

  1. 选择服务器 WSSQUERY。

  2. 在网页中间附近显示的服务列表中,找到 SharePoint Foundation 2010 Search Service,然后单击“服务”列中的服务名称。

在下一页上,选中“使用此服务器提供搜索查询服务”复选框,然后单击“确定”。

创建使用 Kerberos 身份验证的 Web 应用程序

在本节中,会创建用于服务器场中门户网站和“我的网站”的 Web 应用程序。

备注

本节不对用户界面展开深入说明,只提供简要介绍。您应熟悉管理中心及相应步骤,然后才能继续。

创建门户网站 Web 应用程序

  1. 在管理中心的“应用程序管理”页上,单击“创建或扩展 Web 应用程序”。

  2. 在下一页上,单击“新建 Web 应用程序”。

  3. 在下一页上,确保选中“新建 IIS 网站”。

    • 在“说明”字段中,键入 PortalSite

    • 在“端口”字段中,键入 80

    • 在“主机标头”字段中,键入 kerbportal.mydomain.net

  4. 确保选择“协商”作为此 Web 应用程序的身份验证提供程序。

  5. 在“默认”区域创建此 Web 应用程序。请勿修改此 Web 应用程序的区域。

  6. 确保选中“新建应用程序池”。

    • 在“应用程序池名称”字段中,键入 PortalAppPool

    • 确保选中“可配置”。在“用户名”字段中,键入帐户 mydomain\portalpool

  7. 单击“确定”。

  8. 确认已成功创建 Web 应用程序。

备注

若要使用 SSL 连接,并将 Web 应用程序绑定到端口 443,请在“新建 Web 应用程序”页的“端口”字段中键入 443,并选中“使用 SSL”。此外,必须安装 SSL 通配符证书。在使用配置了 SSL 的 IIS 网站上所绑定的 IIS 主机标头时,必须使用 SSL 通配符证书。有关 IIS 中的 SSL 主机标头的详细信息,请参阅配置 SSL 主机标头 (IIS 6.0)(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=111285&clcid=0x804)(该链接可能指向英文页面)。

创建“我的网站”Web 应用程序

  1. 在管理中心的“应用程序管理”页上,单击“创建或扩展 Web 应用程序”。

  2. 在下一页上,单击“新建 Web 应用程序”。

  3. 在下一页上,确保选中“新建 IIS 网站”。

    • 在“说明”字段中,键入 MySite

    • 在“端口”字段中,键入 80

    • 在“主机标头”字段中,键入 kerbmysite.mydomain.net

  4. 确保选择“协商”作为此 Web 应用程序的身份验证提供程序。

  5. 在“默认”区域创建此 Web 应用程序。请勿修改此 Web 应用程序的区域。

  6. 确保选中“新建应用程序池”。

    • 在“应用程序池名称”字段中,键入 MySiteAppPool

    • 确保选中“可配置”。在“用户名”字段中,键入帐户 mydomain\mysitepool

  7. 单击“确定”。

  8. 确认已成功创建 Web 应用程序。

备注

若要使用 SSL 连接,并将 Web 应用程序绑定到端口 443,请在“新建 Web 应用程序”页的“端口”字段中键入 443,并选中“使用 SSL”。此外,必须安装 SSL 通配符证书。在使用配置了 SSL 的 IIS 网站上所绑定的 IIS 主机标头时,必须使用 SSL 通配符证书。有关 IIS 中的 SSL 主机标头的详细信息,请参阅配置 SSL 主机标头 (IIS 6.0)(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=111285&clcid=0x804)(该链接可能指向英文页面)。

使用门户网站 Web 应用程序中的协作门户模板创建网站集

在本节中,您将在特意创建的 Web 应用程序中的门户网站上创建一个网站集。

备注

本节不对用户界面展开深入说明,只提供简要介绍。您应熟悉管理中心及相应步骤,然后才能继续。

  1. 在管理中心的“应用程序管理”页上,单击“创建网站集”。

  2. 在下一页上,确保选择了正确的 Web 应用程序。对于本文中的示例,选择“http://kerbportal.mydomain.net”。

  3. 输入要用于此网站集的标题和说明。

  4. 保留网站地址不变。

  5. 在“选择模板”下的“模板选择”部分,单击“发布”选项卡,然后选择“协作门户”模板。

  6. 在“网站集主管理员”部分,键入 mydomain\pscexec

  7. 指定要使用的网站集第二管理员。

  8. 单击“确定”。

  9. 确认已成功创建门户网站集。

确认是否可成功访问使用 Kerberos 身份验证的 Web 应用程序

确认 Kerberos 身份验证正用于最新创建的 Web 应用程序。从门户网站开始确认。

为此,请执行下列步骤:

  1. 以 mydomain\pscexec 登录运行 SharePoint Foundation 2010 的服务器,而非配置了 NLB 的两台前端 Web 服务器。不能在承载使用 Kerberos 身份验证的负载平衡网站的计算机上直接验证 Kerberos 身份验证行为是否正确,而应在域中单独的计算机上进行。

  2. 在这个另外的系统上启动 Internet Explorer,尝试访问以下 URL:http://kerbportal.mydomain.net。

应显示经过 Kerberos 身份验证的门户网站的主页。

为了确认 Kerberos 身份验证已用于访问门户网站,请在其中一台经过负载平衡的前端 Web 服务器上运行事件查看器,并查看安全日志。在其中一台前端 Web 服务器上,应看到一条类似下表的“成功审核”记录。注意,可能两个前端 Web 服务器都需要查看才能找到该记录,具体取决于系统在哪台服务器上处理负载平衡请求。

事件类型

成功审核

事件源

安全性

事件类别

登录/注销

事件 ID

540

日期

11/1/2007

时间

5:08:20 PM

用户

MYDOMAIN\pscexec

计算机

wssfe1

说明

下表说明了网络登录成功的一个示例。

用户名

pscexec

MYDOMAIN

登录 ID

(0x0,0x1D339D3)

登录类型

3

登录进程

Kerberos 身份验证

工作站名称

登录 GUID

{fad7cb69-21f8-171b-851b-3e0dbf1bdc79}

调用方用户名

调用方域

调用方登录 ID

调用方进程 ID

传递服务

源网络地址

192.168.100.100

源端口

2505

检查此日志记录显示的信息类型是否与上一个日志条目相同:

  • 确认用户名正确;它是通过网络登录到运行 SharePoint Foundation 2010 并承载门户网站的前端 Web 服务器时所使用的 mydomain\pscexec 帐户。

  • 确认登录类型为 3;登录类型 3 是网络登录。

  • 确认登录进程和验证包均使用 Kerberos 身份验证。这确认了 Kerberos 身份验证已用于访问门户网站。

  • 确认源网络地址与发起连接的计算机的 IP 地址匹配。

如果无法显示门户网站的主页,而显示“未经授权”错误消息,则 Kerberos 身份验证失败。其常见原因通常只有以下两种:

  • AD DS 中的 SPN 没有为正确的帐户注册。应当为门户网站的 Web 应用程序的 mydomain\portalpool 注册。

  • AD DS 中的 SPN 与 Internet Explorer 创建的 SPN 不匹配,或因其他原因无效。在这种情况下,由于您使用的 IIS 主机标头没有具体的端口号,在 AD DS 中注册的 SPN 将与扩展 Web 应用程序时指定的 IIS 主机标头不同。需要解决此问题才能使 Kerberos 身份验证正常使用。

备注

可用于查看网络情况的诊断辅助工具称为网络探查器,如 Microsoft 网络监视器,它可以在浏览管理中心时进行跟踪记录。在身份验证失败后,请检查跟踪记录并查找 KerberosV5 协议数据包。应查找一个具有 Internet Explorer 创建的 SPN 的数据包。如果跟踪记录中的 SPN 是正确的,则 AD DS 中的 SPN 无效或该 SPN 所注册的帐户不正确。

在 Kerberos 身份验证可用于门户网站后,请使用下面的 URL 转到经过 Kerberos 身份验证的“我的网站”:

备注

第一次访问“我的网站”URL 时,SharePoint Foundation 2010 将需要一定的时间为登录的用户创建“我的网站”。但是,应当能够创建成功,并能显示该用户的“我的网站”页。

此过程应正常工作。如果无法工作,请参阅前面所述的疑难解答步骤。

确认搜索索引功能是否正确

确认搜索索引能成功对此服务器场中承载的内容进行爬网。这是确认用户访问使用 Kerberos 身份验证的网站时得到的搜索查询结果之前必须执行的步骤。

备注

本节不对用户界面展开深入说明,只提供简要介绍。您应熟悉管理中心及相应步骤,然后才能继续。
若要确认搜索索引功能,请访问 Web 应用程序并启动完全爬网。等待爬网完成。如果爬网失败,则必须查明原因并更正错误,然后再运行完全爬网。如果爬网失败并显示“拒绝访问”错误,则可能是因为爬网帐户不具有这些内容源的访问权限,或因为 Kerberos 身份验证失败。无论是什么原因,必须先解决此问题,然后才能进入下面的步骤。

必须完成对经过 Kerberos 身份验证的 Web 应用程序的完全爬网,然后才能继续。

确认搜索查询功能是否正确

确认用户访问使用 Kerberos 身份验证的门户网站时返回的搜索查询结果:

  1. 在 mydomain.net 的某个系统上启动 Internet Explorer,转到 http//kerbportal.mydomain.net。

  2. 在显示门户网站的主页时,在“搜索”字段中键入一个搜索关键字,然后按“Enter”。

  3. 确认返回了搜索查询结果。如果未返回结果,请确认输入的关键字在部署中是否有效、搜索索引是否正常运行、Search Service 是否正在搜索索引和搜索查询服务器上运行,以及搜索索引服务器到搜索查询服务器的搜索传播不存在问题。

配置限制

创建的新格式 SPN 的主机名部分将是运行服务的主机的 NetBIOS 名称,例如:MSSP/kerbtest4:56738/SSP1。这是因为主机名是从 SharePoint Foundation 2010 配置数据库获取的,而只有 NetBIOS 计算机名存储在 SharePoint Foundation 2010 配置数据库中。在某些情形下这可能比较容易混淆。

其他资源和疑难解答指南

产品/技术 资源

SQL Server

如何确保在创建到 SQL Server 2005 实例的远程连接时使用 Kerberos 身份验证 (https://go.microsoft.com/fwlink/?linkid=85942&clcid=0x804)

SQL Server

如何排查“不能产生 SSPI 上下文”错误消息 (https://go.microsoft.com/fwlink/?linkid=82932&clcid=0x804)

.NET Framework

AuthenticationManager.CustomTargetNameDictionary 属性(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=120460&clcid=0x804)(该链接可能指向英文页面)

Internet Explorer

当您尝试访问基于 Windows XP 的计算机上需进行 Kerberos 身份验证的网站时,Internet Explorer 中显示错误消息:“HTTP 错误 401 - 未经授权:凭据无效,拒绝访问” (https://go.microsoft.com/fwlink/?linkid=120462&clcid=0x804)

Kerberos 身份验证

Kerberos 身份验证技术参考(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=78646&clcid=0x804)(该链接可能指向英文页面)

Kerberos 身份验证

排查 Kerberos 错误(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=93730&clcid=0x804)(该链接可能指向英文页面)

Kerberos 身份验证

Kerberos 协议转换和约束委派(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=100941&clcid=0x804)(该链接可能指向英文页面)

IIS

配置 SSL 主机标头 (IIS 6.0)(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=120463&clcid=0x804)(该链接可能指向英文页面)