Название |
Права |
db_owner |
Любые действия (права владельца) |
db_securityadmin |
Управление правами доступа и членством в ролях |
db_denydatawriter |
Запрещение записи данных |
db_denydatareader |
Запрещение чтения данных |
db_ddladmin |
Создание, модификация и удаление объектов БД |
db_datawriter |
Изменение данных |
db_datareader |
Чтение данных |
db_backupoperator |
Резервное копирование БД |
db_accessadmin |
Управление пользователями БД |
Помимо перечисленных ролей, имеется фиксированная роль public, обладающая некоторыми умалчиваемыми правами. Каждый пользователь автоматически включается в эту роль и не может быть удален оттуда.
Пользовательские роли БД создаются и настраиваются администратором безопасности. Создание пользовательских ролей целесообразно, когда известно, что некоторый набор прав доступа будет назначаться целой группе пользователей. Проще создать группы пользователей новую пользовательскую роль и через нее задать права доступа пользователей к ресурсам, чем давать одни и те же права каждому пользователю в отдельности.
Роли приложения в настоящей работе не изучаются.
2.2.2. Управление правами доступа
Все существующие в БД права доступа можно разбить на три класса, а в каждом классе – выделить свои категории доступа (табл. 4). Следует заметить, что сказанное справедливо только для так называемых явных прав доступа. В то же время, пользователь может быть наделен неявными правами через членство в фиксированных ролях сервера или БД. Например, членство в роли db_denydatawriter запрещает пользователю любые изменения данных, несмотря на то, что формально ему разрешена запись в некоторые из таблиц. Другим примером неявных прав доступа служат абсолютные права владельца (члена роли db_owner) объекта.
Таблица 4 – Классификация явных прав доступа
Класс |
Категория доступа |
Характеристика |
Права доступа к данным |
insert |
Выдается на уровне таблицы или представления. Позволяет вставлять в таблицу (представление) новые строки |
update |
Выдается на уровне таблицы или столбца. В первом случае разрешает изменять значения в любом столбце, во втором – только в пределах конкретного столбца |
|
delete |
Позволяет удалять строки из таблицы или представления. Не может быть выдано на уровне столбца |
Продолжение таблицы 4
select |
Разрешает выборку данных. Выдается на уровне таблицы, представления или отдельного столбца |
|
references |
Предоставляет возможность ссылки на указанный объект. Применительно к таблицам это означает возможность создавать внешние ключи, ссылающиеся на первичный (потенциальный) ключ данной таблицы |
|
Права на выполнение хранимых процедур |
execute |
Разрешает выполнение процедуры |
Права на выполнение команд Transact-SQL |
create database |
Право на создание БД. Выдается учетной записи |
create table |
Право на создание таблицы |
|
create view |
Право на создание представления |
|
create procedure |
Право на создание хранимой процедуры |
|
create function |
Право на создание функции |
|
create rule |
Право на создание правила (начиная с SQL Server 2000 практически не используется) |
|
create default |
Право на создание умолчания |
|
backup database |
Право на резервное копирование БД |
|
backup log |
Право на резервное копирование журнала транзакций |
|
all |
Все права из данного класса |
Члены роли db_owner автоматически наделяются правом all и всеми правами доступа к объектам, которыми владеют.
2.2.3. Управление пользователями и правами доступа
Средства Transact-SQL
Информация о пользователях и ролях БД хранится в системной таблице sysusers. Просмотр информации о пользователях можно выполнять напрямую с помощью оператора select. Однако более удобным механизмом является процедура sp_helpuser. Одно из ее преимуществ состоит в том, что она отображает связи пользователей с учетными записями, реализуя запрос к нескольким системным таблицам из разных системных БД.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.