|
Непонятка с ролями
|
|||
---|---|---|---|
#18+
Всем привет! Есть следующая ситуация. 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? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 14:30 |
|
Непонятка с ролями
|
|||
---|---|---|---|
#18+
matty, Я так понимаю вы ищете вот это: https://www.postgresql.org/docs/current/static/sql-alterdefaultprivileges.html Дефолтные гранты при создании объектов пользователем. А в целом сделано специально. Если нет дефолтных грантов, то своими объектами может пользоваться только сам пользователь. Не зависит от прав на schema. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 16:16 |
|
Непонятка с ролями
|
|||
---|---|---|---|
#18+
mattyВопрос то простой, почему не прокидываются гранты на дочерок writer? Так и ответ простой. В ALTER DEFAULT PRIVILEGES это не поддерживается. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 16:21 |
|
Непонятка с ролями
|
|||
---|---|---|---|
#18+
Павел ЛузановmattyВопрос то простой, почему не прокидываются гранты на дочерок writer? Так и ответ простой. В ALTER DEFAULT PRIVILEGES это не поддерживается. Т.е. ALTER DEFAULT PRIVILEGES действует только на ту роль, что явно указана, несмотря на то, что она может быть групповой с кучей других ролей, входящих в нее. И на все эти входящие роли привилегии не распространяются? Т.е. в нашем случае при создании таблицы в w1, r1 не получает гранта на select, даже несмотря на то, что w1 находится во writer? Хорошо, тогда почему при смене владельца не срабатывают дефолтные привилегии? Я почему-то думал, что пг полагается на владельца объекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 16:41 |
|
Непонятка с ролями
|
|||
---|---|---|---|
#18+
mattyТ.е. ALTER DEFAULT PRIVILEGES действует только на ту роль, что явно указана, несмотря на то, что она может быть групповой с кучей других ролей, входящих в нее. И на все эти входящие роли привилегии не распространяются? Т.е. в нашем случае при создании таблицы в w1, r1 не получает гранта на select, даже несмотря на то, что w1 находится во writer? Хорошо, тогда почему при смене владельца не срабатывают дефолтные привилегии? Я почему-то думал, что пг полагается на владельца объекта. Привилегии по умолчанию срабатывают при создании нового объекта и ТОЛЬКО при создании. При этому они действуют ТОЛЬКО на ту роль что явно указана. default привилегии - просто простой шаблон вида выдать указанные права на обьект при его создании такой то ролью и все, не больше и не меньше. Вы их пытаетесь к чему то явно не предназначенному прикрутить. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 17:34 |
|
Непонятка с ролями
|
|||
---|---|---|---|
#18+
Maxim BogukmattyТ.е. ALTER DEFAULT PRIVILEGES действует только на ту роль, что явно указана, несмотря на то, что она может быть групповой с кучей других ролей, входящих в нее. И на все эти входящие роли привилегии не распространяются? Т.е. в нашем случае при создании таблицы в w1, r1 не получает гранта на select, даже несмотря на то, что w1 находится во writer? Хорошо, тогда почему при смене владельца не срабатывают дефолтные привилегии? Я почему-то думал, что пг полагается на владельца объекта. Привилегии по умолчанию срабатывают при создании нового объекта и ТОЛЬКО при создании. При этому они действуют ТОЛЬКО на ту роль что явно указана. default привилегии - просто простой шаблон вида выдать указанные права на обьект при его создании такой то ролью и все, не больше и не меньше. Вы их пытаетесь к чему то явно не предназначенному прикрутить. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Ну вот теперь стало понятно, почему смена владельца не решает проблему. Благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2018, 19:34 |
|
|
start [/forum/topic.php?fid=53&msg=39724704&tid=1995524]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 136ms |
0 / 0 |