管理业务数据目录的身份验证

Microsoft Office SharePoint Server 2007 的业务数据目录支持两种身份验证模型和三种使用单一登录 (SSO) 来存储用户凭据的身份验证模式。

本文内容:

  • 选择首选身份验证模型和身份验证模式

  • 配置后端应用程序帐户

  • 启用和配置单一登录服务

  • 创建和配置企业应用程序定义

  • 修改和导入应用程序的应用程序定义

  • 任务要求

若要使用 SSO 来管理业务数据目录的身份验证,应针对要集成到部署中的每个数据库或 Web 服务完成本文档中的步骤。

选择首选身份验证模型和身份验证模式

业务数据目录中的应用程序可以使用若干种不同的身份验证模式,而这些模式可以使用两种不同身份验证模型中的一种。

选择身份验证模型

业务数据目录使用的身份验证模型是概念模型,不与任何特定的 XML 或其他配置设置相对应。通过将应用程序定义 XML 文件配置为使用特定帐户来连接到后端服务器,您可以实现身份验证模型。

业务数据目录支持以下身份验证模型:

  • 受信任的子系统

  • 模拟和委派

在“受信任的子系统”模型中,中间层(通常是 Web 服务器)作为固定标识向后端服务器验证。在“模拟和委派”模型中,客户端将身份验证委派给中间层,由中间层模拟客户端并代表客户端向后端服务器验证。每种模型均支持若干种可用于不同集成方案的身份验证模式。

“受信任的子系统”模型具有以下优点:

  • 数据库连接池

  • 管理变得更为简单

  • 应用程序后端服务器的管理员只需管理单个帐户的权限

最好采用“受信任的子系统”进行新的部署。这样,应用程序管理员就不必在后端服务器上为大量用户配置授权权限。相反,他们可以为每个应用程序配置一个帐户,然后在 Office SharePoint Server 中配置授权。

“受信任的子系统”模型使用与企业应用程序定义中的组帐户相关联的服务帐户或数据库帐户。

“模拟和委派”模型具有以下优点:

  • 在后端服务器上审核

  • 在后端服务器上为每个用户授权而无需进行任何其他配置

对于针对每用户授权配置的现有应用程序,最好选择“模拟和委派”模型。在配置“模拟和委派”模型之后,仍需使用后端应用程序上的配置对各个用户进行身份验证。如果组织要管理多个集成到 Office SharePoint Server 部署中的业务线应用程序,而每个应用程序都有自己的必须持续管理的授权设置,则这可能比较麻烦。除非必需在后端服务器进行审核,否则通常最好只在初始部署期间使用“模拟和委派”模型,直到可以配置“受信任的子系统”模型。

“模拟和委派”模型使用单个 Windows 用户帐户以及一个数据库用户帐户(仅用于数据库)或与单个帐户相关联的基于表单的身份验证用户(仅用于 Web 服务)。

选择和配置身份验证模式

下表介绍业务数据目录支持的身份验证模式以及各个模式是否使用 SSO。

身份验证模式

说明

使用 SSO

PassThrough

使用登录用户的凭据向后端服务器上的应用程序进行身份验证。此模式仅适用于“模拟和委派”身份验证模型。PassThrough 身份验证要求启用 Kerberos 委派。

RevertToSelf

使用应用程序池标识帐户向后端服务器验证用户。由于始终使用服务帐户而非个人帐户,因此 RevertToSelf 使用“受信任的子系统”身份验证模型。

WindowsCredentials

用于 Web 服务和数据库。业务数据目录模拟具有企业应用程序定义中的凭据的 Windows 用户帐户并执行 Windows 身份验证。

Credentials

用于使用基本或摘要式身份验证而非 Windows 身份验证的 Web 服务。为帮助确保安全性,在使用 Credentials 身份验证模式时,强烈建议使用安全套接字层 (SSL) 或 Internet 协议安全性 (IPSec) 来保护业务数据目录与后端服务器之间的通道。

RdbCredentials

仅用于后端数据库。业务数据目录使用企业应用程序定义中的凭据进行身份验证。

其中大多数模式均使用配置为企业应用程序定义的个人或组标识,通过 SSO 来存储应用程序凭据。PassThrough 模式使用登录用户的凭据,RevertToSelf 模式使用应用程序池标识帐户验证用户身份。

对于所有 SSO 身份验证模式,企业应用程序定义将对“受信任的子系统”模型使用组帐户,对“模拟和委派”模型使用个人帐户。有关企业应用程序定义的详细信息,请参阅本文档中的“创建和配置企业应用程序定义”一节。

您选择的身份验证模式会影响您在后端服务器上配置的帐户或凭据以及 SSO 设置。下文中的“修改和导入应用程序定义 XML 文件”一节介绍了必须为应用程序定义 XML 文件配置的属性。

有关身份验证模型和身份验证模式的详细信息,请参阅业务数据目录身份验证 (https://go.microsoft.com/fwlink/?linkid=100498&clcid=0x804)。

配置应用程序帐户

在配置 SSO 或应用程序的应用程序定义 XML 文件之前,应为后端服务器上的一个或多个凭据配置授权权限:

  • 如果使用的是“受信任的子系统”身份验证模型,则只需在应用程序上配置一个帐户或一组凭据。

  • 如果使用的是“模拟和委派”身份验证模型,则需要为 SSO 组帐户中为业务数据目录模拟的每个凭据配置授权。如果组织已经在使用某个应用程序,则表明可能已经配置了必要的凭据,因此您可以跳过此步骤。

帐户是在数据库或 Web 服务中配置的,配置详细信息取决于应用程序的特定权限。

启用和配置单一登录服务

如果为业务数据目录选择了使用 SSO 的身份验证模式,则必须在服务器场中的所有前端 Web 服务器上启用和配置 Microsoft Single Sign-On Service (SSOSrv)。如果还要对业务数据目录使用搜索功能,则必须在索引服务器上启用 SSOrv。

该服务的登录帐户必须是:

  • 域用户帐户,不能是组帐户。

  • Office SharePoint Server 服务器场帐户。

  • 加密密钥服务器上本地 Administrators 组的成员。(加密密钥服务器是第一台启动 SSOSrv 的服务器。)

  • 运行 Microsoft SQL Server 的计算机上 Security Administrators 角色和 db_creator 角色的成员。

  • 与 SSO 管理员帐户相同的帐户或者是作为 SSO 管理员帐户的组帐户的成员。

在配置 SSO 服务后,应在管理中心页上配置其他设置。SSO 服务器设置包括单独 SSO 管理员帐户的帐户信息、SSO 数据库服务器和服务器名称以及超时和审核日志设置。

您指定为 SSO 管理员帐户的用户或组必须是:

  • Windows 全局组或个人用户帐户。此帐户不能为域本地组帐户或通讯组列表。

  • 如果指定了用户,则为与单一登录服务帐户相同的帐户。如果指定了组,则单一登录服务帐户必须为该组的成员。

  • 如果指定了用户,则为与 SSO 配置帐户相同的帐户。如果指定了组,则 SSO 配置帐户必须为该组的成员。

  • SharePoint 组“Farm Administrators”的成员。

有关启用和激活单一登录服务的详细信息,请参阅配置和启动 Microsoft Single Sign-On Service。有关配置单一登录服务的详细信息,请参阅配置单一登录 (Office SharePoint Server)

创建和配置企业应用程序定义

配置单一登录服务后,您必须为业务线应用程序创建和配置企业应用程序定义。可以为业务线应用程序、数据库和 Web 服务使用的每个已存储凭据创建一个企业应用程序定义。通常,应为每个应用程序或服务创建一个企业应用程序定义,但是如果有多个使用同一组凭据的应用程序,则只需创建一个企业应用程序定义,即可连接到使用这些凭据的所有应用程序。

备注

SSO 的企业应用程序定义不同于针对每个应用程序或服务导入到业务数据目录中的应用程序定义 XML 文件。您必须创建一个企业应用程序定义,并在应用程序定义 XML 文件中单独引用该定义。

在创建企业应用程序定义之后,必须为企业应用程序定义配置帐户信息。您必须以本地管理员的身份登录到服务器才能完成此过程。

有关创建企业应用程序定义的详细信息,请参阅为业务数据目录创建企业应用程序定义。有关配置企业应用程序定义的详细信息,请参阅为业务数据目录配置企业应用程序定义

修改和导入应用程序定义 XML 文件

在配置 SSO 以及创建和配置企业应用程序定义后,您必须修改应用程序定义以包含应用程序的身份验证模式、应用程序使用的 ISsoProvider 接口的实现以及应用程序的企业应用程序 ID。可在应用程序定义 XML 文件的 LOBSystemInstance 对象中配置这些属性。

您还可以修改应用程序的其他属性。若要获取包含可用于配置数据库和 Web 服务身份验证的属性的完整列表的表,请参阅 LOBSystemInstance (https://go.microsoft.com/fwlink/?linkid=124545&clcid=0x804)。其中还提供了一些示例。

在可以对业务数据目录使用身份验证设置之前,必须将应用程序定义 XML 文件导入业务数据目录。

有关为业务数据目录创建、修改和导入应用程序定义的详细信息,请参阅管理应用程序定义

以下各小节介绍了创建应用程序定义 XML 文件的常见任务:

  • 为数据库配置 SSO 身份验证

  • 为 Web 服务配置 SSO 身份验证

  • 为应用程序配置 SSO 提供程序

  • 配置 RevertToSelf 身份验证

  • 配置 PassThrough 身份验证

  • 为应用程序配置应用程序级身份验证

为数据库配置 SSO 身份验证

若要将 SSO 与数据库系统一起使用,需要以下属性:

  • 将 LOBSystemInstance 对象的 AuthenticationMode 设置为 WindowsCredentials 或 RdbCredentials。

  • 将 SsoProviderImplementation 设置为 ISsoProvider 接口的完全限定名称。

    备注

    如果正在使用第三方 ISsoProvider 接口而不是 Office SharePoint Server ISsoProvider 接口,则必须包含该提供程序的完全限定名称。

  • 将 SsoApplicationId 设置为应用程序的企业应用程序 ID 的值。在创建企业应用程序定义时提供了该定义的名称。

为 Web 服务配置 SSO 身份验证

若要将 SSO 与 Web 服务系统一起使用,需要以下属性:

  • 将 LOBSystemInstance 对象的 WebServiceAuthenticationMode 设置为 WindowsCredentials 或 Credentials。

  • 将 SsoProviderImplementation 设置为 ISsoProvider 接口的完全限定名称。

    备注

    如果正在使用第三方 ISsoProvider 接口而不是 Office SharePoint Server ISsoProvider 接口,则必须包含该提供程序的完全限定名称。

  • 将 WebServiceSsoApplicationId 设置为应用程序的企业应用程序 ID 的值。

为应用程序配置 SSO 提供程序

使用 SSO 验证用户身份的业务线应用程序可以设置 SsoProviderImplementation 属性和 ISsoProvider 接口以使用任何第三方 SSO 提供程序。若要使用 Office SharePoint Server SSO 提供程序以外的 SSO 提供程序,则必须配置该提供程序,然后在此属性的应用程序定义中包含该提供程序的完全限定名称。有关详细信息,请参阅 ISsoProvider 成员(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=124546&clcid=0x804)。

为应用程序配置 RevertToSelf 身份验证

您可以使用 RevertToSelf 身份验证模式(而不是使用 SSO)将应用程序配置为以应用程序池帐户的身份运行,并使用每个应用程序用户的个人权限进行身份验证。若要使用 RevertToSelf 身份验证模式,请按以下方式设置身份验证属性:

  • 若要向数据库进行验证,请将 LOBSystemInstance 对象的 AuthenticationMode 属性设置为 RevertToSelf。

  • 若要向 Web 服务进行验证,请将 LOBSystemInstance 对象的 WebServiceAuthenticationMode 属性设置为 RevertToSelf。

为应用程序配置 PassThrough 身份验证

PassThrough 身份验证也不使用 SSO 来存储帐户,而是使用后端应用程序中每个帐户的权限直接验证每个用户的身份。若要使用 PassThrough 身份验证模式,请按以下方式设置身份验证属性:

  • 若要向数据库进行验证,请将 LOBSystemInstance 对象的 AuthenticationMode 属性设置为 PassThrough。

  • 若要向 Web 服务进行验证,请将 LOBSystemInstance 对象的 WebServiceAuthenticationMode 属性设置为 PassThrough。

为应用程序配置应用程序级身份验证

业务数据目录还支持应用程序级辅助身份验证。此身份验证方式用作为系统配置的主要身份验证方式的补充。例如,当后端应用程序需要在方法调用中传递安全凭据以对用户进行授权时,此身份验证方式尤其有用。若要启用应用程序级身份验证,请执行以下步骤:

  • 在 LobSystemInstance 对象的 SecondarySsoApplicationId 属性中,指定包含这些凭据的 SSO 应用程序。

  • 定义 UsernameCredentialFilter 和 PasswordCredentialFilter 属性,并将每个属性与输入参数相关联。

配置匿名访问

2007 Microsoft Office Server Service Pack 1 为应用程序定义添加了一个新的 AllowAnonymousExecute 属性,以便对业务数据 Web 部件中的业务数据启用匿名访问。将此属性的值设置为 true 将启用匿名访问。下面是该属性的 XML:

     <Properties>

          <Property Name="AllowAnonymousExecute" Type="System.Boolean">true</Property>

     </Properties>

若要对业务数据列表 Web 部件或业务数据项 Web 部件中的数据启用匿名访问,请将此属性添加到由相应 Web 部件使用的方法实例。

例如,若要使匿名用户能够对显示有关某位音乐家的信息的业务数据项 Web 部件执行 ArtistRead 方法实例:

<MethodInstance Type="SpecificFinder" ReturnParameterName="ArtistRead" Name="ArtistRead">

     <Properties>

          <Property Name="AllowAnonymousExecute" Type="System.Boolean">true</Property>

     </Properties>

</MethodInstance>

任务要求

以下是执行此任务的相关步骤所必需的条件:

  • 若要配置业务数据目录中后端业务线应用程序的帐户,您必须具有配置帐户的应用程序权限。

  • 若要在服务器上启用单一登录服务,您必须是本地 Administrators 组的成员。

  • 若要在管理中心配置 SSO 管理员帐户,您必须是服务器场管理员以及本地 Administrators 组的成员。

  • 若要在管理中心创建和配置企业应用程序定义,您必须是服务器场管理员以及本地 Administrators 组的成员。

  • 若要修改或导入应用程序的现有应用程序定义 XML 文件,您必须具有业务数据目录中该应用程序的编辑权限。

若要管理业务数据目录的身份验证,应按顺序执行以下过程: