Организация безопасности издателя
К издателю подключаются следующие агенты репликации:
Агент чтения журнала
Агент моментальных снимков
Агент чтения очереди
Агент слияния
Рекомендуется выделить для этих агентов соответствующе имена входа, придерживаясь принципа предоставления минимально необходимых прав, и обеспечить надежное хранение их паролей. Сведения об управлении именами входа и паролями см. в разделе Управление именами входа и паролями в репликации. Сведения о разрешениях, необходимых для каждого из перечисленных агентов, см. в разделе Модель безопасности агента репликации.
Помимо надлежащего управления именами входа и паролями, следует понимать роль, которую играет список доступа к публикации (PAL). Он позволяет именам входа производить доступ к данным публикации, ограничивая при этом нерегламентированный доступ к базе данных издателя.
Список доступа к публикации
Список доступа к публикации представляет собой первичный механизм защиты публикаций на издателе. Он работает так же, как и список управления доступом Microsoft Windows. При создании публикации репликация создает список доступа к публикации. Список доступа к публикации может быть сконфигурирован таким образом, что будет содержать список имен входа и групп, которым предоставлен доступ к публикации. Когда агент подключается к издателю или распространителю и запрашивает доступ к публикации, данные проверки подлинности из списка доступа к публикации сравниваются с именем входа издателя, который предоставлен этим агентом. Этот процесс обеспечивает дополнительную защиту издателя, так как имена входа издателя и распространителя не могут использоваться клиентскими средствами для внесения изменений непосредственно на издателе.
Примечание |
---|
Репликация создает для каждой публикации роль на издателе для ввода в действие списка доступа к публикации. Для репликации слиянием эта роль имеет имя вида Msmerge_<PublicationID>, а для репликации транзакций и репликации моментальных снимков — вида MSReplPAL_<PublicationDatabaseID>_<PublicationID>. |
По умолчанию в список доступа к публикации включаются члены предопределенной роли сервера sysadmin (существующие на момент создания публикации) и имя входа, использованное для ее создания. По умолчанию все имена входа, являющиеся членами предопределенной роли сервера sysadmin или предопределенной роли базы данных db_owner в базе данных публикации, могут подписываться на публикацию, даже если они отсутствуют в списке доступа к ней.
При работе со списком доступа к публикации следует учитывать следующие моменты:
Перед добавлением имени входа в список доступа к публикации имени входа SQL Server необходимо связать его с пользователем базы данных публикации.
Следуйте принципу наименьших необходимых прав доступа, предоставляя именам входа из списка доступа к публикации только те разрешения, которые им необходимы для выполнения задач репликации. Не добавляйте имена входа в какие-либо предопределенные роли базы данных или роли сервера, ненужные для репликации. Дополнительные сведения о необходимых разрешениях см. в разделах Модель безопасности агента репликации и Рекомендации по защите репликации.
Если используется удаленный распространитель, то учетные записи в списке доступа к публикации должны быть доступны как на издателе, так и на распространителе. Это должны быть либо учетные записи домена, либо локальные учетные записи, определенные на обоих серверах. Связанные с обоими именами входа пароли также должны совпадать.
Если список доступа к публикации содержит учетные записи Windows и домен использует службу Active Directory, то учетная запись, под которой выполняется SQL Server, должна иметь разрешения на чтение в каталогах Active Directory. Если имеются проблемы с учетными записями Windows, убедитесь в том, что учетная запись, под которой выполняется SQL Server, имеет достаточные разрешения. Дополнительные сведения см. в документации по Windows.
Управление списком доступа к публикации
Среда SQL Server Management Studio: Как управлять именами входа в списке доступа к публикации (среда SQL Server Management Studio)
Программирование репликации на языке Transact-SQL: Как управлять именами входа в списке доступа к публикации (программирование репликации на языке Transact-SQL)
См. также