Архитектура безопасности для веб-синхронизации
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, заданного для агента слияния (А) |
Проверка подлинности SQL Server используется только в том случае, если задано следующее.
|
Объекты 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: параметры @internet_login и @internet_password хранимой процедуры sp_addmergepullsubscription_agent. Объекты RMO: свойства InternetLogin и InternetPassword. Командная строка агента слияния: параметры -InternetLogin и -InternetPassword. |
Встроенная проверка подлинности1 используется в том случае, если задано одно из следующих значений:
|
Агент слияния устанавливает соединение в контексте пользователя Windows, заданного для агента слияния (А) |
1 Встроенная проверка подлинности может использоваться только в том случае, если все компьютеры принадлежат к одному домену или к нескольким доменам, имеющим доверительные связи друг с другом.
Примечание |
---|
При использовании встроенной проверки подлинности требуется делегирование. Для соединений от подписчика к серверу IIS рекомендуется использовать обычную проверку подлинности и протокол SSL. |
Д. Соединение с издателем
Компоненты средства прослушивания репликации SQL Server и посредника репликации слиянием находятся на сервере IIS. Эти компоненты выполняют следующие действия:
Получают HTTPS-запрос, описанный в разделе «Г. Соединение со службами IIS».
Выполняют SQL-соединение с базой данных публикации и применяют к ней загруженные изменения.
Извлекают загруженные в базу данных изменения и отправляют HTTPS-ответ обратно агенту слияния.
Посредник репликации слиянием соединяется с издателем, используя или проверку подлинности Windows, или проверку подлинности SQL Server. Пользователь Windows или заданное имя входа SQL Server должны удовлетворять следующим требованиям:
Быть в списке доступа к публикации (PAL). Дополнительные сведения см. в разделе Организация безопасности издателя.
Быть связанными с пользователем в базе данных публикации.
Тип проверки подлинности |
Где задана проверка подлинности |
---|---|
Проверка подлинности Windows используется, если задано одно из следующих значений:
|
Агент слияния соединяется с издателем в контексте пользователя Windows, заданного для соединения со службами IIS (Г). Если издатель и службы IIS находятся на разных компьютерах и для соединения используется встроенная проверка подлинности (Г), на сервере IIS необходимо включить делегирование Kerberos. Дополнительные сведения см. в документации по Windows. |
Проверка подлинности SQL Server используется, если задано одно из следующих значений:
|
Transact-SQL: параметры @publisher_login и @publisher_password хранимой процедуры sp_addmergepullsubscription_agent Объекты RMO: свойства PublisherLogin и PublisherPassword Командная строка агента слияния: параметры -PublisherLogin и -PublisherPassword |
Е. Соединение с распространителем
Посредник репликации слиянием, находящийся на сервере IIS, также соединяется с распространителем. Посредник репликации слиянием соединяется с распространителем, используя или проверку подлинности Windows, или проверку подлинности SQL Server. Пользователь Windows или заданное имя входа SQL Server должны удовлетворять следующим требованиям:
Быть в списке доступа к публикации (PAL). Дополнительные сведения см. в разделе Организация безопасности издателя.
Быть связанными с пользователем в базе данных распространителя. Пользователь может иметь учетную запись Guest.
Хранилище моментальных снимков обычно находится на распространителе. Дополнительные сведения о хранилищах моментальных снимков см. подраздел «З. Доступ к хранилищу моментального снимка» ниже в этом разделе.
|
Где задана проверка подлинности |
---|---|
Проверка подлинности Windows используется, если задано одно из следующих значений:
|
Агент слияния соединяется с распространителем в контексте пользователя Windows, заданного для соединения со службами IIS (Г). Если распространитель и службы IIS находятся на разных компьютерах и для соединения используется встроенная проверка подлинности (Г), на сервере IIS необходимо включить делегирование Kerberos. Дополнительные сведения см. в документации по Windows. |
Проверка подлинности SQL Server используется, если задано одно из следующих значений:
|
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. |