Search Postgresql Archives

Re: security permissions for functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In response to "Ted Byers" <r.ted.byers@xxxxxxxxxx>:
> >
> > Functions are controlled by the same ACL mechanism that tables and 
> > everything
> > else follows.  Thus you have the idea of "user id X may do Y with object 
> > Z"
> > i.e. "user "barbara" may "execute" function "somefunction()".
> >
> > But there's no real way to alter those permissions outside of changing the
> > user ID context.
> 
> So, I should be able to have "user "barbara" "execute" function 
> "somefunction()", but, though barbara must not have access of object alpha 
> lets say for data security reasons (and user sarah does), I could have 
> function somefunction invoke another function that stores information about 
> barbara's action to object alpha by changing user context temporarily and 
> without barbara's knowledge; basically saying within function 
> "somefunction()" something like "execute function 'someotherfunction()' 
> impersonating sarah and stop impersonating sarah once someotherfunction 
> returns.  Much like the way I can log in to Windows or Linux as one user and 
> temporarily impersonate another while executing a particular program or 
> administrative function (e,g, log into Linux as a mere mortal, start a bash 
> shell providing credentials for an admin account, do my admin type stuff and 
> then close the shell).
> 
> Or have I misunderstood you here WRT user ID context?

No, you're on track.  Have a look at the docs for CREATE FUNCION:
http://www.postgresql.org/docs/8.1/static/sql-createfunction.html

Specifically the section on SECURITY INVOKER and SECURITY DEFINER.
SECURITY DEFINER gives you the equivalent of "setuid" capability

-- 
Bill Moran
http://www.potentialtech.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux