Re: security_definer_search_path GUC

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: security_definer_search_path GUC
Дата
Msg-id CAFj8pRA5pW2bbcpkZjTc3Ww-4s4fDyVfXCrhoHpZ69E7nR3WvA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: security_definer_search_path GUC  (Mark Dilger <mark.dilger@enterprisedb.com>)
Список pgsql-hackers


čt 3. 6. 2021 v 21:11 odesílatel Mark Dilger <mark.dilger@enterprisedb.com> napsal:


> On Jun 3, 2021, at 12:06 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>
>
>
> čt 3. 6. 2021 v 20:25 odesílatel Mark Dilger <mark.dilger@enterprisedb.com> napsal:
>
>
> > On Jun 3, 2021, at 9:38 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> >
> > This design looks good for extensions, but I am not sure if it is good for users. Some declarative way without necessity to programming or install some extension can be nice.
>
> I agree, though "some declarative way" is a bit vague.  I've had ideas that perhaps superusers should be able to further restrict the [min,max] fields of int and real GUCs.  Since -1 is sometimes used to mean "disabled", syntax to allow specifying a set might be necessary, something like [-1, 60..600].  For text and enum GUCs, perhaps a set of regexps would work, some being required to match and others being required not to match, such as:
>
>         search_path !~ '\mcustomerx\M'
>         search_path ~ '^pg_catalog,'
>
> If we did something like this, we'd need it to play nicely with other filters provided by extensions, because I'm reasonably sure not all filters could be done merely using set notation and regular expression syntax.  In fact, I find it hard to convince myself that set notation and regular expression syntax would even be useful in a large enough number of cases to be worth implementing.  What are your thought on that?
>
> I don't think so for immutable strings we need regular expressions.  Maybe use some special keyword
>
> search_path only "pg_catalog"

I think we're trying to solve different problems.  I'm trying to allow non-superusers to set GUCs while putting constraints on what values they choose.  You appear to be trying to revoke the ability to set a GUC by forcing it to only ever have a single value.

My proposal doesn't mean the search_path cannot be changed - it limits possible values like your patch. Maybe we can get inspiration from pg_hba.conf
 


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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: speed up verifying UTF-8
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: CALL versus procedures with output-only arguments