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

From: "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru>
To: "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru>
Cc: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: Разделение прав
Date: 2006-02-14 14:51:57
Message-ID: 43F1EE8D.30806@antora.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Oleg Bartunov 2006-02-14 15:43:43 Re: Разделение прав
Previous Message Andrey N. Oktyabrski 2006-02-14 12:08:13 Re: Разделение