11
Передача права
Выдача привилегии с правом передачи
alice=> GRANT привилегии ON объект TO bob WITH GRANT OPTION;
Отзыв привилегии
alice=> REVOKE привилегии ON объект FROM bob CASCADE;
Отзыв права передачи
alice=> REVOKE GRANT OPTION FOR
привилегии ON объект FROM bob CASCADE;
bob
charlie
alice
привилегии
dave
п
р
и
в
и
л
е
г
и
и
п
р
и
в
и
л
е
г
и
и
обязательно,
если привилегия
была передана
другим ролям
При выдаче роли полномочия можно передать ей право дальнейшей
передачи (и отзыва) этого полномочия. Это выполняется командой
GRANT … WITH GRANT OPTION. Если роль воспользуется этим
правом, образуется иерархия ролей.
Отозвать привилегию можно с помощью команды REVOKE. Роль может
отозвать привилегию только у той роли, которой она его выдала.
Например, в ситуации, показанной на слайде, alice не может отозвать
привилегию непосредственно у charlie или dave.
Однако при отзыве привилегии у bob привилегия будет автоматически
отозвана у всех ролей в иерархии. Для этого надо указать ключевое
слово CASCADE (если иерархия непуста, то без CASCADE будет
ошибка).
Право передачи можно отозвать, не отзывая у роли саму привилегию.
Это выполняется с помощью команды REVOKE GRANT OPTION FOR.
Слово CASCADE имеет здесь такое же значение, как и при отзыве
привилегии.