Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Команда GRANT




 

Назначает системные привилегии, роли и объектные привилегии пользователям и ролям.

Условия:

Чтобы назначить системную привилегию, необходимо либо иметь эту привилегию, причем она должна быть назначена с опцией WITH ADMIN OPTION, либо иметь системную привилегию GRANT ANY PRIVILEGE. Чтобы назначить роль, необходимо либо иметь эту роль, причем она должна быть назначена с опцией WITH ADMIN OPTION, либо иметь системную привилегию GRANT ANY ROLE.

Чтобы назначить привилегию на объект, необходимо либо иметь этот объект в своей схеме, либо иметь эту привилегию, причем она должна быть назначена с опцией GRANT OPTION.

Синтаксис (системная привилегия):

Ключевые слова и параметры:

system_priv — назначаемая системная привилегия

user — пользователь

role — назначаемая роль

PUBLIC — привилегия или роль передается всем пользователям

WITH ADMIN OPTION — если предоставлены системные полномочия или роли, то параметр позволяет пользователю передать полномочие или роль другим пользователям или ролям.

Синтаксис (объектная привилегия):

Ключевые слова и параметры:

object_priv — назначаемая объектная привилегия

column - специфицирует столбец таблицы или представления, по которому назначаются привилегии. Можно специфицировать столбцы только при назначении привилегии INSERT, REFERENCES или UPDATE. Если не указаны столбцы, то привилегия назначается по всем столбцам таблицы или представления

ON - идентифицирует объект, по которому назначаются привилегии. Если не указано имя схемы (schema), то считается, что объект находится в схеме того пользователя, который назначает привилегии

user — пользователь

role — назначаемая роль

PUBLIC — привилегия или роль передается всем пользователям

WITH ADMIN OPTION — если предоставлены системные полномочия или роли, то параметр позволяет пользователю передать полномочие или роль другим пользователям или ролям.

 

Пример 1. Предположим, пользователь Р1 является владельцем таблицы student и нужно передать пользователю Р2 право на формулирование запросов к этой таблице:

GRANT SELECT ON student TO P2;

 

Пример 2. Пользователь Р1, являющийся владельцем таблицы student, может разрешить пользователю Р2 вводить строки в нее:

GRANT INSERT ON student TO P2;

 

Пример 3. Передача привилегий не ограничивается передачей единственной привилегии единственному пользователю с помощью одной команды GRANT. Допустимы списки привилегий и/или пользователей с элементами, разделенными запятыми:

GRANT SELECT, INSERT ON student TO P2;

GRANT SELECT, INSERT ON student TO P2, Р3;

 

Пример 4. Можно разрешить пользователю изменять значения любого или всех столбцов таблицы:

GRANT UPDATE ON student TO P2;

GRANT UPDATE (fam,ball) ON student TO P2;

 

Пример 5. Если необходимо предоставить кому-то все полномочия на конкретный объект, используется ключевое слово ALL:

GRANT ALL ON student ТО Р2;

 

Пример 6. Когда передаются привилегии с атрибутом PUBLIC, который относится к пользователям, а не к привилегиям, то все пользователи получают их автоматически. Чаще всего это применяется для привилегии SELECT для определенных таблиц или представлений, которые нужно предоставить каждому пользователю для рассмотрения. Разрешить каждому пользователю просматривать таблицу student можно следующей командой:

GRANT SELECT ON student TO PUBLIC;

 

Пример 7. Иногда создатель таблицы хочет, чтобы другие пользователи имели право передавать привилегии на эту таблицу. Это можно сделать с помощью предложения WITH GRANT OPTION. Если пользователь Р1 желает, чтобы пользователь Р2 имел право передавать полномочия на работу с таблицей student другим пользователям, то он должен передать пользователю Р2 привилегию на выполнение соответствующих команд:

GRANT SELECT, INSERT ON student ТО Р2 WITH GRANT OPTION;

 

Пример 8. Владелец роли MY_ROLE хочет предоставить право на использование данной роли пользователю P2:

GRANT my_role ТО Р2;

В начало




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 495; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.