Поделиться через


Модель безопасности

В этом разделе описана модель безопасности системы отслеживания измененных данных.

Конфигурация и администрирование

Чтобы включить или отключить систему отслеживания измененных данных в базе данных, пользователь, вызывающий sys.sp_cdc_enable_db (Transact-SQL) или sys.sp_cdc_disable_db (Transact-SQL), должен быть членом предопределенной роли сервера sysadmin. Для включения или отключения системы отслеживания измененных данных на уровне таблиц пользователь, вызывающий процедуры sys.sp_cdc_enable_table (Transact-SQL) и sys.sp_cdc_disable_table (Transact-SQL), должен быть членом предопределенной роли сервера sysadmin или членом роли базы данных db_owner.

Для поддержки модели безопасности при активации отслеживания измененных данных в базе данных создаются специальный пользователь системы отслеживания измененных данных и схема отслеживания измененных данных, владельцем которых является пользователь системы отслеживания измененных данных. В этой схеме создаются все объекты системы отслеживания измененных данных, которые не имеются в базе данных ресурсов и владельцем которых является пользователь системы отслеживания измененных данных. Они включают шлюзовые роли, которые создаются, если в таблице активирована система отслеживания измененных данных.

Использование хранимых процедур для администрирования заданий отслеживания измененных данных ограничено членами серверной роли sysadmin и членами роли db_owner.

Перечисление изменений и запросы метаданных

Чтобы получить доступ к информации об изменениях, связанной с экземпляром отслеживания, пользователю должен быть предоставлен доступ с правом выборки всех отслеживаемых столбцов в соответствующей исходной таблице. Кроме того, если при создании экземпляра отслеживания задана шлюзовая роль, вызывающий также должен быть членом заданной шлюзовой роли. Другие общие функции системы отслеживания измененных данных для доступа к метаданным имеются в распоряжении пользователей через роль public, хотя доступ к возвращенным метаданным обычно регулируется доступом с правом выборки к базовым исходным таблицам, а также членством во всех определенных шлюзовых ролях.

DDL-операции в исходных таблицах с включенной системой отслеживания измененных данных

Если в таблице включена система отслеживания измененных данных, DDL-операции могут применяться только членом предопределенной роли сервера sysadmin, членом роли database role db_owner или database role db_ddladmin. Для пользователей, которым явно предоставлены права на выполнение DDL-операций в такой таблице, выводится сообщение об ошибке 22914, если они пытаются выполнить такие операции.