Re: HIPPA (was Re: Anyone know ...)

From: Kenneth Downs <ken(at)secdat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Ron Johnson <ron(dot)l(dot)johnson(at)cox(dot)net>, pgsql-general(at)postgresql(dot)org
Subject: Re: HIPPA (was Re: Anyone know ...)
Date: 2007-03-10 15:12:17
Message-ID: 45F2CAD1.8030209@secdat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tom Lane wrote:
> Kenneth Downs <ken(at)secdat(dot)com> writes:
>
>> The biggest security limitation we have is actually a weakness in
>> Postgres - the inability to restrict the abilities of a user with
>> CREATUSER rights, they can make somebody who can do anything. For
>> higher security this requires no ability for public registration of
>> accounts. This would be solved if we could restrict a CREATUSER user to
>> only GRANTing to roles they themselves are in.
>>
>
> I thought about this for awhile, but I think you are missing the reason
> why it's designed the way it is. The point of CREATEROLE privilege is
> to be a slightly safer form of superuser: that is, to allow the DBA to
> do all his day-to-day management of user accounts without being a real
> superuser who can corrupt the database arbitrarily badly. If we
> restricted CREATEROLE as you suggest, then either DBAs would have to
> make their CREATEROLE account a member of every role they manage, or
> they'd have to run as real superusers. Either choice represents a
> significant increase in the capabilities of the CREATEROLE account and
> thus more chance for mistakes. So while a miscreant with CREATEROLE
> can certainly avail himself of any database privilege short of
> superuserness, in the intended use of the feature it is actually
> possible for DBAs to operate with *fewer* privileges than they would
> need to get useful work done if we adopted your suggestion.
>

Tom, it sounds like you've thought this through, and I can't disagree
with the reality of what DBA's are doing, but does it have to be one or
the other?

Perhaps a lesser form of CREATEROLE, CREATEROLE_LIMITED, who can create
roles and only grant to the roles he himself is a member of.

This suggestion I think would be in line with your own reasoning. Just
as CREATEROLE is a lesser SUPERUSER, so CREATEROLE_LIMITED is the next
logical extension, a lesser CREATEROLE.

At any rate, I hope I can convince somebody, cuz ole Ken don't code in C
no more :)

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sorin Schwimmer 2007-03-10 15:44:45 Re: query ... returned 4 columns
Previous Message Dan Sugalski 2007-03-10 13:30:20 Re: Moving from 32 to 64 bit builds on Solaris