Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОТИ - копия.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
8.91 Mб
Скачать

Состояния разрешения

Разрешение может быть предоставлено (Grant), снято (Revoke) или в нем может быть отказано (Deny). При предоставлении разрешения пользователю, группе или роли (любому учетному имени) командой Grant разрешение назначается явно. При снятии разрешения с учетного имени (командой Revoke) последнее теряет соответствующее разрешение. Наконец, при отказе в предоставлении разрешения (с помощью команды Deny) на получение этого разрешения налагается явный запрет. Пользовательские разрешения представляют собой сумму всех разрешений, назначенных непосредственно этому пользователю или его группе. Сначала SQL Server обрабатывает состояние Deny, которое отнимает разрешение — независимо от способа его получения. Поэтому, если пользователь наследует это состояние или получает его явно, оно исключает все другие разрешения. Допустим, пользователю UserOl дано разрешение на исполнение оператора SELECT для таблицы Table01.

Этот пользователь является членом группы Group01, обладающей разрешением на исполнение оператора INSERT для той же самой таблицы. В результате учетное имя этого пользователя получает права на исполнение операторов SELECT и INSERT для таблицы Table01. Однако если группа GroupOI является членом роли RoleOI, у которой разрешения SELECT и INSERT находятся в состоянии Deny, пользователь не сможет ни извлечь данные из таблицы Table01, ни добавить в нее данные.

Разрешения на работу с объектами и выполнение sql-выражений

В SQL Server предусмотрены разрешения трех типов: разрешения на работу с объектами (object permissions), разрешения на выполнение SQL-операторов (statement permissions) и предполагаемые разрешения (implied permissions). Разрешения на работу с объектами относятся к объектам БД и могут различаться для разных объектов. Например, для хранимой процедуры допустимо назначить разрешение EXECUTE, а для таблицы — SELECT. Разрешения на выполнение SQL-операторов применяются к операторам Transact-SQL CREATE и BACKUP, исполняемым в БД. Например, разрешение CREATE TABLE дает пользователю возможность создавать таблицы в БД. Далее перечислены разрешения на работу с объектами и выполнение SQL-onep;rropOB для различных объектов БД.

Разрешение

Разрешаемое действие

CREATE (разрешение на выполнение SQL-оператора)

Создание БД. таблиц, представлений, хранимыхь процедур, определений умолчания, правил и функций

BACKUP {разрешение на выполнение SQL-оператора)

Резервное копирование БД и файла журнала

SELECT и UPDATE (разрешение на работу с объектом)

Запросы и модификация таблиц, представлений и

их столбцов

EXECUTE (разрешение на работу с объектом)

Добавление и удаление

таблиц, представлений

и их записей

Выполнение хранимых

процедур

Предполагаемые разрешения назначаются владельцам объектов, фиксированным ролям на уровне сервера и баз данных; их нельзя отобрать. Некоторые предполагаемые разрешения на выполнение SQL-операторов можно получить только через членство в фиксированной серверной роли. Например, чтобы иметь право на исполнение оператора SHUTDOWN, пользователь должен быть членом фиксированной серверной роли ServerAdmin.

Аудит

Служба Event Log обеспечивает общий аудит ОС Windows NT и Windows 2000. SQL Server поддерживает аудит идентификаторов и событий системы безопасности. Успех или неудача аутентификации того или иного пользователя — это серверный параметр, который разрешается сконфигурировать на вкладке Security диалогового окна SQL Server Properties (Configure) в Enterprise Manager.

Чтобы задействовать аудит, следует настроить его с помощью SQL Profiler. События системы безопасности регистрируются в файле или в таблице БД. Необходимо указать подлежащие аудиту события, столбцы для трассировки и свойства для хранения трассировочного файла или таблицы. После выполнения трассировки событий системы безопасности с помощью SQL Profiler, файл трассировки открывают в нем же или выполняют запрос к трассировочной таблице. О классах событий и матрице столбцов данных для событий системы безопасности рассказано в разделе «Security Audit Event Category» SQL Server Books Online.