Re: SE-PostgreSQL and row level security

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: SE-PostgreSQL and row level security
Дата
Msg-id 603c8f070902160814g29d2f0edt47d27ff2c5b73775@mail.gmail.com
обсуждение исходный текст
Ответ на Re: SE-PostgreSQL and row level security  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: SE-PostgreSQL and row level security
Список pgsql-hackers
On Mon, Feb 16, 2009 at 10:59 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> 2. Foreign-key constraints.
>> (A) If you have update or delete privileges on a table that is
>> referenced by foreign keys, you might be able to infer the existence
>> of a hidden, referring row because your update or delete fails.
>
> Also the other direction (insert or update on the referencing table
> lets you infer contents of the referenced table).

Ah, right.

>> Is there anything else?
>
> If we ever had SQL-spec ASSERTIONS, they'd create hard-to-analyze
> issues of this sort.  I've also seen people abuse CHECK constraints
> in ways that expose data cross-row (they shouldn't do so, but...)

I can imagine someone doing that.  :-(

>> Also, don't problems 2(A) and 2(B) already exist with just table-level
>> DAC?  What happens today if you give permission on the referring table
>> but not the referred-to table, or the other way around?
>
> I'm repeating myself, but: the reason it isn't a problem now is that
> plain SQL doesn't claim to be able to hide the existence of data.

I'm not sure I understand what you mean by that.  I expect that if I
deny a particular user access to SELECT from a particular table the
system will throw a permissions error if that user later enters
"SELECT * FROM <table-name>".  I don't expect that the system will
foresee every possible alternative way that a user might able to infer
something about the contents of that table and block it.  I similarly
expect that if I install SE-PostgreSQL and configure it to filter out
certain rows from accesses to certain tables, those rows will in fact
be filtered.  I still don't expect it to foresee every possible
alternative way that a user might be able to infer something about the
contents of the data to which the user does not have direct access.

Is this fundamentally a semantic issue?  If there's an asymmetry here
in what is being claimed, I'm not seeing it.

...Robert


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

Предыдущее
От: Laurent Laborde
Дата:
Сообщение: Re: pg_restore --multi-thread
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: autovacuum not honoring pg_autovacuum in 8.3.5?