Re: Разделение прав

Поиск
Список
Период
Сортировка
От Andrey N. Oktyabrski
Тема Re: Разделение прав
Дата
Msg-id 43F1EE8D.30806@antora.ru
обсуждение исходный текст
Ответ на Разделение прав  ("Andrey N. Oktyabrski" <ano@antora.ru>)
Ответы Re: Разделение прав  (Oleg Bartunov <oleg@sai.msu.su>)
Список pgsql-ru-general
Andrey N. Oktyabrski wrote:
> Здравствуйте.
>
> Стоит такая задача:
> есть несколько таблиц, записи в них имеют признак типа "такой-то юзер
> постгреса имеет право на select/update этой записи", надо сделать
> как-то, чтобы юзер не мог сделать то, что ему запрещено.
>
> Я планировал сделать это так:
> create table _tbl (...);
> create view tbl as select * from _tbl where owner = session_user();
> revoke all on tbl from <юзер>;
> grant select on tbl to <юзер>;
> revoke all on _tbl from <юзер>;
> grant insert, update, delete on _tbl to <юзер>;
>
> Но тогда
> update _tbl set fld = 123 where id = 21;
> не работает - постгрес говорит, что нет прав. grant select on _tbl to
> <юзер> спасает, но я не хочу чтобы юзер читал из таблицы, для этого
> сделано представление-подмножество таблицы.
>
> Как выйти из положения? Или есть какое-то решение без view?
Да, мысль пришла... Может ли кто-нибудь подсказать, в каком месте хачить
исходники постгреса на предмет разрешения update без прав на select? С
целью соорудить патч и попытаться попросить Олега закоммитить его :-)
Если это, конечно, politically correct solution.

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Andrey N. Oktyabrski"
Дата:
Сообщение: Re: Разделение
Следующее
От: Oleg Bartunov
Дата:
Сообщение: Re: Разделение прав