Отмена привилегий доступа к ресурсам БД и операций с ними

Функция

Определение оператора отмены привилегий доступа к ресурсам БД и операций с ними.

Спецификация
   
< отмена привилегии на обработку данных >::=
REVOKE {ALL [PRIVILEGES] |
{SELECT|INSERT|DELETE|UPDATE|ALTER|INDEX|REFERENCES}[, …]}
ON [TABLE] [имя схемы.]{имя таблицы|имя представления|имя синонима}
FROM {PUBLIC | { имя пользователя | имя роли}[, …]}
< отмена привилегии на доступ к ресурсам БД >::=
REVOKE {CONNECT | RESOURCE | DBA | BACKUP}
FROM имя пользователя[, …]
Синтаксические правила
  1. Спецификация конструкций < привилегия >, < пользователь >, < категория пользователя >, < список пользователей > приведена в подпункте Определение привилегий доступа к ресурсам БД и операций с ними.

  2. < Имя таблицы > должно задавать базовую таблицу.

  3. Опция ALL равнозначна списку, отменяющему все привилегии для < имени таблицы > (SELECT+INSERT+DELETE+UPDATE+ALTER+INDEX+REFERENCES).

    revoke all on auto from "Иванов";
  4. Если вместо списка пользователей указано PUBLIC, то для всех пользователей (существующих и будущих) указанные привилегии будут отменены, за исключением тех пользователей, которым эти привилегии назначены персонально.

    revoke select, index on Auto from PUBLIC;
  5. Привилегии может отменять только владелец таблицы/представления/синонима.

  6. Нельзя отменить привилегии самому себе.

  7. Отнять (понизить) категорию пользователя может только администратор БД (категория DBA). При этом считается, что категория DBA включает в себя привилегии категории RESOURCE и категория RESOURCE включает в себя привилегии категории CONNECT, т.е. категории упорядочены. Когда отнимается какая-либо категория, это означает снижение категории на один уровень. Например:

    Существующая категорияОтнимаемая категорияПолучаемая категория
    DBADBARESOURCE
    DBARESOURCECONNECT
    RESOURCERESOURCECONNECT
    REVOKE RESOURCE FROM User_1,User_2;
  8. Лишение всех привилегий (CONNECT) равноценно запрету доступа пользователя к БД.

  9. Конструкция REVOKE REFERENCES … отменяет ранее предоставленную привилегию REFERENCES, т.е. запрещает создавать ссылки на столбец (столбцы) указанной в < имени таблицы > таблицы от других таблиц БД.

  10. Конструкция REVOKE BACKUP запрещает пользователю оперативное архивирование БД или её отдельных объектов.