Отмена полномочий

Отмена полномочий

Оператор REVOKE требуется для удаления полномочий, назначенных операторами GRANT. Согласно стандарту, REVOKE должен каскадом отменить все привилегии, полученные всеми пользователями как результат WITH GRANT OPTION от данного пользователя. Однако вам не следует на это полагаться в Firebird, потому что конфликт правил стандарта при некоторых условиях может привести к логике реализации, отличной от предложенной в стандарте.

Операторы REVOKE могут отменить любую привилегию, которую может назначить оператор GRANT. Только пользователь SYSDBA или пользователь, предоставивший привилегию, могут отменить ее- те же самые или другие привилегии, предоставленные другими пользователями, не отменяются.

Полномочия, предоставленные "в куче", не могут отменяться индивидуально. Это означает:

* привилегия, которую пользователь получил в результате назначения ALL или в качестве роли, может быть отменена только предоставившим эту привилегию, путем отмены ALL или роли соответственно;

* отмена привилегии у пользователя, который получил ее путем PUBLIC или группы UNIX, может быть выполнена предоставившим эту привилегию путем отмены PUBLIC или группы соответственно;

* привилегии, предоставленные для PUBLIC, могут быть отменены только FROM PUBLIC.

Использование REVOKE

Упрощенный синтаксис для REVOKE внешне отличается от синтаксиса GRANT. Предложение ТО <получатель> заменяется на FROM <получатель?.

REVOKE <привилегии>

ON <объект>

FROM <получатель> ;

Следующий оператор отменяет привилегию SELECT К таблице DEPARTMENT у пользователя KILROY, если он получил ее при выполнении GRANT SELECT:

REVOKE SELECT ON DEPARTMENT FROM KILROY;

Следующий оператор отменяет привилегию UPDATE К таблице CUSTOMER для процедуры

COUNT_BEANS:

REVOKE UPDATE ON CUSTOMER FROM PROCEDURE COUNT_BEANS;

Следующий оператор удаляет привилегию EXECUTE, которая была предоставлена процедуре COUNT_BEANS К процедуре ABANDON_OLD:

REVOKE EXECUTE ON PROCEDURE ABANDON_OLD FROM PROCEDURE COUNT_BEANS;

Удаление множества привилегий

Для удаления нескольких, но не всех привилегий, предоставленных пользователю или процедуре, перечислите удаляемые привилегии, отделив их друг от друга запятыми. К примеру, следующий оператор удаляет привилегии INSERT и UPDATE к таблице DEPARTMENT у пользователя SERENA:

REVOKE INSERT, UPDATE ON DEPARTMENT FROM SERENA;

Следующий оператор удаляет две привилегии к таблице CUSTOMER у хранимой процедуры COUNT_BEANS:

REVOKE INSERT, DELETE

ON CUSTOMER

FROM PROCEDURE COUNT_BEANS;

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

Как и в случае GRANT, отмена привилегий REVOKE ALL объединяет привилегии SELECT, INSERT, UPDATE, DELETE и REFERENCES в одном выражении. Данный оператор отменит любое из этих назначенных полномочий.

Например, следующий оператор отменит все привилегии доступа к таблице

DEPARTMENTS у пользователя MAGPIE:

REVOKE ALL ON DEPARTMENTS FROM MAGPIE;

Если пользователь не имеет всех привилегий, включенных в ALL, оператор не вызовет исключения. Оператор REVOKE ALL может быть особенно полезным, если вы не знаете, какие привилегии имеет пользователь. Нет необходимости решать проблему устранения всех полномочий, доступных пользователю, потому что у REVOKE ALL есть ограничения на то, что он способен отменить.

Чего не отменяет REVOKE ALL

REVOKE ALL не отменяет:

* привилегии, наследуемые вместе с ролью;

* привилегии, полученные как PUBLIC;

* привилегии EXECUTE.

Отмена привилегии EXECUTE

Синтаксис отмены привилегии EXECUTE к хранимой процедуре:

REVOKE EXECUTE

ON PROCEDURE <имя-процедуры>

FROM <получатель> [, <получатель> [, ...]]

| [TRIGGER <имя-триггера> [, <имя-триггера> [,...]]

[PROCEDURE <имя-процедуры> [, <имя-процедуры> [, ...]]

[VIEW <имя-просмотра> [, VIEW <имя-просмотра> [, ...]];

Следующий оператор удаляет привилегию EXECUTE у пользователя HPOTTER к процедуре COUNT_CHICKENS:

REVOKE EXECUTE ON PROCEDURE COUNT_CHICKENS FROM HPOTTER;

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Уничтожение (отмена) потока

Из книги автора

Уничтожение (отмена) потока Корректное завершение выполняющегося потока «извне», из другого потока (то есть асинхронно относительно прерываемого потока), — задача отнюдь не тривиальная; она намного сложнее аналогичной задачи прерывания процесса. Это связано с


22.2.1. Передача полномочий

Из книги автора

22.2.1. Передача полномочий Многие программы, которые требуют определенных прав доступа, используют эти права только во время запуска. Например, некоторые сетевые демоны могут активизироваться только привилегированным пользователем для того, чтобы они имели возможность


Отмена действия

Из книги автора

Отмена действия Если вы выполнили ненужное или неправильное действие, например случайно удалили объект, то можете отменить ошибочное действие. Для этого предназначена кнопка Undo (Возврат) на главной панели инструментов. Каждый щелчок на ней позволяет последовательно


4.2. Отмена потока

Из книги автора

4.2. Отмена потока Обычно поток завершается при выходе из потоковой функции или вследствие вызова функции pthread_exit(). Но существует возможность запросить из одного потока уничтожение другого. Это называется отменой, или принудительным завершением, потока.Чтобы отменить


Отмена объектной привязки

Из книги автора

Отмена объектной привязки Snap to None – режим отмены всех текущих и разовых режимов объектной


Имеет ли владелец серверного процесса достаточно полномочий для открытия файлов?

Из книги автора

Имеет ли владелец серверного процесса достаточно полномочий для открытия файлов? Полномочия к файловой системе, включая права к каталогам, могут вызвать проблемы в POSIX. Полномочия к каталогам могут вызвать проблемы в разделах Windows MTFS.Серверному процессу может


Менеджеры полномочий

Из книги автора

Менеджеры полномочий Попробуйте использовать эти инструменты для упрощения управления пользователями, ролями и полномочиями SQL:* Grant Manager от Eadfost на http://www.eadsoft.com/english/products/ grantmanager. Пробная версия этого продукта под Windows доступна в качестве 30-дневной утилиты в виде отдельной


Отмена объектной привязки

Из книги автора

Отмена объектной привязки Snap to None – режим отмены всех текущих и разовых режимов объектной


6.2. Временное получение полномочий пользователя root

Из книги автора

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


Отмена и повторение изменений

Из книги автора

Отмена и повторение изменений Многие действия, произведенные над проектом, можно отменить. Выполняется это с помощью команды меню Монтаж ? Отменить <действие>. Вместо <действие> после слова Отменить в названии пункта меню записано, какое конкретно действие будет


Отмена открытого ключа.

Из книги автора

Отмена открытого ключа. Предположим, что ваш секретный ключ и фраза пароля каким-то образом были скомпрометированы. Вы должны сообщить об этом миру, чтобы никто более не использовал ваш открытый ключ. Для этого вы должны выпустить удостоверение отмены ключа для отмены


Отмена ошибочных действий

Из книги автора

Отмена ошибочных действий Если вы ошиблись при выполнении любой операции с текстом, не расстраивайтесь, даже если удалили большой фрагмент нужного текста. Word автоматически запоминает все выполняемые вами действия и позволяет отменить любые из них, вплоть до самого


Отмена выполненного действия

Из книги автора

Отмена выполненного действия Все мы делаем ошибки, и не всегда их можно исправить. В компьютере, если какой-либо файл был ошибочно удален, переименован, перемещен или скопирован, выполненную с ним операцию можно отменить. Если вы, к примеру, сначала переместили файл, затем


Механизмы создания и обработки политики полномочий

Из книги автора

Механизмы создания и обработки политики полномочий Поддерживаемый PKI сервис управления полномочиями зависит от существования политик, которые описывают определенные полномочия отдельных индивидов, групп или ролей (должностей). Простой пример - список управления


Глава 14. Разделение полномочий между технарями и бизнесменами

Из книги автора

Глава 14. Разделение полномочий между технарями и бизнесменами Одним из основополагающих правил нашей стратегии является то, что технари концентрируются на решении технических проблем, а бизнесмены – на решении бизнес-проблем. Проект должен управляться