Слайд 2Предоставление разрешений уровня базы данных
Система безопасности SQL Server 2000 устанавливает два уровня
защиты данных – аутентификацию и авторизацию. Независимо от способа проверки подлинности, пользователь должен иметь разрешения на выполнение определенных действий в пользовательской БД.
Для обеспечения работы с БД администратор должен установить пользователю определенные разрешения на доступ к БД.
Слайд 3Способы получения разрешений
Пользователи получают разрешения доступа к БД следующими способами:
Членство в серверной
роли sysadmin;
Право собственности на БД;
Право собственности на объект БД, полученное в результате членства в роли БД или группе Windows;
Членство в фиксированной роли БД;
Получение отдельных разрешений в результате членства в роли БД или группе Windows;
Наследование роли public пользователем, который обладает доступом к БД;
Наследование разрешений пользователя guest, пользователем не имеющим доступа к БД.
Слайд 4Наследуемые разрешения
Владелец БД, а также члены серверной роли sysadmin и фиксированной роли
db_owner наследуют все разрешения, необходимые для выполнения любых действий в БД.
Владелец объекта наследует все связанные с объектом разрешения доступа, включая право предоставлять разрешения на работу с данным объектом.
Члены роли сервера sysadmin, а также члены фиксированных ролей db_ddladmin, db_securityadmin могут менять владельца любого объекта БД и отзывать все назначенные объекту разрешения.
Слайд 5Действия разрешений
Группам Windows, пользовательским ролям и отдельным пользователям можно назначать и блокировать
наборы разрешений, связанные с ролями сервера и фиксированными ролями БД, а также конкретные разрешения на выполнение операторов и работу с объектами.
Можно отзывать и блокировать разрешения отдельных ролей, групп или пользователей. Блокирование разрешений имеет более высокий приоритет по отношению ко всем другим разрешениям.
Слайд 6Управление разрешениями на выполнение операторов
Разрешения на выполнение операторов (statement permissions) – это
разрешения на выполнение операторов T-SQL, используемых для создания БД и их объектов.
Слайд 7Смена владельца объекта
Если владельцем некоторого объекта БД является не dbo, может понадобится
изменить права собственности. Члены ролей db_owner, db_ddladmin и db_securityadmin могут меня права собственности на любой объект БД.
Системная хранимая процедура для смены владельца sp_changeobjectowner
sp_changeobjectowner ‘DC\Dima.Customer’, ‘dbo’
Слайд 8Управление разрешениями средствами Enterprise Manager
Enterprise Manager предоставляет простой интерфейс для управления разрешениями:
их просмотра предоставления, блокирования и отзыва.
Для доступа к управлению необходимо выбрать БД и в меню Свойства выбрать закладку Permissions.
Слайд 9Управление разрешениями средствами Transact-SQL
Для управления разрешениями можно использовать операторы GRANT, DENY, REVOKE.
GRANT
CREATE TABLE TO Dima, NewRole
DENY CREATE VIEW TO Ivan
REVOKE ALL FROM Ivan
Слайд 10Просмотр разрешений
Для просмотра разрешений на выполнение операторов можно воспользоваться хранимой процедурой sp_helprotect.
Право на выполнение данной процедуры имеют все пользователи БД.
EXEC sp_helprotect NULL, NULL, NULL, ‘s’
Слайд 11Управление разрешениями доступа к объектам
Разрешения доступа к объектам – разрешения на выполнение
определенных операций с таблицами, представлениями, функциями.
SELECT - просмотр данных в таблице, представлении, наследуется членами ролей db_owner, db_reader
INSERT – добавление новых данных в таблицу или представление , наследуется членами ролей db_owner, db_writer
UPDATE – обновление данных в таблице или представлении , наследуется членами ролей db_owner, db_writer
DELETE – удаление данных из таблицы или представления , наследуется членами ролей db_owner, db_writer
EXECUTE – выполнение хранимых процедур и пользовательских функций , наследуется членами ролей db_owner
REFERENCES – обращение к таблице с ограничением FOREIGN KEY при отстутствии разрешений SELECT , наследуется членами ролей db_owner, db_reader
Слайд 12Управление доступом к объектам средствами Enterprise Manager
Для управления разрешениями доступа к объекту
используются Свойства объекта (таблицы, представления, процедуры).
Слайд 13Управление доступом к объектам средствами Enterprise Manager
Можно установить дополнительные ограничения к отдельному
полю.
Слайд 14Управление доступом к объектам средствами Transact-SQL
Для управления доступом к объектам можно использовать
операторы GRANT, DENY и REVOKE
GRANT SELECT ON Customer TO Ivan
DENY INSERT, UPDATE, DELETE TO Ivan
GRANT SELECT ON Customer TO NewRole WITH GRANT OPTION
GRANT SELECT ON Customer TO Wil AS NewRole