Re: Granting SET and ALTER SYSTE privileges for GUCs

Mark Dilger <mark.dilger@enterprisedb.com>

From: Mark Dilger <mark.dilger@enterprisedb.com>
To: Joshua Brindle <joshua.brindle@crunchydata.com>
Cc: Andrew Dunstan <andrew@dunslane.net>, Robert Haas <robertmhaas@gmail.com>, Jeff Davis <pgsql@j-davis.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>, Joe Conway <joe@crunchydata.com>
Date: 2021-12-15T15:56:12Z
Lists: pgsql-hackers

Attachments


> On Dec 14, 2021, at 2:26 PM, Joshua Brindle <joshua.brindle@crunchydata.com> wrote:
> 
> currently there is a failure in check-world (not sure if it's known):

That one is definitely my fault.  'en_US.UTF-8' exists on my platform, so I hadn't noticed.  I've changed it to use 'C', which should be portable.

> One thing that seems like an omission to me is the absence of a
> InvokeObjectPostAlterHook in pg_setting_acl_aclcheck or
> pg_setting_acl_aclmask so that MAC extensions can also block this,
> InvokeObjectPostCreateHook is already in the create path so a
> PostAlter hook seems appropriate.

Good catch, but that seems like a strange place to put a PostAlterHook, so I added it to ExecGrant_Setting for v6, instead.  This seems more consistent with the hook in SetDefaultACL.

(If you are really trying to do Managed Access Control (MAC), wouldn't that be a separate patch which adds security hooks into all *_aclcheck functions?)


Commits

  1. Allow granting SET and ALTER SYSTEM privileges on GUC parameters.