18
Привилегии по умолчанию
Привилегии псевдороли public
подключение к любой базе данных
доступ к системному каталогу
выполнение любых подпрограмм
привилегии выдаются автоматически для каждого нового объекта
Настраиваемые привилегии по умолчанию
возможность дополнительно выдать или отозвать привилегии
для вновь создаваемого объекта
Как уже говорилось, псевдороль public включает в себя все остальные
роли, которые, таким образом, пользуются всеми привилегиями,
выданными для public.
При этом public имеет довольно широкий спектр привилегий по
умолчанию. В частности:
●
право подключения к любой базе данных (именно поэтому роль alice
смогла подключиться к базе данных несмотря на то, что привилегия
CONNECT не выдавалась ей явно);
●
доступ к системному каталогу;
●
выполнение любых подпрограмм.
Это, с одной стороны, позволяет комфортно работать, не задумываясь
о привилегиях, а с другой — создает определенные сложности, если
разграничение доступа действительно необходимо.
Описанные выше привилегии появляются у public автоматически при
создании новых объектов. То есть недостаточно, например, просто
отозвать у public привилегию EXECUTE на все подпрограммы: как
только появится новая, public немедленно получает привилегию на ее
выполнение.
Однако существует специальный механизм «привилегий по
умолчанию», который позволяет автоматически выдавать и отзывать
привилегии при создании нового объекта. Этот механизм можно
использовать и для отзыва права выполнения функций у псевдороли
public.