Web 同步的安全体系结构

更新日期: 2006 年 7 月 17 日

Microsoft SQL Server 2005 可对 Web 同步安全性的配置进行精细粒度的控制。本主题提供了 Web 同步配置中可包括的所有组件以及这些组件之间的连接信息的综合列表。

下图显示了所有可用连接,但特定拓扑中可能不需要其中的某些连接。例如,仅当使用 FTP 传递快照时才需要与 FTP 服务器建立连接。

Web 同步中的组件和连接

下表对图中所示的组件和连接进行了说明。

A. 用于运行合并代理的 Windows 用户

在同步期间,合并代理 (A) 在订阅服务器上启动。合并代理可以从 SQL Server 代理作业的作业步或独立的自定义应用程序中启动。如果合并代理从 SQL Server 代理作业的作业步启动,则该合并代理将在您指定的 Windows 用户的上下文中运行。如果未指定 Windows 用户,则该合并代理将在 SQL Server 代理的 Windows 服务帐户的上下文中运行。

帐户类型 指定帐户的位置

Windows 用户

Transact-SQL:sp_addmergepullsubscription_agent@job_login@job_password 参数。

RMO(复制管理对象):SynchronizationAgentProcessSecurityLoginPassword 属性。

SQL Server 代理的 Windows 服务帐户

SQL Server 配置管理器

独立的应用程序

合并代理在运行该应用程序的 Windows 用户的上下文中运行。

B. 连接到订阅服务器

合并代理使用 Windows 身份验证或 SQL Server 身份验证连接到订阅服务器。Windows 用户或指定的 SQL Server 登录名必须与下述数据库用户相关联:该数据库用户是订阅数据库中 dbowner 固定数据库角色的成员。

ms345212.note(zh-cn,SQL.90).gif注意:
当从 SQL Server 代理作业启动合并代理时,将始终使用 Windows 身份验证。当在没有显式指定 SQL Server 身份验证的情况下通过编程方式启动合并代理时,也将使用 Windows 身份验证。
身份验证类型 指定身份验证的位置
  • Windows 身份验证。

合并代理 (A) 在为其指定的 Windows 用户的上下文中建立连接。

仅在指定下列值时,才使用 SQL Server 身份验证:

RMO:SubscriberLoginSubscriberPassword

合并代理命令行:-SubscriberLogin-SubscriberPassword

C. 连接到传出代理服务器

仅当存在限制访问订阅服务器内部网络的传出代理服务器时,才为此连接指定 Windows 用户。

身份验证类型 指定身份验证的位置

Windows 身份验证

RMO:在 InternetProxyServer 上指定 InternetProxyLoginInternetProxyPassword

合并代理命令行:在 -InternetProxyServer 上指定 -InternetProxyLogin-InternetProxyPassword

D. 连接到 IIS

连接到订阅服务器并从订阅数据库中提取任何更改后,合并代理将向 Microsoft Internet 信息服务 (IIS) 发出 HTTPS 请求并将数据更改作为 XML 消息上载。 合并代理必须具有 IIS 的登录权限。

身份验证类型 指定身份验证的位置

如果指定下列值之一,则将使用基本身份验证:

Transact-SQL:sp_addmergepullsubscription_agent@internet_login@internet_password 参数。

RMO:InternetLoginInternetPassword

合并代理命令行:-InternetLogin-InternetPassword

如果指定下列值之一,则将使用集成身份验证1:

  • Transact-SQL:为 sp_addmergepullsubscription_agent@internet_security_mode 参数指定值 1
  • RMO:为 InternetSecurityMode 指定 Integrated 值。
  • 合并代理命令行:为 -InternetSecurityMode 指定值 1

合并代理 (A) 在为其指定的 Windows 用户的上下文中建立连接。

1 仅当所有计算机都位于同一域中或位于彼此建立了信任关系的多个域中时,才可以使用集成身份验证。

ms345212.note(zh-cn,SQL.90).gif注意:
如果使用集成身份验证,则必须使用委托。对于从订阅服务器到 IIS 的连接,建议使用基本身份验证和 SSL。

E. 连接到发布服务器

SQL Server 复制侦听器和合并复制协调器组件承载于运行 IIS 的计算机上。这些组件可执行下列操作:

  • 拾取在“D. 连接到 IIS”部分中介绍的 HTTPS 请求。
  • 与发布数据库建立 SQL 连接并将已上载的更改应用于发布数据库。
  • 提取已下载的更改并将 HTTPS 响应发送回合并代理。

合并复制协调器使用 Windows 身份验证或 SQL Server 身份验证连接到发布服务器。Windows 用户或指定的 SQL Server 登录名必须符合以下条件:

  • 位于发布访问列表 (PAL) 中。有关详细信息,请参阅保护发布服务器的安全
  • 与发布数据库中的某个用户相关联。
身份验证类型 指定身份验证的位置

如果指定下列值之一,则将使用 Windows 身份验证:

合并代理在为连接到 IIS (D) 而指定的 Windows 用户的上下文中与发布服务器建立连接。如果发布服务器和 IIS 位于不同的计算机中并且将集成身份验证用于连接 (D),则必须在运行 IIS 的计算机上启用 Kerberos 委托。有关详细信息,请参阅 Windows 文档。

如果指定下列值之一,则将使用 SQL Server 身份验证:

  • Transact-SQL:为 sp_addmergepullsubscription_agent@publisher_security_mode 参数指定值 0
  • RMO:为 PublisherSecurityMode 指定 Standard 值。
  • 合并代理命令行:为 -PublisherSecurityMode 指定值 0

Transact-SQL:sp_addmergepullsubscription_agent@publisher_login@publisher_password 参数。

RMO:PublisherLoginPublisherPassword

合并代理命令行:-PublisherLogin-PublisherPassword

F. 连接到分发服务器

在运行 IIS 的计算机上承载的合并复制协调器还与分发服务器建立连接。合并复制协调器使用 Windows 身份验证或 SQL Server 身份验证连接到分发服务器。Windows 用户或指定的 SQL Server 登录名必须符合以下条件:

  • 位于发布访问列表 (PAL) 中。有关详细信息,请参阅保护发布服务器的安全
  • 与分发数据库中的某个数据库用户相关联。用户可以为 Guest 用户。

快照共享通常位于分发服务器上。有关快照共享的详细信息,请参阅本主题后面的“H. 访问快照共享”部分。

  • 身份验证类型
指定身份验证的位置

如果指定下列值之一,则将使用 Windows 身份验证:

合并代理在为连接到 IIS (D) 而指定的 Windows 用户的上下文中与分发服务器建立连接。如果分发服务器和 IIS 位于不同的计算机中并且将集成身份验证用于连接 (D),则必须在运行 IIS 的计算机上启用 Kerberos 委托。有关详细信息,请参阅 Windows 文档。

如果指定下列值之一,则将使用 SQL Server 身份验证:

  • Transact-SQL:为 sp_addmergepullsubscription_agent@distributor_security_mode 参数指定值 0
  • RMO:为 DistributorSecurityMode 指定 Standard 值。
  • 合并代理命令行:为 -DistributorSecurityMode 指定值 0

Transact-SQL:sp_addmergepullsubscription_agent@distributor_login@distributor_password 参数。

RMO:DistributorLoginDistributorPassword

合并代理命令行:-DistributorLogin-DistributorPassword

G. 连接到 FTP 服务器

仅当在将快照应用到订阅服务器之前,将快照文件从 FTP 服务器(而不是 UNC 位置)下载到运行 IIS 的计算机上时,才为该连接指定 Windows 用户。有关详细信息,请参阅通过 FTP 传输快照

身份验证类型 指定身份验证的位置

Windows 身份验证

Transact-SQL:sp_addmergepublication@ftp_login@ftp_password 参数。

RMO:FtpLoginFtpPassword

H. 访问快照共享

在运行 IIS 的计算机上承载的合并复制协调器将访问快照共享。

身份验证类型 指定身份验证的位置

Windows 身份验证

合并代理在为连接到 IIS (D) 而指定的 Windows 用户的上下文中访问快照共享。如果快照共享和 IIS 位于不同的计算机中并且将集成身份验证用于连接 (D),则必须在运行 IIS 的计算机上启用 Kerberos 委托。有关详细信息,请参阅 Windows 文档。

I. IIS 的应用程序池帐户

该帐户用来在运行 IIS 的计算机上为 启动 W3wp.exe 进程,或在 上启动 Dllhost.exe 进程。这些进程可承载运行 IIS 的计算机上的应用程序,如 SQL Server 复制侦听器和合并复制协调器。该帐户应该对运行 IIS 的计算机上的以下复制 DLL 具有读取和执行权限:

  • Replisapi
  • Replrec
  • Replprov
  • Msgprox
  • Xmlsub

该帐户还应属于 IIS_WPG 组。有关详细信息,请参阅如何为 Web 同步配置 IIS中的“设置 SQL Server 复制侦听器的权限”部分。

帐户类型 指定帐户的位置

具有所需权限的任何 Windows 用户。

Internet 信息服务 (IIS) 管理器。默认情况下,NETWORK SERVICE 是在 中使用的帐户。

请参阅

概念

配置 Web 同步

其他资源

Replication Merge Agent

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:
  • 增加了以前缺少的用于连接到 IIS 的 internet_security_mode 参数的有关信息。