Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости

Инструкция REVOKE cоветы и хитрости программирования

На большинстве платформ привилегии пользовательского и ролевого уровней изолированы. (Запомните, что роль — это группа привилегий.) Таким образом, пользователь, которому присвоены две роли, может иметь три набора привилегий. В такой ситуации, чтобы полностью отозвать все права, вам, вероятно, придется отменить пользовательские привилегии напрямую и удалить у пользователя обе роли.

Важной стороной команды REVOKE (и дополняющей ее команды GRANT) является то, что некоторые элементы команды связаны с правами уровня объектов, а другие опции больше ориентированы на роли и административные привилегии. Как правило, эти операции никогда не объединяются. Различия между правами доступа к объектам и административными привилегиями объясняются ниже, в разделах, посвященных каждой из платформ. Например, вам может понадобиться отменить некоторые привилегии доступа к объектам, присвоенные роли salesperson или пользователям e_fudd и princeedward.

REVOKE SELECT ON TABLE authors
FROM salespeople RESTRICT;

REVOKE ALL PRIVILEGES ON TABLE sales
FROM e_fudd, prince_edward CASCADE;

Специальные опции {GRANT OPTION, HIERARCHY OPTION и ADMIN OPTION) предназначены для того, чтобы отнимать у пользователей право передавать привилегии другим пользователям.

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

REVOKE GRANT OPTION FOR UPDATE ON sales
FROM manager CASCADE;

Вы также можете удалять у пользователя ролевые привилегии при помощи команды REVOKE.

REVOKE manager FROM e_fudd CASCADE;

Распространенной хорошей практикой является как можно более логичное и понятное написание инструкций REVOKE и GRANT. При этом вам следует избегать предложений CASCADE и ALL PRIVILEGES, поскольку они выполняют такие действия, которые вы можете сразу и не увидеть в инструкции.

Источник