Перейти к основному содержимому

Контроль использования процедурных языков

Описание

Процедурные языки позволяют создавать хранимые процедуры, функции и триггеры. Их использование контролируется через права доступа, тип безопасности языка и установленные расширения.

В СУБД Pangolin по умолчанию не запрещено создание процедур (программного кода), хранимых в базах данных, пользователем баз данных (пользователем информационной системы).

Настройка

Для включения запрета на использование доверенного процедурного языка (например, plpgsql) для роли пользователей базы данных, выполните:

REVOKE USAGE ON LANGUAGE plpgsql FROM username;
Примечание

Не доверенные языки может использовать только пользователь с правами суперпользователя.

Внимание!

При добавлении нового доверенного языка администратор должен отозвать права на использование этого языка у ролиpublic.

Чтобы разрешить выделенной роли (например, proc_admin) создание хранимых процедур, выполните:

GRANT USAGE ON LANGUAGE plpgsql TO proc_admin;
Примечание

При создании пользователей необходимо указывать параметрNOCREATEDB (параметр по умолчанию).