Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Артемов Д.В. -> "Microsoft SQL Server 2000" -> 92

Microsoft SQL Server 2000 - Артемов Д.В.

Артемов Д.В. Microsoft SQL Server 2000 — М.: Издательско-торговый дом «Русская Редакция», 2001. — 576 c.
ISBN 5-7502-0154-6
Скачать (прямая ссылка): artemov.pdf
Предыдущая << 1 .. 86 87 88 89 90 91 < 92 > 93 94 95 96 97 98 .. 187 >> Следующая


Разрешение на действия с объектами

Разрешения на действия с объектами определяют набор прав пользователя при работе с данными или исполнении хранимых процедур.

Разрешение на работу с таблицами и представлениями

Такое разрешение позволяет исполнять команды SELECT, INSERT, UPDATE и DELETE для таблицы или представления.

Разрешение на доступ к определенным полям

Разрешения на команды SELECT, UPDATE и ссылки REFERENCES можно дать с точностью до индивидуальных полей таблицы.

Когда пользователь добавляет запись в таблицу с ограничением (Constraint) FOREIGN KEY или модифицирует поле с таким же ограничением, SQL Server должен проверить, что данные в соответствующих полях не нарушают наложенных ограничений. Для этого

Данная версия книги выпущена электронным издательством "Books-shop". Распространение, продажа, перезапись данной книги или ее частей ЗАПРЕЩЕНЫ. О всех нарушениях просьба сообщать по адресу piracy@books-shop.com

256

Microsoft SQL Server 2000. Новейшие технологии

у пользователя должно быть право на исполнение команды для таблицы, на которую установлена ссылка, или разрешение REFERENCES для поля.

Разрешение на исполнение хранимых процедур

Для самой хранимой процедуры существует только одно разрешение - EXECUTE.

Предполагаемые разрешения

Некоторые действия позволено выполнять только пользователям, включенным в определенные стандартные роли, или владельцам объектов БД. Часто права таких ролей нельзя передать за пределы роли, а значит, тех, кому эти права нужны, следует включить в состав роли. Например, право конфигурировать установку SQL Server — прерогатива членов стандартной роли сервера и передать его нельзя.

Разрешения, которыми обладает владелец объекта

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

Команды управления правами доступа

Каждый пользователь, с точки зрения системы разграничения доступа, пребывает в одном из состояний:

1. он имеет право на выполнение некоторых действий;

2. ему запрещено выполнять некоторые действия;

3. не имеет явно выраженных запретов или разрешений.

Команда Состояние записи Описание в таблице Sysprotects

GRANT Положительное — Grant Можетвыполнятьдействия.

DENY Отрицательное — Revoke Не может выполнять действия, и

права, обеспечиваемые врамках роли, этого изменить не могут.

REVOKE Ничего (отнимает су- Не можетвыполнятьдействия

ществующее назначение) самостоятельно, но может наследовать нужные права из роли.

www.books-shop.com

ГЛАВА 4: Управление системой безопасности

257

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

Рис. 4-4. Разрешение пользователя хранится как Grant, запрещение — как Revoke; если о пользователе конкретно ничего не известно, информация берется из роли, к которой он принадлежит.

Разрешения, передаваемые пользователю, кумулятивны: он может делать все, что ему разрешено персонально, плюс все, что он наследует как член роли. Команда DENY однозначно запрещает выполнение действия; такое запрещение заменяет любые другие разрешения.

Разрешение на выполнение действий передается командой GRANT:

GRANT {ALL | statement[,...n]} ТО security_account[, ...n]

{ALL[PRIVILEGES]| permission[, ...n]} [(column!, ...n])] ON {table view}

| ON {stored_procedure | extended_procedure}

TO security_account [,...n] [AS {group | role}]

www.books-shop.com

Microsoft SQL Server 2000. Новейшие технологии

Grant

Deny

Рис. 4-5. Схема изменения разрешений при использовании команд DENY, REVOKE, GRANT.

www.books-shop.com

Аргумент All дает пользователю все разрешения, возможные для данного объекта. Аргумент All могут задавать только системные администраторы и владельцы БД.

Выполнение каких-то действий пользователю или роли администратор запрещает команда DENY. Запрет приводит к тому, что у пользователя или роли снимаются права, переданные им непосредственно или наследованные из другой роли; кроме того, сервер позаботится, чтобы в будущем пользователь или роль не унаследовали отобранные права от другой роли.

DENY(ALL | statement[,...n]} ТО security_account[,...n]

DENY (ALL [PRIVILEGES] I permission[, ...n]} {[(columnC ...n])] ON { table|view}

|0N { table | view}[(olumn[,...n])] | {procedure |extended_procedure}}

TO security_account

Как отобрать то, что ранее дано, или вернуть отобранное

Для этого предназначена команда REVOKE (рис. 4-5). Пользователь или роль, у которых отобрано разрешение, могут, однако, наследовать его от другой роли.

ГЛАВА 4: Управление системой безопасности

259

REVOKE [GRANT OPTION FOR] {ALL[PRIVILEGEs] I permission[, ...n]}
Предыдущая << 1 .. 86 87 88 89 90 91 < 92 > 93 94 95 96 97 98 .. 187 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100