配置 Kerberos 身份验证 (Office SharePoint Server)

本文内容:

  • 关于 Kerberos 身份验证

  • 开始之前

  • 配置用于 SQL 通信的 Kerberos 身份验证

  • 将 Internet Explorer 配置为在服务主体名称中包括端口号

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

  • 部署服务器场

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

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

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

  • 为服务器场创建共享服务提供程序

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

  • 确认搜索索引功能正确

  • 确认搜索查询功能正确

  • 配置用于 Kerberos 身份验证的 SSP 基础结构

  • 在 Active Directory 中注册 SSP 服务帐户的新自定义格式 SPN

  • 运行 Stsadm 命令行工具将 SSP 基础结构设置为使用 Kerberos 身份验证

  • 在运行 Office SharePoint Server 的所有服务器上添加一个新的注册表项以启用新的自定义格式 SPN 生成

  • 确认用于根目录级共享服务访问的 Kerberos 身份验证

  • 确认用于虚拟目录级共享服务访问的 Kerberos 身份验证

  • 配置限制

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

关于 Kerberos 身份验证

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

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

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

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

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

  • 访问 Office SharePoint Server 2007 共享服务提供程序 (SSP) 基础结构中的 Office SharePoint Server 2007 Web 应用程序的共享服务。

开始之前

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

  • Windows Server 2003

  • Active Directory

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

  • Windows SharePoint Services 3.0

  • Office SharePoint Server 2007

  • Windows Internet Explorer

  • Kerberos 身份验证,它是在用于 Windows Server 2003 的 Active Directory 中实施的

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

  • Active Directory 域中的计算机帐户

  • Active Directory 域中的用户帐户

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

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

  • SharePoint 产品和技术配置向导

  • Windows SharePoint Services 3.0 和 Office SharePoint Server 2007 Web 应用程序

  • 管理中心网页

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

Important重要说明:

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

在 Office SharePoint Server 2007 中用于 SSP 基础结构的 Kerberos 身份验证要求安装 Microsoft Office Server 的基础结构更新。

备注

SSP 是对可向 Web 应用程序及其关联网站提供的一组公用服务和服务数据的逻辑分组。SSP 基础结构可实现服务器场、Web 应用程序和网站集之间的服务共享。Office Server Web 服务网站就是 SSP 基础结构。SSP 基础结构存在于任何运行 Office SharePoint Server 2007(需使用“完整”安装选项部署)的服务器上。Kerberos 身份验证与 Office Server Web 服务网站不兼容,除非安装了 Microsoft Office Server 的基础结构更新。

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

本文不提供安装 Office SharePoint Server 2007 或使用 SharePoint 产品和技术配置指南的详细分步说明。

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

软件版本要求

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

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

已知问题

Kerberos 身份验证无法配置为与 Office SharePoint Server 2007 中的 SSP 基础结构兼容,除非安装了 Microsoft Office Server 的基础结构更新。因此,如果未安装 Microsoft Office Server 的基础结构更新,请忽略本文中有关为 SSP 基础结构配置 Kerberos 身份验证的指导。

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

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

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

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

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

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

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

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

  • 确保搜索索引能使用 Kerberos 身份验证成功爬网 Office SharePoint Server 2007 Web 应用程序。

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

  • 为 SSP 基础结构配置 Kerberos 身份验证(如果安装了 Microsoft Office Server 的基础结构更新)。

其他背景信息

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

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

  • Microsoft .NET Framework。

浏览器是浏览 Office SharePoint Server 2007 Web 应用程序中的网页时所使用的客户端。当 Office SharePoint Server 2007 执行诸如爬网本地 Office SharePoint Server 2007 内容源或调用 SSP 基础结构等任务时,.NET Framework 将作为客户端运行。

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

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

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

在运行 Office SharePoint Server 2007 的服务器场中,默认情况下 .NET Framework 不会创建包含端口号的 SPN。这就是使用 Kerberos 身份验证的 Web 应用程序在绑定到非默认端口的 IIS 虚拟服务器上承载时,搜索无法爬网这些 Web 应用程序的原因。这也是 Kerberos 身份验证无法正确配置并用于 SSP 基础结构的原因,除非安装了 Microsoft Office Server 的基础结构更新。

服务器场拓扑

本文针对以下 Office SharePoint Server 2007 服务器场拓扑:

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

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

  • 运行 Windows Server 2003 的一台计算机,用作运行 Office SharePoint Server 2007 的服务器场的 SQL 主机。对于本文所述情形,可以使用 Microsoft SQL Server 2000 SP4 或 Microsoft SQL Server 2005 SP2。

本文包括在服务器场中配置一个 SSP 的说明。

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

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

服务器角色 域名

Active Directory

mydomain.net

运行 Office SharePoint Server 2007 的前端 Web 服务器

mossfe1.mydomain.net

运行 Office SharePoint Server 2007 的前端 Web 服务器

mossfe2.mydomain.net

Office SharePoint Server 2007 管理中心

mossadmin.mydomain.net

运行 Office SharePoint Server 2007 的搜索索引

mosscrawl.mydomain.net

运行 Office SharePoint Server 2007 的搜索查询

mossquery.mydomain.net

运行 Office SharePoint Server 2007 的 SQL Server 主机

mosssql.mydomain.net

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

  • kerbportal.mydomain.net

  • kerbmysite.mydomain.net

  • kerbsspadmin.mydomain.net

Active Directory 域帐户约定

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

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

本地管理员帐户

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

  • 用于 Office SharePoint Server 2007 安装和 SharePoint 产品和技术配置向导运行方式的用户

mydomain\pscexec

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

mydomain\sqladmin

SQL Server 服务帐户,用于运行 SQL 主机上的 SQL Server 服务

mydomain\mosssqlsvc

Office SharePoint Server 2007 服务器场管理员帐户

mydomain\mossfarmadmin

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

门户网站 Web 应用程序的 Office SharePoint Server 2007 应用程序池标识

mydomain\portalpool

“我的网站”Web 应用程序的 Office SharePoint Server 2007 应用程序池标识

mydomain\mysitepool

共享服务管理网站的 Office SharePoint Server 2007 应用程序池标识

mydomain\sspadminpool

Office SharePoint Server 2007 SSP 服务帐户

mydomain\sspsvc

Windows SharePoint Services 3.0 搜索服务帐户

mydomain\wsssearch

Windows SharePoint Services 3.0 搜索内容访问帐户

mydomain\wsscrawl

Office SharePoint Server 2007 搜索服务帐户

mydomain\mosssearch

Office SharePoint Server 2007 内容访问帐户

mydomain\mosscrawl

基本配置要求

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

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

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

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

  • SharePoint 产品和技术配置向导运行方式的用户:

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

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

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

配置用于 SQL 通信的 Kerberos 身份验证

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

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

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

  • 主机名(真实或虚拟)

  • 端口号

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

  • MSSQLSvc/mosssql:1433

  • MSSQLSvc/mosssql.mydomain.com:1433

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

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

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

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

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

为 SQL Server 服务帐户创建 SPN

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

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

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

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

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

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

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

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

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

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

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

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

  • SQL 主机上使用 SQL Server 2005 SP2。

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

  1. 运行 SQL Server 2005 Management Studio。

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

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

    事件类型

    成功审核

    事件源

    安全

    事件类别

    登录/注销

    事件 ID

    540

    日期

    10/31/2007

    时间

    4:12:24 PM

    用户

    MYDOMAIN\pscexec

    计算机

    MOSSSQL

    说明

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

    用户名

    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 身份验证。这就确认了运行 Office SharePoint Server 2007 的服务器是使用 Kerberos 身份验证与 SQL 主机进行通信。

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

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

将 Internet Explorer 配置为在服务主体名称中包括端口号

许多 Internet Explorer 版本在所创建的 SPN 中不包含端口号。要确定您是否使用存在此问题的 Internet Explorer 6 版本以及所需的解决步骤,请参阅 Microsoft 知识库文章在 Windows XP 和 Windows Server 2003 中 Internet Explorer 6 不能使用 Kerberos 身份验证协议连接到使用非标准端口的网站 (https://go.microsoft.com/fwlink/?linkid=99681&clcid=0x804)。请仔细检查本文中引用的 DLL 的版本号,以确定您所使用的 Internet Explorer 版本是否需要本文中所述的修补程序。如果您的 Internet Explorer 版本不创建具有端口号的 SPN,且您使用在绑定到非默认端口的 IIS 虚拟服务器上承载的 Office SharePoint Server 2007 Web 应用程序,则必须应用此修补程序才能访问使用您的 Internet Explorer 版本的 Web 应用程序。在本文的这种情况下,必须确保您所使用的 Internet Explorer 版本在其创建的 SPN 中包含端口号,这是因为添加到 Active Directory 用于管理中心 Web 应用程序的 SPN 将包含端口号。

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

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

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

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

  • 使用 Kerberos 身份验证的所有 Office SharePoint Server 2007 Web 应用程序的 URL。

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

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

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

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

URL Active Directory 帐户 SPN

http://mossadmin.mydomain.net:10000

mossfarmadmin

  • HTTP/mossadmin.mydomain.net:10000

  • HTTP/mossadmin.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

http://kerbsspadmin.mydomain.net/ssp/admin

sspadminpool

  • HTTP/kerbsspadmin.mydomain.net

  • HTTP/kerbsspadmin

关于此表的注释:

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

  • 下面的三个 URL 分别用于门户网站、“我的网站”和共享服务管理网站。

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

部署服务器场

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

  1. 在运行 Office SharePoint Server 2007 的所有服务器上安装 Office SharePoint Server 2007。

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

  3. 运行 SharePoint 产品和技术配置向导,将其他服务器加入服务器场。

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

    • Windows SharePoint Services 3.0 搜索服务

    • Office SharePoint Server 2007 搜索索引

    • Office SharePoint Server 2007 搜索查询

  5. 创建用于门户网站、“我的网站”和共享服务管理网站的使用 Kerberos 身份验证的 Web 应用程序。

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

  7. 创建服务器场的共享服务提供程序。

  8. 确认能成功访问使用 Kerberos 身份验证的 Web 应用程序。

  9. 确认搜索索引功能正确。

  10. 确认搜索查询功能正确。

  11. 配置用于 Kerberos 身份验证的 SSP 基础结构。这是可选步骤,要求安装 Microsoft Office Server 的基础结构更新。

  12. 确认使用 Kerberos 身份验证的 SSP 功能。这是可选步骤,要求安装 Microsoft Office Server 的基础结构更新。

在所有服务器上安装 Office SharePoint Server 2007

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

运行 SharePoint 产品和技术配置向导,创建一个新的服务器场

对于本文所述的情形,先从 MOSSADMIN 搜索索引服务器运行 SharePoint 产品和技术配置向导,这样 MOSSADMIN 将承载 Office SharePoint Server 2007 管理中心 Web 应用程序。

在名为 MOSSCRAWL 的服务器上,当安装完成时,将显示“安装完成”对话框,并选中了复选框以运行 SharePoint 产品和技术配置向导。保留该复选框的选中状态,关闭安装程序对话框以运行 SharePoint 产品和技术配置向导。

在该计算机上运行 SharePoint 产品和技术配置向导时,使用以下设置通过向导创建一个新的服务器场:

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

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

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

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

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

    • 身份验证方法:协商

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

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

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

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

    事件类型

    成功审核

    事件源

    安全

    事件类别

    登录/注销

    事件 ID

    540

    日期

    11/1/2007

    时间

    2:22:20 PM

    用户

    MYDOMAIN\pscexec

    计算机

    MOSSADMIN

    说明

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

    用户名

    pscexec

    MYDOMAIN

    登录 ID

    (0x0,0x1D339D3)

    登录类型

    3

    登录进程

    Kerberos

    验证包

    Kerberos

    工作站名称

    登录 GUID

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

    调用方用户名

    调用方域

    调用方登录 ID

    调用方进程 ID

    传递服务

    源网络地址

    192.168.100.100

    源端口

    2505

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

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

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

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

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

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

  • Active Directory 中的 SPN 没有为正确的帐户注册。应该为 mydomain\mossfarmadmin 注册。

  • Active Directory 中的 SPN 与 Internet Explorer 创建的 SPN 不匹配,或无效。导致这种情况的最常见原因是 Internet Explorer 未创建包含正确端口号的 SPN。请参阅上面的将 Internet Explorer 配置为在服务主体名称中包括端口号一节以解决此问题。您还可能漏掉了在 Active Directory 中注册的 SPN 的端口号。不管是哪种情况,请使用 Kerberos 身份验证确保设置正确且管理中心能正常运行,然后才能继续。

备注

可用于查看网络情况的诊断辅助工具称为网络探查器,如 Microsoft 网络监视器,它可以在浏览管理中心时进行跟踪记录。在身份验证失败后,请检查跟踪记录并查找 KerberosV5 协议数据包。查找一个具有 Internet Explorer 创建的 SPN 的数据包。如果该 SPN 不包含端口号,则您需要应用将 Internet Explorer 配置为在服务主体名称中包括端口号一节中所述的修补程序。如果跟踪记录中的 SPN 是正确的,则 Active Directory 中的 SPN 无效或注册的帐户不对。

运行 SharePoint 产品和技术配置向导,将其他服务器加入服务器场

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

在运行 Office SharePoint Server 2007 的其他四个服务器(mossfe1、mossfe2、mossquery 和 mosscrawl)上,Office SharePoint Server 2007 安装应已完成,应显示安装完成对话框,并选中了 SharePoint 产品和技术配置向导复选框。保留该复选框的选中状态,关闭安装完成对话框以运行 SharePoint 产品和技术配置向导。执行操作将这些服务器加入服务器场。

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

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

使用下面的内容里指定的帐户,配置要在服务器场中运行 Windows SharePoint Services 3.0 和 Office SharePoint Server 2007 的特定服务器上运行的特定 Windows SharePoint Services 3.0 和 Office SharePoint Server 2007 服务。

备注

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

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

Windows SharePoint Services 搜索

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

  1. 选择服务器 MOSSQUERY。

  2. 在网页中间附近显示的服务列表中,找到 Windows SharePoint Services 3.0 搜索服务,再单击“操作”列中的“启动”。

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

索引服务器

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

  1. 选择服务器 MOSSCRAWL。

  2. 在网页中间附近显示的服务列表中,找到 Office SharePoint Server 2007 搜索服务,再单击“操作”列中的“启动”。

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

查询服务器

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

  1. 选择服务器 MOSSQUERY。

  2. 在网页中间附近显示的服务列表中,找到 Office SharePoint Server 2007 搜索服务,再单击“服务”列中的服务名称。

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

创建使用 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 应用程序

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

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

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

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

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

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

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

  5. 在“默认”区域创建此 Web 应用程序。不要更改此 Web 应用程序的区域。

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

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

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

  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. 确认已成功创建门户网站集。

为服务器场创建共享服务提供程序

为服务器场创建共享服务提供程序。

备注

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

  1. 在管理中心的“应用程序管理”页上,单击“创建或配置此服务器场的共享服务”。

  2. 在下一页上,单击“新建 SSP”。

  3. 在下一页的“SSP 名称”部分,在“SSP 名称”字段中键入 SSP1。然后在“Web 应用程序”字段中,选择为共享服务管理网站 Web 应用程序创建的 Web 应用程序。在本文的示例中,选择名为“SSPAdminSite”的 Web 应用程序。

    • 在“MySite”部分的“Web 应用程序”字段中,选择为“我的网站”创建的 Web 应用程序。在本文的示例中,选择名为“MySite”的 Web 应用程序。

    • 在“SSP 服务凭据”部分的“用户名”字段中,键入 mydomain\sspsvc。

  4. 单击“确定”。

  5. 确认已成功创建服务器场的 SSP。

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

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

为此,请执行下列步骤:

  1. 以 mydomain\pscexec 登录运行 Office SharePoint Server 2007 的服务器,而非配置了 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

计算机

mossfe1

说明

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

用户名

pscexec

MYDOMAIN

登录 ID

(0x0,0x1D339D3)

登录类型

3

登录进程

Kerberos 身份验证

工作站名称

登录 GUID

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

调用方用户名

调用方域

调用方登录 ID

调用方进程 ID

传递服务

源网络地址

192.168.100.100

源端口

2505

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

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

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

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

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

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

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

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

备注

可用于查看网络情况的诊断辅助工具称为网络探查器,如 Microsoft 网络监视器,它可以在浏览管理中心时进行跟踪。在身份验证失败后,请检查跟踪记录并查找 KerberosV5 协议数据包。应查找一个具有 Internet Explorer 创建的 SPN 的数据包。如果该 SPN 不包含端口号,则您需要应用将 Internet Explorer 配置为在服务主体名称中包括端口号一节中说明的修补程序。如果记录中的 SPN 是正确的,则 Active Directory 中的 SPN 无效或 SPN 的注册帐户不对。

在 Kerberos 身份验证能在门户网站中正常使用后,使用以下 URL 转到经过 Kerberos 身份验证的“我的网站”和共享服务管理网站:

备注

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

这两个操作应该都可以正常进行。如果不是这样,请参阅前面所述的疑难解答步骤。

确认搜索索引功能正确

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

备注

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

  1. 访问共享服务管理网站 Web 应用程序,网址为:http://kerbsspadmin.mydomain.net/ssp/admin。

  2. 在该页上,单击“搜索设置”。

  3. 在下一页上,单击“内容源和爬网计划”。

  4. 在下一页上,访问“Office SharePoint Server 内容源”的 ECB,从下拉列表中选择“启动完全爬网”。

  5. 等待爬网完成。如果爬网失败,则必须查明原因并更正错误,然后在运行完全爬网。如果爬网失败并显示“拒绝访问”错误,可能是因为爬网帐户不具有这些内容源的访问权限,或因为 Kerberos 身份验证失败。无论是什么原因,必须先解决此问题,然后才能进入下一步。

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

确认搜索查询功能正确

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

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

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

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

配置用于 Kerberos 身份验证的 SSP 基础结构

备注

这是可选步骤,要求安装 Microsoft Office Server 的基础结构更新。如果不安装 Microsoft Office Server 的基础结构更新,则无法为 Office SharePoint Server 2007 正确配置 Kerberos 身份验证。

Microsoft Office Server 的基础结构更新包含一个新的自定义格式 SPN,可用于 SSP 基础结构的 Kerberos 身份验证。该自定义格式 SPN 包括一个新的服务类:MSSP。该自定义格式 SPN 采用以下格式:MSSP/<主机:端口>/<SSP 名称>。

该自定义格式 SPN 设置了一个 .NET Framework 属性,指示 .NET Framework 使用给定的 URL 的特定 SPN。.NET Framework 用于在服务器间调用 Office SharePoint Server 2007 SSP 基础结构 Web 服务。

如果查看 Office SharePoint Server 2007 应用程序服务器上的 SSP 基础结构,将看到 IIS 的根目录级和虚拟目录级都存在一个搜索共享服务。在 IIS 的虚拟目录级还存在一个 Excel Calculation Services (ECS) 共享服务。为 Kerberos 身份验证配置 SSP 基础结构后,Kerberos 将用于访问根目录级和虚拟目录级的共享服务。

不需要注册根目录级 Web 服务的 SPN,只需注册虚拟目录级 Web 服务的 SPN。这是因为,将计算机加入域时,将在该域中为计算机帐户自动注册一个主机级的 SPN,该 SPN 将用于根目录级 Web 服务。但是,需要注册与服务器场中的 SSP 实际相关的虚拟目录对应的 SPN。

要成功为 Kerberos 身份验证配置 SSP 基础结构,必须执行以下步骤:

  1. 在 Active Directory 中为 SSP 服务帐户注册新的自定义格式 SPN。

  2. 运行 Stsadm 命令行工具将 SSP 基础结构设置为使用 Kerberos 身份验证。

  3. 在运行 Office SharePoint Server 2007 的所有服务器上添加一个新的注册表项以启用新的自定义格式 SPN 生成。

  4. 确认根目录级共享 Web 服务访问的 Kerberos 身份验证。

  5. 确认虚拟目录级共享 Web 服务访问的 Kerberos 身份验证。

备注

在上述过程中,步骤 4 和步骤 5 适用于 searchadmin.asmx 共享 Web 服务。这个与搜索相关的共享 Web 服务同时位于 SSP 基础结构的根目录级和虚拟目录级。根目录级搜索共享服务可看作全局 Web 服务,适用于 Office SharePoint Server 2007 管理中心的服务器级的“服务”上的 Office SharePoint Server 2007 搜索服务设置配置。虚拟目录级搜索共享服务对应于服务器场中特定的 SSP,用于配置共享服务管理网站上该 SSP 的特定搜索设置。在执行操作步骤来验证用于根目录级共享服务访问的 Kerberos 身份验证时,将看不到新格式的 SPN 的生成或使用。只会在访问虚拟目录级 Web 服务时看到新格式的 SPN;但是,需要验证在这两个级别均可访问共享服务。

在 Active Directory 中注册 SSP 服务帐户的新自定义格式 SPN

在本文中,SSP 服务帐户是 mydomain\sspsvc,创建的 SSP 的名称是 SSP1。服务器场中所有服务器上都存在 SSP 基础结构;因此,必须创建引用所有运行 Office SharePoint Server 2007 的服务器的 SPN。由于 SSP 基础结构绑定到 TCP 端口 56737 和 SSL 端口 56738,您需要包括这两个端口号的 SPN。由于这一原因,每台应用程序服务器都需要两个 SPN。对于本文中的示例,需要创建 10 个 SPN。

执行以下过程为 SSP 基础结构创建 SPN:

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

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

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

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

  5. 找到 SSP 服务帐户(例如 CN=sspsvc)的容器。

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

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

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

  9. 在“多值字符串编辑器”对话框的“要添加的值”字段中,添加以下 SPN:

    • MSSP/mossfe1:56737/SSP1

    • MSSP/mossfe1:56738/SSP1

    • MSSP/mossfe2:56737/SSP1

    • MSSP/mossfe2:56738/SSP1

    • MSSP/mossadmin:56737/SSP1

    • MSSP/mossadmin:56738/SSP1

    • MSSP/mosscrawl:56737/SSP1

    • MSSP/mosscrawl:56738/SSP1

    • MSSP/mossquery:56737/SSP1

    • MSSP/mossquery:56738/SSP1

运行 Stsadm 命令行工具将 SSP 基础结构设置为使用 Kerberos 身份验证

要将 SSP 基础结构设置为使用 Kerberos 身份验证,请执行以下过程:

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

  2. 在运行 Office SharePoint Server 2007 的一个服务器上,打开命令提示符。

  3. 转到以下目录:%COMMONPROGRAMFILES%\microsoft shared\web server extensions\12\bin。

  4. 键入以下命令:stsadm –o setsharedwebserviceauthn –negotiate,然后按 Enter。

确保该命令成功运行才能继续。

完成此过程时,该命令将应用到场中创建的所有 SSP,包括在运行该命令后创建的 SSP。

在运行 Office SharePoint Server 的所有服务器上添加一个新的注册表项以启用新的自定义格式 SPN 生成

新的自定义格式 SPN 的生成是通过 Microsoft Office Server 的基础结构更新引入的新注册表项控制。要启用新的自定义格式 SPN 生成,必须将此注册表项添加到服务器场中的所有服务器,且必须重新启动所有服务器。

在服务器场中的每台服务器上执行以下步骤以启用新行为:

  1. 以本地管理员身份登录。

  2. 运行注册表编辑器,添加以下新注册表项:HKLM\Software\Microsoft\Office Server\12.0\KerberosSpnFormat” (REG_DWORD) = 1

  3. 重新启动服务器。切记,必须重新启动服务器才能使新注册表项生效。

警告

错误地编辑注册表可能严重破坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。

确认用于根目录级共享服务访问的 Kerberos 身份验证

要确认用于根目录级共享服务的 Kerberos 身份验证,请执行以下过程:

  1. 登录承载管理中心 Web 应用程序的计算机。如果使用本文中的示例,请登录 MOSSADMIN。

  2. 转至管理中心,网址为:http://mossadmin.mydomain.net:10000

  3. 在管理中心主页上,单击“操作”。

  4. 在“操作”页上,单击“服务器上的服务”。

  5. 在“服务器”部分,单击下拉箭头以显示服务器场中的服务器列表,再单击您的搜索查询服务器。如果使用本文中的示例,请选择“MOSSQUERY”。

  6. 在刷新网页后,确认您指向正确的查询服务器,然后在“服务”部分,单击“Office SharePoint Server 搜索”。

  7. 确认显示了“配置服务器 mossquery 上的 Office SharePoint Server 搜索服务设置”页。

  8. 执行以下步骤确认 Kerberos 身份验证已用于显示该页:

    • 登录您的搜索查询服务器 — 使用本文中的示例时,登录名为 MOSSQUERY 的 MOSS 计算机。

    • 运行 Windows 事件查看器。

    • 查看安全事件日志,

    • 应看到一条类似下表所示数据的日志记录:

      事件类型

      成功审核

      事件源

      安全

      事件类别

      登录/注销

      事件 ID

      540

      日期

      5/6/2008

      时间

      12:12:17 PM

      用户

      MYDOMAIN\pscexec

      计算机

      MOSSQUERY

      说明

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

用户名

pscexec

MYDOMAIN

登录 ID

(0x0,0x7252B10)

登录类型

3

登录进程

Kerberos

验证包

Kerberos

工作站名称

登录 GUID

{a96a9450-3af5-d82e-3bb3-8cd65c8e5c49}

调用方用户名

调用方域

调用方登录 ID

调用方进程 ID

传递服务

源网络地址

192.168.100.100

源端口

1964

Important重要说明:

对于搜索索引服务器,重复以上过程,以确认显示了相关页,且存在安全事件查看器日志记录,表明 Kerberos 身份验证包已用于访问该网页。

确认用于虚拟目录级共享服务访问的 Kerberos 身份验证

这是使用 Kerberos 身份验证配置和部署运行 Office SharePoint Server 2007 的服务器场的最后一步。

要确认 Kerberos 身份验证已用于访问虚拟目录级共享服务,请执行以下过程:

  1. 转到共享服务管理主页。

  2. 确定哪个经过负载平衡的前端 Web 服务器响应该请求。

  3. 在响应该请求的前端 Web 服务器上,运行网络监视器,应用一个捕获筛选器以捕获 KerberosV5 协议数据包。使用 Network Monitor 3.2 时,捕获筛选器为“protocol.KerberosV5”。

  4. 启动网络监视器探查。

  5. 在共享服务管理网站主页,单击“搜索设置”。

  6. 确认显示了“搜索设置”页。

  7. 停止探查,查看捕获的数据包。应看到 Kerberos 协议数据包,其说明类似以下示例所示:

KerberosV5:AS Request Cname: sspadminpool Realm: MYDOMAIN.NET Sname: krbtgt/MYDOMAIN.NET

KerberosV5:AS Response Ticket Realm: MYDOMAIN.NET, Sname: krbtgt/MYDOMAIN.NET

KerberosV5:TGS Request Realm: MYDOMAIN.NET Sname: MSSP/mosscrawl:56738/SSP1

KerberosV5:TGS Response Cname: sspadminpool

上面示例中的 Sname 值 (MSSP/mosscrawl:56738/SSP1) 是要生成的新格式 SPN,将作为 Microsoft Office Server 的基础结构更新中的更改的结果发送到 Kerberos KDC。

登录索引服务器(在本文的示例中,索引服务器为 MOSSCRAWL)。运行事件查看器,并查看安全日志。应看到一个类似下表所示数据的条目:

事件类型

成功审核

事件源

安全

事件类别

登录/注销

事件 ID

540

日期

5/6/2008

时间

1:21:04 PM

用户

MYDOMAIN\sspadminpool

计算机

MOSSCRAWL

说明

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

用户名

sspadminpool

MOSSCRAWL

登录 ID

(0x0,0xD84A6)

登录类型

3

登录进程

Kerberos

身份验证数据包

Kerberos

工作站名称

登录 GUID

{2f1cccb3-c10d-27e5-9896-0f918e8ad796}

调用方用户名

调用方域

调用方登录 ID

调用方进程 ID

传递服务

源网络地址

192.168.150.100

源端口

1513

配置限制

在使用 Microsoft Office Server 的基础结构更新时,利用 SSP 基础结构的 Kerberos 身份验证有一些配置限制:

  • 创建的新格式 SPN 的主机名部分将是运行服务的主机的 NetBIOS 名称,例如:MSSP/kerbtest4:56738/SSP1。这是因为主机名是从 Office SharePoint Server 2007 配置数据库获取的,而只有 NetBIOS 计算机名存储在 Office SharePoint Server 2007 配置数据库中。在某些情形下这可能比较容易混淆。当前,用于重命名运行 Office SharePoint Server 2007 的服务器的 Stsadm 命令行工具无法成功地用于重命名运行 Office SharePoint Server 2007 的服务器,因此对此问题尚无解决方法。

  • 不要使用包含扩展字符的 SSP 名称。使用包含扩展字符的 SSP 名称的 SPN 无法被选为协商的目标。因此,不能在 SSP 名称中使用扩展字符。

其他资源和疑难解答指南

产品/技术 资源

Windows Server 2003

在安装 Windows SharePoint Services 3.0 后系统日志中记录了事件 ID 10017 错误消息 (https://go.microsoft.com/fwlink/?linkid=120456&clcid=0x804)

SQL Server

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

SQL Server

如何排查“Cannot generate SSPI context”(无法生成 SSPI 上下文)错误消息 (https://go.microsoft.com/fwlink/?linkid=82932&clcid=0x804)

SQL Server

如何配置 SQL Server 2005 Analysis Services 以使用 Kerberos 身份验证 (https://go.microsoft.com/fwlink/?linkid=120459&clcid=0x804)

.NET Framework

AuthenticationManager.CustomTargetNameDictionary 属性 (https://go.microsoft.com/fwlink/?linkid=120460&clcid=0x804)

Windows Internet Explorer

在 Windows XP 和 Windows Server 2003 中 Internet Explorer 6 不能使用 Kerberos 身份验证协议连接到使用非标准端口的网站 (https://go.microsoft.com/fwlink/?linkid=99681&clcid=0x804)

Windows 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 Protocol 转换和约束委派(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=100941&clcid=0x804)(该链接可能指向英文页面)

IIS

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

关于作者

Mark Grossbard 是 Microsoft Office SharePoint Server 的 MOSS Core Test 的一位测试工程师。

下载此书籍

本主题包含在以下可下载书籍内,以方便您阅读和打印:

有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007