Контроль использования процедурных языков
Описание
Процедурные языки позволяют создавать хранимые процедуры, функции и триггеры. Их использование контролируется через права доступа, тип безопасности языка и установленные расширения.
В СУБД Pangolin по умолчанию не запрещено создание процедур (программного кода), хранимых в базах данных, пользователем баз данных (пользователем информационной системы).
Настройка
Для включения запрета на использование доверенного процедурного языка (например, plpgsql) для роли пользователей базы данных, выполните:
REVOKE USAGE ON LANGUAGE plpgsql FROM username;
Не доверенные языки может использовать только пользователь с правами суперпользователя.
При добавлении нового доверенного языка администратор должен отозвать права на использование этого языка у ролиpublic.
Чтобы разрешить выделенной роли (например, proc_admin) создание хранимых процедур, выполните:
GRANT USAGE ON LANGUAGE plpgsql TO proc_admin;
При создании пользователей необходимо указывать параметрNOCREATEDB (параметр по умолчанию).