altering objects owned by other user

From: Marc Munro <marc(at)bloodnok(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: altering objects owned by other user
Date: 2006-02-13 19:07:14
Message-ID: 1139857635.10282.16.camel@bloodnok.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I want to allow a non-superuser to alter objects owned by another user.
This should be an audited operation (logging a notice of what was done
to the postgres logs is sufficient).

This is so that I can allow trusted users to perform maintenance
operations without having to give them either superuser privilege, or
the password for the object owner account. This should allow us to
satisfy an outside auditor that no-one outside of the sysadmin group has
unrestricted (ie unaudited) superuser access.

I had hoped to implement this using set session authorization within a
security-definer plpgsql function but security-definer is inadequate for
passing on superuser status.

Does anyone have any suggestions?

My current thinking is to implement a C language function which is only
accessible to my trusted users. This would simply call
SetSessionAuthorization with the is_superuser argument set to true. Is
this a horrible idea?

Thanks.

__
Marc

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2006-02-13 19:18:07 Re: altering objects owned by other user
Previous Message Tom Lane 2006-02-13 18:48:27 Re: type int2vector