Re: function body actors (was: [PERFORM] viewing source code) - Mailing list pgsql-hackers

From Andrew Sullivan
Subject Re: function body actors (was: [PERFORM] viewing source code)
Date
Msg-id 20071221205619.GD3864@crankycanuck.ca
Whole thread Raw
In response to Re: function body actors (was: [PERFORM] viewing source code)  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: function body actors (was: [PERFORM] viewing source code)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, Dec 21, 2007 at 01:57:44PM -0500, Tom Lane wrote:
> "Merlin Moncure" <mmoncure@gmail.com> writes:
> > ISTM the main issue is how exactly the authenticated user interacts
> > with the actor to give it the information it needs to get the real
> > key.  This is significant because we don't want to be boxed into an
> > actor implementation that doesn't allow that interaction.
> 
> We don't?  What purpose would such a setup serve?  I would think
> that for the applications we have in mind, the *last* thing you
> want is for the end user to hold the key.  The whole point of this
> is to keep him from seeing the function source code, remember?

Hmm; this may be exactly part of the problem, though.  It seems there are
two possible cases in play:

1.    Protect the content in the database (in this case, function bodies)
from _all_ users on a given server.  This is a case where you want to
protect (say) your function body from your users, because you have a
closed-source application.  

2.    Protect the content of a field from _some_ users on a given system,
based on the permissions they hold.  This is roughly analagous to others not
being able to look in the table I created, because I haven't GRANTed them
permission.

(2) is really a case for column-level access controls, I guess.  But if
we're trying to solve this problem too, then user passwords or something
make sense.

A



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Postgres.bki
Next
From: Bruce Momjian
Date:
Subject: Re: pgindent issue with EXEC_BACKEND-only typedefs