Re: Largeobject Access Controls (r2460) - Mailing list pgsql-hackers

From Takahiro Itagaki
Subject Re: Largeobject Access Controls (r2460)
Date
Msg-id 20091211141731.8C8A.52131E4D@oss.ntt.co.jp
Whole thread Raw
In response to Re: Largeobject Access Controls (r2460)  (KaiGai Kohei <kaigai@ak.jp.nec.com>)
Responses Re: Largeobject Access Controls (r2460)  (KaiGai Kohei <kaigai@ak.jp.nec.com>)
List pgsql-hackers
KaiGai Kohei <kaigai@ak.jp.nec.com> wrote:

> Tom Lane wrote:
> > Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp> writes:
> >>    <structname>pg_largeobject</structname> should not be readable by the
> >>    public, since the catalog contains data in large objects of all users.
> > 
> > This is going to be a problem, because it will break applications that
> > expect to be able to read pg_largeobject.  Like, say, pg_dump.
> 
> Is it a right behavior, even if we have permission checks on large objects?

Can we use column-level access control here?
  REVOKE ALL ON pg_largeobject FROM PUBLIC;
=> GRANT SELECT (loid) ON pg_largeobject TO PUBLIC;

We use "SELECT loid FROM pg_largeobject LIMIT 1" in pg_dump. We could
replace pg_largeobject_metadata instead if we try to fix only pg_dump,
but it's no wonder that any other user applications use such queries.
I think to allow reading loid is a balanced solution.

> If so, we can inject a hardwired rule to prevent to select pg_largeobject
> when lo_compat_privileges is turned off, instead of REVOKE ALL FROM PUBLIC.

Is it enough to run "GRANT SELECT ON pg_largeobject TO PUBLIC" ?

Regards,
---
Takahiro Itagaki
NTT Open Source Software Center




pgsql-hackers by date:

Previous
From: Jaime Casanova
Date:
Subject: Re: thread safety on clients
Next
From: Robert Haas
Date:
Subject: Re: Adding support for SE-Linux security