规划 Kerberos 身份验证 (SharePoint Server 2010)

 

适用于: SharePoint Foundation 2010, SharePoint Server 2010

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

Microsoft SharePoint Server 2010 支持几种身份验证方法。需要安全身份验证、客户端标识委派和低网络流量的部署可选择 Kerberos 身份验证。有关详细信息,请参阅规划身份验证方法 (SharePoint Server 2010)

本文内容:

  • Kerberos 身份验证和 SharePoint 2010

  • Kerberos 身份验证和基于声明的身份验证

Kerberos 身份验证和 Microsoft SharePoint Server 2010

为什么应考虑 Kerberos 身份验证 为什么 Kerberos 身份验证可能不适用于某个部署方案

Kerberos 是最安全的集成 Windows 身份验证协议,并支持高级安全功能,包括高级加密标准 (AES) 加密和相互身份验证。

Kerberos 身份验证需要额外的基础架构和环境配置才能正常工作。在很多情况下,配置 Kerberos 需要域管理员权限。Kerberos 身份验证可能难以设置和管理。Kerberos 配置不当可能会阻止对您的网站的成功验证。

Kerberos 支持客户端凭据委派。

Kerberos 身份验证需要客户端计算机与密钥发行中心 (KDC) 和 Active Directory 域服务 (AD DS) 域控制器连接。在 Windows 部署中,KDC 是一个 AD DS 域控制器。尽管这是企业环境中的常见网络配置,但面向 Internet 的部署通常不是这样配置的。

Kerberos 支持客户端和服务器的相互身份验证。

在可用的安全身份验证方法中,Kerberos 需要的域控制器网络流量最少。Kerberos 可减少某些情况下的页面延迟,或增加某些情况下前端 Web 服务器可处理的页面的数量。Kerberos 还可降低域控制器上的负载。

Kerberos 是一个受许多平台和供应商支持的开放式协议。

Kerberos 是一种支持使用受信任源提供的票证的身份验证方法的安全协议。Kerberos 票证表示与客户端计算机关联的用户的网络凭据。Kerberos 协议定义了用户与网络身份验证服务交互以获取对网络资源的访问权限的方式。Kerberos KDC 代表用户向客户端计算机颁发票证。客户端计算机建立与服务器的网络连接后,将通过向服务器出示 Kerberos 身份验证票证来请求网络访问。如果该请求包含可接受的用户凭据,KDC 将为其授予访问权限。对于服务应用程序,身份验证票证还必须包含一个可接受的服务主体名称 (SPN)。若要启用 Kerberos 身份验证,客户端和服务器计算机必须已具有与 KDC 的受信任连接。客户端和服务器计算机还必须能够访问 Active Directory 域服务 (AD DS)。

Kerberos 委派

Kerberos 身份验证支持客户端标识委派。这意味着服务可模拟已验证客户端的标识。模拟使服务能够代表客户端将已验证标识传递给其他网络服务。基于声明的身份验证还可用于委派客户端凭据,但要求后端应用程序可以识别声明。某些重要的服务当前无法识别声明。

通过与 Microsoft SharePoint Server 2010 结合使用,Kerberos 委派使前端服务能够对客户端进行身份验证,然后使用该客户端的标识对后端系统进行身份验证。后端系统随后会执行自己的身份验证。当客户端使用 Kerberos 身份验证对前端服务进行身份验证时,Kerberos 委派可用于将客户端的标识传递给后端系统。Kerberos 协议支持以下两种类型的委派:

  • 基本 Kerberos 委派(非约束)

  • Kerberos 约束委派

基本 Kerberos 委派和 Kerberos 约束委派

基本 Kerberos 委派可以跨越同一个林中的域边界,但不能跨越林边界。Kerberos 约束委派不能跨越域或林边界。实现对 SharePoint Server 2010 的 Kerberos 身份验证可能需要使用约束委派,具体取决于作为 SharePoint Server 2010 部署的一部分的服务应用程序。因此,若要部署对以下任一服务应用程序的 Kerberos 身份验证,SharePoint Server 2010 和所有外部数据源都必须位于同一 Windows 域中:

  • Excel Services

  • PerformancePoint Services

  • InfoPath Forms Services

  • Visio Services

若要部署对以下任一服务应用程序的 Kerberos 身份验证,SharePoint Server 2010 可使用基本 Kerberos 委派或 Kerberos 约束委派:

  • Business Data Connectivity Service 和 Microsoft Business Connectivity Services

  • Access Services

  • Microsoft SQL Server Reporting Services (SSRS)

  • Microsoft Project Server 2010

为 Kerberos 身份验证启用的服务可多次委派标识。当某个标识在服务之间传递时,委派方法可以从基本 Kerberos 委派更改为 Kerberos 约束委派,但反过来则不行。委派方法无法从 Kerberos 约束委派更改为基本 Kerberos 委派。因此,预测和规划后端服务是否需要基本 Kerberos 委派十分重要。这可能影响域边界的规划和设计。

启用了 Kerberos 的服务可使用协议转换来将非 Kerberos 标识转换为可委派给其他启用了 Kerberos 的服务的 Kerberos 标识。例如,此功能可用于将前端服务中的非 Kerberos 标识委派给后端服务中的 Kerberos 标识。

重要

协议转换需要 Kerberos 约束委派。因此,经过协议转换的标识不能跨越域边界。

基于声明的身份验证可用作 Kerberos 委派的替代方案。利用基于声明的身份验证,客户端的身份验证声明能在两个不同的服务之间传递,前提是它们满足所有以下条件:

  • 两个服务之间必须存在信任关系。

  • 两个服务必须都可以识别声明。

有关 Kerberos 身份验证的详细信息,请参阅以下资源:

Kerberos 身份验证和基于声明的身份验证

SharePoint Server 2010 支持基于声明的身份验证。基于声明的身份验证是基于 Windows Identity Foundation (WIF)(一组可用于实现基于声明的标识的 .NET Framework 类)构建的。基于声明的身份验证依赖 WS 联合身份验证和 WS 信任之类的标准。有关基于声明的身份验证的详细信息,请参阅以下资源:

在创建 SharePoint Server 2010 Web 应用程序时,可以选择以下两种身份验证模式之一:基于声明的模式或经典模式。对于新的 SharePoint Server 2010 实现,应考虑使用基于声明的身份验证。通过使用基于声明的身份验证,所有受支持的身份验证类型均可供 Web 应用程序使用。

以下服务应用程序需要将基于声明的凭据转换为 Windows 凭据。此转换过程使用“声明为 Windows 令牌服务”(C2WTS):

  • Excel Services

  • PerformancePoint Services

  • InfoPath Forms Services

  • Visio Services

需要 C2WTS 的服务应用程序必须使用 Kerberos 约束委派。这是因为 C2WTS 需要协议转换,而只有 Kerberos 约束委派才支持协议转换。对于前面的列表中的服务应用程序,C2WTS 会将服务器场中的声明转换为 Windows 凭据以进行出站身份验证。请务必了解,仅当传入身份验证方法是基于声明的模式或经典模式时,这些服务应用程序才能利用 C2WTS。通过 Web 应用程序访问的服务应用程序和使用 SAML 声明或基于表单的身份验证声明的服务应用程序不使用 C2WTS,因此无法将声明转换为 Windows 凭据。

有关在九个特定方案中配置 Kerberos 的完整指南(其中包括核心部署、三个 Microsoft SQL Server 解决方案以及一些使用 Excel Services、PowerPivot for SharePoint、Visio Services、PerformancePoint Services 和 Business Connectivity Services 的方案),请参阅为 SharePoint 2010 产品配置 Kerberos 身份验证(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=197178&clcid=0x804)(该链接可能指向英文页面)。