Re: Delegating superuser tasks to new security roles (Was: Granting control of SUSET gucs to non-superusers)

From: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Stephen Frost <sfrost(at)snowman(dot)net>, Noah Misch <noah(at)leadboat(dot)com>, Jacob Champion <pchampion(at)vmware(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, "tgl(at)sss(dot)pgh(dot)pa(dot)us" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "chap(at)anastigmatix(dot)net" <chap(at)anastigmatix(dot)net>
Subject: Re: Delegating superuser tasks to new security roles (Was: Granting control of SUSET gucs to non-superusers)
Date: 2021-11-01 00:24:05
Message-ID: A783AD37-5C8C-4F0A-B873-B7DBF36FAB64@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Oct 29, 2021, at 4:46 PM, Jeff Davis <pgsql(at)j-davis(dot)com> wrote:
>
> But I don't think the concept of role ownership has zero potential
> confusion, either. For instance, I could certainly imagine a user A
> creating a role B (and therefore owning it), and then doing "GRANT A TO
> B". Is there a reason to do that, or is the user confused about what
> membership versus ownership mean?

In general, I think that would be the result of the user being confused. But it is hard to say that definitively, because perhaps users A and C want to create a single user B with the union of both their roles, and have agreed to perform:

user_a% CREATE ROLE B;
user_a% GRANT A TO B;
user_c% GRANT C TO B;

The easiest way of thinking about role ownership is that a role's owner is superuser in so far as that role is concerned. It can drop them, modify them, take their objects away from them, assign other objects to them, etc. Anything a superuser could do to impoverish them, their owner can do to impoverish them. The difference is that an actual superuser can enrich them with anything the superuser likes, whereas their owner can only enrich them with objects and privileges that the owner itself has rights to assign.


Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro Horiguchi 2021-11-01 01:12:07 Re: enhance pg_log_backend_memory_contexts() to log memory contexts of auxiliary processes
Previous Message Andres Freund 2021-10-31 23:24:48 Re: [RFC] building postgres with meson -v