Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб админ инф сист2.doc
Скачиваний:
12
Добавлен:
26.03.2015
Размер:
2.05 Mб
Скачать

Права доступа

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

права доступа к данным

права на выполнение хранимых процедур

права на выполнение команд Transact-SQL

Помимо перечисленных прав доступа, выдаваемых пользователю явно, существует класс неявных прав доступа. Неявные права доступа предоставляются пользователю через членство в фиксированной роли сервера или базы данных. Например, нет никакой другой возможности предоставить пользователю право на создание баз данных, кроме как включить его в роль сервера Dbcreator. Другим примером работы неявных прав доступа является получение владельцем объекта абсолютных прав на управление объектом владения. Если пользователь создал объект в базе данных, то ему автоматически предоставляются максимальные права по управлению этим объектом. Никто, включая администратора, не должен предоставлять пользователю специально эти права. Только факт владения объектом обеспечивает пользователю полный контроль. Владелец объекта может передать права владения другому пользователю, предоставляя ему тем самым полный контроль над объектом. Владелец объекта может устанавливать права доступа к объекту для других пользователей базы данных.

Права доступа к данным

Доступ к данным можно разделить на несколько категорий:

insert. Это право позволяет вставлять в таблицу или представление новые строки. Как следствие, право insert может быть выдано только на уровни-таблицы или представления и не может быть выдано на уровне столбца.

update. Данное право выдается либо на уровне таблицы, что позволяет изменять все данные в таблице, либо на уровне отдельного столбца, что разрешает изменять данные только в пределах конкретного столбца

delete. Право позволяет удалять строки из таблицы или представления. Как и право insert, право delete может быть выдано только на уровне таблицы или представления и не может быть выдано на уровне столбца.

select. Разрешает выборку данных. Может выдаваться как на уровне таблицы, так и на уровне отдельного столбца.

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

Замечание

Право REFERENCES не существовало в предыдущих версиях SQL Server.

Перечисленные выше права могут быть предоставлены пользователю для таблиц и представлений базы данных. Доступ можно предоставлять как на уровне всей таблицы или представления, так и на уровне отдельного столбца. Обычно не практикуется управление правами доступа на уровне конкретного столбца. Если в таблице имеется один или более столбцов, доступ пользователей к которым необходимо ограничить, то в базе данных часто создается представление (view), включающее только те столбцы исходной таблицы, доступ к которым разрешен. Предоставить или отклонить доступ пользователю базы данных ко всем объектам базы данных можно при помощи особенностей встроенных ролей базы данных. Например, для разрешения чтения данных извсех таблиц и представлении базы данных достаточно включить пользователя в фиксированную роль db_datareader, а не изменить права доступа пользователя к каждой таблице и представлению в отдельности.