Разделение прав
От | Andrey N. Oktyabrski |
---|---|
Тема | Разделение прав |
Дата | |
Msg-id | 43F1BB57.8070608@antora.ru обсуждение исходный текст |
Ответы |
Re: Разделение прав
Re: Разделение прав |
Список | pgsql-ru-general |
Здравствуйте. Стоит такая задача: есть несколько таблиц, записи в них имеют признак типа "такой-то юзер постгреса имеет право на 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?
В списке pgsql-ru-general по дате отправления: