Re: Altering view ownership doesn't work ... - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Altering view ownership doesn't work ...
Date
Msg-id 200605050937.k459bhO28397@candle.pha.pa.us
Whole thread Raw
In response to Re: Altering view ownership doesn't work ...  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Agreed, RULE permissions seem to be of limited usefulness.

---------------------------------------------------------------------------

Tom Lane wrote:
> Martijn van Oosterhout <kleptog@svana.org> writes:
> > On Sun, Apr 30, 2006 at 12:34:42PM -0400, Tom Lane wrote:
> >> 2. Run setRuleCheckAsUser during rule load rather than rule store.
> 
> > FWIW, I think #2 is better also.
> 
> Actually, I'm sitting here realizing the problem is more complicated
> than I thought :-(.  The spanner in the works is the existence of the
> RULE privilege --- a table owner can grant someone else the right to add
> rules to his table.  As things currently work, when the someone else
> does so, it's *his* OID not the table owner's that gets put into the
> rule's checkAsUser fields.  Thus for example the someone else could add
> a logging rule that makes entries into a table that the actual table
> owner has no permissions for.
> 
> Whether or not you consider that sort of thing useful, it would
> certainly be bad to use the table owner's OID for such permission
> checks, because then granting RULE privilege on any table would be
> tantamount to handing over every permission the table owner has ---
> the grantee would be able to install arbitrary SQL to be executed as
> the table owner.  So really the RULE privilege only makes sense if a
> rule is considered to be a separate object with separate ownership.
> 
> So it seems we either have to abandon the separate RULE privilege
> (and just say that only table owners can install rules, and the
> rules are always executed as though by the current owner), or we
> have to promote rules to be fully separately owned objects.  The
> latter will be a horrid mess, in particular it will break existing
> dump files that just ALTER the table's owner and don't go through
> altering ownership of individual rules.  (No, we can't have ALTER
> TABLE OWNER automatically recurse to the individual rules, that'd just
> create the same Trojan-horse situation where a malicious rule now has
> the privileges it didn't have to start with.)
> 
> I'm inclined to think that the best choice is to drop the separate
> RULE privilege.  It's an interesting feature but I gauge its actual
> usefulness by the fact that I didn't even realize it worked like that.
> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
> 

--  Bruce Momjian   http://candle.pha.pa.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Is a SERIAL column a "black box", or not?
Next
From: Jim Nasby
Date:
Subject: Transactions per second