From: | Sameer Kumar <sameer(dot)kumar(at)ashnik(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, PostgreSQL General Discussion Forum <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Limiting user from changing its own attributes |
Date: | 2015-05-05 05:23:45 |
Message-ID: | CADp-Sm6otJ1TchG46w90iUCAWrMBZ2F++Z9Hr22qbzMERWr9tA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Sorry about the long silence on this.
On Mon, Apr 13, 2015 at 3:34 PM David G. Johnston <
david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
> On Sun, Apr 12, 2015 at 10:23 PM, Sameer Kumar <sameer(dot)kumar(at)ashnik(dot)com>
> wrote:
>
>> On Mon, Apr 13, 2015 at 1:03 PM Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>
>> wrote:
>>
>
>>> No. I suspect the community would support at least a hook for GUC
>>> changes, if not a full-on permissions system. A hook would make it
>>> fairly easy to add event trigger support.
>>>
>>>
>> I hope someone out there is listening :)
>>
>> I hope I have made my concern clear, I currently don't have a way to
>> control users from changing the parameter values for their own settings,
>> which allows each user to set in-appropriate values e.g. for work_mem.
>>
>>
> If work_mem is the only example you can describe then I'm doubtful that
> any kind of urgency is going to be associated with this request.
>
I guess any parameter which can be altered at the user level should have
some limitations e.g. one may not want to allow a user to reset its own
level of client messages.
As an admin one may want to have control over what a user can alter and
what the user can not alter.
e.g.
"
ALTER USER my_app_user restrict set for client_min_messages;
or
[
ALTER USER my_app_user restrict set for client_min_messages in
('DEBUG');
and
ALTER USER my_app_user restrict set for work_mem limit to 10MB;
]
"
Your actual request does nothing because the same user can simply issue
> "SET work_mem" at session start and bypass the user defaults that you want
> to prevent
>
>
My point is the limitations imposed should not be just at user level but
should also be inherited by all sessions made by that user.
>
> You haven't provided enough meat for anyone to offer advice regarding the
> scenario you are encountering that you think has "restrict alter role" as a
> solution.
>
To put it very simply as a DBA one would want to be in control of what the
users in that environment can change about themselves and what they can not.
> If you want to take the time to actually paint us a picture then maybe
> suggestions or motivation for change will result. But, in the end, the
> current architecture of PostgreSQL means that people with credentials to
> the database have the capability to DoS the server. work_mem is simply one
> possible avenue and, in reality, one where an inappropriate value can be
> either too large or too small.
>
Yes! Plus as an user I can change the logging parameter for my account
(which as well is risky in many environment)
>
> The useful solution here is not restring work_mem but rather having a
> process in place that provides data regarding excessive memory utilization
> AND disk I/O and associating that data with the work_mem value and
> executing user. The event triggers would also allow for monitoring,
> without setting an excessive log_statements level, changes and their values.
>
But that is more of a cure, won't it be a good idea to have some level of
preventive measures to ensure DBAs can control which user can change which
"user-level" value (and even better if we can attach a limit to it).
>
> If you really care about their "set role" aspect you can at least setup
> cron shell script to query the catalog and report any undesirable settings
> and maybe even remove the offending entry. You are still open to "SET
> work_mem" during the session though...
>
> David J.
>
>
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2015-05-05 05:44:07 | Re: Limiting user from changing its own attributes |
Previous Message | Jan de Visser | 2015-05-04 23:35:38 | Re: plpgsql functions organisation |