FirebirdSQL logo

Отзыв привилегий с использованием GRANTED BY

Example 1. Отзыв привилегий на таблицу с использованием GRANTED BY
-- отзыв привилегии SELECT у пользователя IVAN,
-- которая была выдана пользователем ALEX
REVOKE SELECT ON TABLE EMPLOYEE
FROM USER IVAN GRANTED BY ALEX;

REVOKE ALL ON ALL

Если после ключевого слова REVOKE указано предложение ALL ON ALL, то это позволяет отменить все привилегии (включая роли) на всех объектах от одного или более пользователей и/или ролей.Это быстрый способ “очистить” (отобрать) права, когда пользователю должен быть заблокирован доступ к базе данных.

Note
  • Когда оператор REVOKE ALL ON ALL вызывается привилегированным пользователем (владельцем базы данных, SYSDBA или любым пользователем, у которого CURRENT_ROLE — RDB$ADMIN), удаляются все права независимо от того, кто их предоставил. В противном случае удаляются только права, предоставленные текущим пользователем;

  • Не поддерживается предложение GRANTED BY;

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

Example 1. Отзыв всех привилегий и ролей у пользователя
REVOKE ALL ON ALL FROM IVAN;

После выполнения этой команды у пользователя IVAN нет вообще никаких прав.

См. также:

GRANT.