powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Непонятка с ролями
6 сообщений из 6, страница 1 из 1
Непонятка с ролями
    #39724520
matty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть следующая ситуация.

w1 - роль
r1 - роль
writer - групповая роль, в которой сидит w1.
reader - групповая роль с r1.

у нас есть
revoke all на public от public
grant all для writer на puplic
grant usage для reader на public

дальше делаем дефолтовые привилегии на роль writer типа select на все таблицы для reader

что смущает.
если мы из под роли writer создадим таблицу, роль r1 сможет ее прочитать, это понятно.
если мы создадим табличку из под w1, r1 скажет, что у нее нет прав на чтение. Проблему не решает даже смена владельца таблицы с w1 на writer.

Вопрос то простой, почему не прокидываются гранты на дочерок writer?
...
Рейтинг: 0 / 0
Непонятка с ролями
    #39724613
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
matty,

Я так понимаю вы ищете вот это: https://www.postgresql.org/docs/current/static/sql-alterdefaultprivileges.html
Дефолтные гранты при создании объектов пользователем.

А в целом сделано специально. Если нет дефолтных грантов, то своими объектами может пользоваться только сам пользователь. Не зависит от прав на schema.
...
Рейтинг: 0 / 0
Непонятка с ролями
    #39724618
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mattyВопрос то простой, почему не прокидываются гранты на дочерок writer?
Так и ответ простой.
В ALTER DEFAULT PRIVILEGES это не поддерживается.
...
Рейтинг: 0 / 0
Непонятка с ролями
    #39724623
matty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел ЛузановmattyВопрос то простой, почему не прокидываются гранты на дочерок writer?
Так и ответ простой.
В ALTER DEFAULT PRIVILEGES это не поддерживается.

Т.е. ALTER DEFAULT PRIVILEGES действует только на ту роль, что явно указана, несмотря на то, что она может быть групповой с кучей других ролей, входящих в нее. И на все эти входящие роли привилегии не распространяются? Т.е. в нашем случае при создании таблицы в w1, r1 не получает гранта на select, даже несмотря на то, что w1 находится во writer?
Хорошо, тогда почему при смене владельца не срабатывают дефолтные привилегии? Я почему-то думал, что пг полагается на владельца объекта.
...
Рейтинг: 0 / 0
Непонятка с ролями
    #39724658
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mattyТ.е. ALTER DEFAULT PRIVILEGES действует только на ту роль, что явно указана, несмотря на то, что она может быть групповой с кучей других ролей, входящих в нее. И на все эти входящие роли привилегии не распространяются? Т.е. в нашем случае при создании таблицы в w1, r1 не получает гранта на select, даже несмотря на то, что w1 находится во writer?
Хорошо, тогда почему при смене владельца не срабатывают дефолтные привилегии? Я почему-то думал, что пг полагается на владельца объекта.

Привилегии по умолчанию срабатывают при создании нового объекта и ТОЛЬКО при создании. При этому они действуют ТОЛЬКО на ту роль что явно указана.
default привилегии - просто простой шаблон вида выдать указанные права на обьект при его создании такой то ролью и все, не больше и не меньше. Вы их пытаетесь к чему то явно не предназначенному прикрутить.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Непонятка с ролями
    #39724704
matty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukmattyТ.е. ALTER DEFAULT PRIVILEGES действует только на ту роль, что явно указана, несмотря на то, что она может быть групповой с кучей других ролей, входящих в нее. И на все эти входящие роли привилегии не распространяются? Т.е. в нашем случае при создании таблицы в w1, r1 не получает гранта на select, даже несмотря на то, что w1 находится во writer?
Хорошо, тогда почему при смене владельца не срабатывают дефолтные привилегии? Я почему-то думал, что пг полагается на владельца объекта.

Привилегии по умолчанию срабатывают при создании нового объекта и ТОЛЬКО при создании. При этому они действуют ТОЛЬКО на ту роль что явно указана.
default привилегии - просто простой шаблон вида выдать указанные права на обьект при его создании такой то ролью и все, не больше и не меньше. Вы их пытаетесь к чему то явно не предназначенному прикрутить.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

Ну вот теперь стало понятно, почему смена владельца не решает проблему. Благодарю!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Непонятка с ролями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]