Re: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Роли: управление доступом к другим ролям. Роли как объекты системы безопасности.
В списке pgsql-ru-general по дате отправления:
| От | silly_sad |
|---|---|
| Тема | Re: [pgsql-ru-general] Re[2]: [pgsql-ru-general] Роли: управление доступом к другим ролям. Роли как объекты системы безопасности. |
| Дата | |
| Msg-id | 486CCE9A.3070004@bankir.ru обсуждение исходный текст |
| Ответ на | Re[2]: [pgsql-ru-general] Роли: управление доступом к другим ролям. Роли как объекты системы безопасности. (sftf <sftf-misc@mail.ru>) |
| Список | pgsql-ru-general |
sftf wrote: > Но нет механизма контроля прав доступа одной роли по отношению к другой. > Проблема #1: неуправляемые права ролей с привиоегией CREATEROLE по отношению к другим не суперюзерским ролям. > Проблема #2: ограниченые возможности по котнролю присвоения ролей. create table usr ( name text primary key, privileges text ); create function create_usr (text, text) returns int as $$ declare priv text; begin select into priv privileges from usr where name=session_user; if not my_mega_system_is_admin(priv) then return 0; end if; create role $1 nosuperuser nocreaterole; insert into usr values ($1,$2); end; $$ language plpgsql security definer; это только СХЕМАТИЧЕСКИЙ ПРИМЕР. Идея в следущем. Вы свои привилегии которыми хотите наделить юзеров храните в своей специально (идеально) предназначенной для этого таблице И все ваши админы и неадмины НЕ суперюзеры И управляете содержимым этой таблицы при помощи SECURITY DEFINER функции, которая основываясь на данных о привилегиях либо создаёт для вас юзера либо не создаёт. Разумеется функций будет не одна и их можно зацепить за триггеры. и вообще расширить систему прав КАК ПОЖЕЛАЕТЕ.
В списке pgsql-ru-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера