Re: SYSTEM_USER reserved word implementation
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Joe Conway <mail@joeconway.com>, Jacob Champion <jchampion@timescale.com>, "Drouvot, Bertrand" <bdrouvot@amazon.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-06-22T16:51:04Z
Lists: pgsql-hackers
On Wed, Jun 22, 2022 at 9:28 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Joe Conway <mail@joeconway.com> writes: > > On 6/22/22 11:52, Tom Lane wrote: > >> I think a case could be made for ONLY returning non-null when authn_id > >> represents some externally-verified identifier (OS user ID gotten via > >> peer identification, Kerberos principal, etc). > > > But -1 on that. > > > I think any time we have a non-null authn_id we should expose it. Are > > there examples of cases when we have authn_id but for some reason don't > > trust the value of it? > > I'm more concerned about whether we have a consistent story about what > SYSTEM_USER means (another way of saying "what type is it"). If it's > just the same as SESSION_USER it doesn't seem like we've added much. > > Maybe, instead of just being the raw user identifier, it should be > something like "auth_method:user_identifier" so that one can tell > what the identifier actually is and how it was verified. > > I was thinking this was trying to make the following possible: psql -U postgres # set session authorization other_superuser; # set role other_role; # select system_user, session_user, current_user; postgres | other_superuser | other_role Though admittedly using "system" for that seems somehow wrong. connection_user would make more sense. Then the system_user would be, if applicable, an external identifier that got matched with the assigned connection_user. I can definitely see having the external identifier be a structured value. David J.
Commits
-
Introduce SYSTEM_USER
- 0823d061b0b7 16.0 landed
-
Add some information about authenticated identity via log_connections
- 9afffcb833d3 14.0 cited