|
|
|
назначение прав роли на БД
|
|||
|---|---|---|---|
|
#18+
Добрый день, прошу помочь разобраться в назначении прав на конкретную БД на сервере postgresql. Суть задачи - назначить права (например на чтение) пользователю к БД "целиком" за минимальное количество действий. Прочитаны другие ответы, но не устраивает: 1) рекомендуют для настраиваемой БД сменить владельца на требуемого пользователя (мне кажется совсем плохо); 2) рекомендации настройки через групповую роль - по этой рекомендации сделал следующее - создал обычного пользователя test - создал групповую роль test_gr - включил пользователя test в test_gr, - создал БД test_db, в БД test_db 2 схемы - public и test_sch, в каждой схеме - наборы таблиц далее пробую дать права групповой роли test_gr к БД test, допустим все права GRANT ALL PRIVILEGES on DATABASE test_db to test_gr; при этом права к БД задаются, ответ на psql \l: test_db | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =Tc/postgres + | | | | | postgres=CTc/postgres+ | | | | | test_gr=CTc/postgres для таблиц ответ на psql \z : Права доступа Схема | Имя | Тип | Права доступа | Права доступа к столбцам --------+------+---------+---------------+-------------------------- public | tst1 | таблица | | public | tst2 | таблица | | при этом права на таблицы из схемы test_sch не отображаются в выводе вообще, запросы делаю от postgres ; от пользователя test подключение к БД test_db возможно, но запрос к таблицам невозможен. Вопрос - какой командой можно назначить права на БД, так чтобы разрешения для групповой или обычной роли распространялись и на все объекты БД ? Или права должны назначаться на отдельные объекты БД ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 11:46:57 |
|
||
|
назначение прав роли на БД
|
|||
|---|---|---|---|
|
#18+
Doctorfistool, GRANT (чего уж вам надо) ON ALL TABLES IN SCHEMA (список нужных схем через запятую) TO test_gr; + GRANT USAGE ON SCHEMA (список нужных схем через запятую) TO test_gr; ВНИМАНИЕ - это не значит что таблицы созданные после этой комманды тоже получат эти права. Для автовыдачи прав для всех будущих таблиц почитайте про ALTER DEFAULT PRIVILEGES PS: вообще почитате в psql \h grant \h ALTER DEFAULT PRIVILEGES там все что надо есть. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 14:00:45 |
|
||
|
назначение прав роли на БД
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, список схем получить командой \dn ? а если схем много, то для каждой выполнять указанные в ответе шаги ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 14:13:39 |
|
||
|
назначение прав роли на БД
|
|||
|---|---|---|---|
|
#18+
DoctorfistoolMaxim Boguk, список схем получить командой \dn ? а если схем много, то для каждой выполнять указанные в ответе шаги ? можно все схемы в 1 запрос закинуть через запятую (как я написал) --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 14:23:11 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=1998279]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 399ms |

| 0 / 0 |
