Архитектура безопасности для веб-синхронизации

Microsoft SQL Server позволяет точно настроить параметры безопасности при веб-синхронизации. В этом разделе представлен подробный список всех компонентов, которые можно включать в настройку веб-синхронизации, и сведения о соединениях между компонентами. По возможности используйте проверку подлинности Windows.

На следующем рисунке показаны все возможные соединения, однако некоторые из них могут быть не обязательны в определенной топологии. Например, соединение с сервером FTP требуется, только если моментальный снимок доставляется по протоколу FTP.

Компоненты и соединения в веб-синхронизации

В следующей таблице представлены компоненты и соединения, показанные на рисунке.

А. Пользователь Windows, под учетной записью которого выполняется агент слияния

Во время синхронизации агент слияния (А) запускается на подписчике. Агент слияния можно запустить на определенном шаге задания агента SQL Server или из изолированного пользовательского приложения. Если агент слияния запускается на шаге задания агента SQL Server, агент слияния выполняется в контексте заданного пользователя Windows. Если пользователь Windows не задан, агент слияния выполняется в контексте учетной записи службы Windows для агента SQL Server.

Тип учетной записи

Где задана учетная запись

Пользователь Windows

Transact-SQL: параметры @job_login и @job_password процедуры sp_addmergepullsubscription_agent

Объекты RMO: свойства Login()()()() и Password()()()() для SynchronizationAgentProcessSecurity.

Учетная запись службы Windows для агента SQL Server

Диспетчер конфигурации SQL Server

Изолированное приложение

Агент слияния выполняется в контексте пользователя Windows, который выполняет это приложение

Б. Соединение с подписчиком

Агент слияния соединяется с подписчиком, используя проверку подлинности Windows или проверку подлинности SQL Server. Пользователь Windows или заданное имя входа SQL Server должны быть связаны с пользователем базы данных, который является членом предопределенной роли базы данных dbowner в базе данных подписки.

ПримечаниеПримечание

Если агент слияния запускается из задания агента SQL Server, всегда используется проверка подлинности Windows. При запуске агента слияния программным способом также применяется проверка подлинности Windows (кроме тех случаев, когда была явным образом задана проверка подлинности SQL Server).

Тип проверки подлинности

Где задана проверка подлинности

  • Проверка подлинности Windows

Агент слияния производит подключение в контексте пользователя Windows, заданного для агента слияния (А)

Проверка подлинности SQL Server используется только в том случае, если задано следующее.

  • Объекты RMO: значение Standard для свойстваSubscriberSecurityMode

  • Командная строка агента слияния: значение 0 для параметра SubscriberSecurityMode

Объекты RMO: свойства SubscriberLogin и SubscriberPassword

Командная строка агента слияния: -SubscriberLogin и -SubscriberLogin.

В. Соединение с исходящим прокси-сервером

Пользователь Windows для этого соединения задается только в том случае, если имеется исходящий прокси-сервер, ограничивающий доступ к внутренней сети подписчика.

Тип проверки подлинности

Где задана проверка подлинности

Проверка подлинности Windows

Объекты RMO: свойства InternetProxyLogin и InternetProxyPassword вместе со свойством InternetProxyServer

Командная строка агента слияния: параметры -InternetProxyLogin и -InternetProxyPassword вместе с параметром -InternetProxyServer

Г. Соединение со службами IIS

После соединения с подписчиком и извлечения всех изменений в базе данных подписки агент слияния делает запрос по протоколу HTTPS к службам Microsoft Internet Information Services (IIS) и загружает изменение данных в виде XML-сообщения. Агент слияния должен иметь разрешения входа для служб IIS.

Тип проверки подлинности

Где задана проверка подлинности

Используется обычная проверка подлинности, если задано одно из следующих значений:

  • Transact-SQL: значение 0 для параметра @internet_security_mode хранимой процедуры sp_addmergepullsubscription_agent

  • Объекты RMO: значение Standard для свойства InternetSecurityMode

  • Командная строка агента слияния: значение 0 для параметра -InternetSecurityMode

Transact-SQL: параметры @internet_login и @internet_password хранимой процедуры sp_addmergepullsubscription_agent.

Объекты RMO: свойства InternetLogin и InternetPassword.

Командная строка агента слияния: параметры -InternetLogin и -InternetPassword.

Встроенная проверка подлинности1 используется в том случае, если задано одно из следующих значений:

  • Transact-SQL: значение 1 для параметра @internet_security_mode хранимой процедуры sp_addmergepullsubscription_agent

  • Объекты RMO: значение Integrated для свойства InternetSecurityMode

  • Командная строка агента слияния: значение 1 для параметра -InternetSecurityMode

Агент слияния устанавливает соединение в контексте пользователя Windows, заданного для агента слияния (А)

1 Встроенная проверка подлинности может использоваться только в том случае, если все компьютеры принадлежат к одному домену или к нескольким доменам, имеющим доверительные связи друг с другом.

ПримечаниеПримечание

При использовании встроенной проверки подлинности требуется делегирование. Для соединений от подписчика к серверу IIS рекомендуется использовать обычную проверку подлинности и протокол SSL.

Д. Соединение с издателем

Компоненты средства прослушивания репликации SQL Server и посредника репликации слиянием находятся на сервере IIS. Эти компоненты выполняют следующие действия:

  • Получают HTTPS-запрос, описанный в разделе «Г. Соединение со службами IIS».

  • Выполняют SQL-соединение с базой данных публикации и применяют к ней загруженные изменения.

  • Извлекают загруженные в базу данных изменения и отправляют HTTPS-ответ обратно агенту слияния.

Посредник репликации слиянием соединяется с издателем, используя или проверку подлинности Windows, или проверку подлинности SQL Server. Пользователь Windows или заданное имя входа SQL Server должны удовлетворять следующим требованиям:

Тип проверки подлинности

Где задана проверка подлинности

Проверка подлинности Windows используется, если задано одно из следующих значений:

  • Transact-SQL: значение 1 для параметра @publisher_security_mode хранимой процедуры sp_addmergepullsubscription_agent

  • объекты RMO: значение Integrated для свойстваPublisherSecurityMode

  • командная строка агента слияния: значение 1 для параметра -PublisherSecurityMode

Агент слияния соединяется с издателем в контексте пользователя Windows, заданного для соединения со службами IIS (Г). Если издатель и службы IIS находятся на разных компьютерах и для соединения используется встроенная проверка подлинности (Г), на сервере IIS необходимо включить делегирование Kerberos. Дополнительные сведения см. в документации по Windows.

Проверка подлинности SQL Server используется, если задано одно из следующих значений:

  • Transact-SQL: значение 0 для параметра @publisher_security_mode хранимой процедуры sp_addmergepullsubscription_agent

  • объекты RMO: значение Standard для свойства PublisherSecurityMode

  • командная строка агента слияния: значение 0 для параметра -PublisherSecurityMode

Transact-SQL: параметры @publisher_login и @publisher_password хранимой процедуры sp_addmergepullsubscription_agent

Объекты RMO: свойства PublisherLogin и PublisherPassword

Командная строка агента слияния: параметры -PublisherLogin и -PublisherPassword

Е. Соединение с распространителем

Посредник репликации слиянием, находящийся на сервере IIS, также соединяется с распространителем. Посредник репликации слиянием соединяется с распространителем, используя или проверку подлинности Windows, или проверку подлинности SQL Server. Пользователь Windows или заданное имя входа SQL Server должны удовлетворять следующим требованиям:

  • Быть в списке доступа к публикации (PAL). Дополнительные сведения см. в разделе Организация безопасности издателя.

  • Быть связанными с пользователем в базе данных распространителя. Пользователь может иметь учетную запись Guest.

Хранилище моментальных снимков обычно находится на распространителе. Дополнительные сведения о хранилищах моментальных снимков см. подраздел «З. Доступ к хранилищу моментального снимка» ниже в этом разделе.

  • Тип проверки подлинности

Где задана проверка подлинности

Проверка подлинности Windows используется, если задано одно из следующих значений:

  • Transact-SQL: значение 1 для параметра @distributor_security_mode хранимой процедуры sp_addmergepullsubscription_agent

  • объекты RMO: значение Integrated для свойства DistributorSecurityMode

  • командная строка агента слияния: значение 1 для параметра -DistributorSecurityMode

Агент слияния соединяется с распространителем в контексте пользователя Windows, заданного для соединения со службами IIS (Г). Если распространитель и службы IIS находятся на разных компьютерах и для соединения используется встроенная проверка подлинности (Г), на сервере IIS необходимо включить делегирование Kerberos. Дополнительные сведения см. в документации по Windows.

Проверка подлинности SQL Server используется, если задано одно из следующих значений:

  • Transact-SQL: значение 0 для параметра @distributor_security_mode хранимой процедуры sp_addmergepullsubscription_agent

  • объекты RMO: значение Standard для свойстваDistributorSecurityMode

  • командная строка агента слияния: значение 0 для параметра -DistributorSecurityMode

Transact-SQL: параметры @distributor_login и @distributor_password хранимой процедуры sp_addmergepullsubscription_agent

Объекты RMO: DistributorLogin и DistributorPassword

Командная строка агента слияния: параметры -DistributorLogin и -DistributorPassword

Ж. Соединение с FTP-сервером

Пользователь Windows для этого соединения задается, только если файлы моментального снимка загружаются с FTP-сервера (а не из сетевой папки) на сервер IIS перед тем, как применить этот моментальный снимок к подписчику. Дополнительные сведения см. в разделе Передача моментальных снимков по протоколу FTP.

Тип проверки подлинности

Где задана проверка подлинности

Проверка подлинности Windows

Transact-SQL: параметры @ftp_login и @ftp_password хранимой процедуры sp_addmergepublication

Объекты RMO: свойства FtpLogin и FtpPassword

З. Доступ к хранилищу моментальных снимков

Доступ к хранилищу моментальных снимков осуществляется посредником репликации слиянием, который находится на сервере IIS.

Тип проверки подлинности

Где задана проверка подлинности

Проверка подлинности Windows

Агент слияния соединяется с хранилищем моментального снимка в контексте пользователя Windows, заданного для соединения со службами IIS (Г). Если хранилище моментальных снимков и службы IIS находятся на разных компьютерах и для соединения используется встроенная проверка подлинности (Г), на сервере IIS необходимо включить делегирование Kerberos. Дополнительные сведения см. в документации по Windows.

И. Учетная запись пула приложений для служб IIS

Эта учетная запись используется для запуска процесса W3wp.exe на сервере IIS для Windows Server 2003 или процесса Dllhost.exe для Windows 2000. Эти процессы содержат приложения сервера IIS, например средство прослушивания репликации SQL Server и посредник репликации слиянием. Эта учетная запись должна иметь разрешения на чтение и выполнение следующих DLL-библиотек репликации на сервере IIS:

  • Replisapi

  • Replrec

  • Replprov

  • Msgprox

  • Xmlsub

Эта учетная запись должна быть также членом группы IIS_WPG. Дополнительные сведения см. в подразделе «Установка разрешений для средства прослушивания репликации SQL Server» раздела Как настроить сервер IIS для веб-синхронизации.

Тип учетной записи

Где задана учетная запись

Нужное разрешение имеют все пользователи Windows.

Диспетчер служб IIS. По умолчанию в Windows Server 2003 применяется учетная запись NETWORK SERVICE.

См. также

Справочник

Основные понятия