Создать пользователя с привилегиями только для одной базы данных - PullRequest
0 голосов
/ 08 февраля 2019

Я хочу предоставить права на чтение / запись новому пользователю только одной базе данных, чтобы он не мог получить доступ к другимбазы данных.


После того, как я создал нового пользователя с: sudo -u postgres createuser <username> Какие привилегии получает этот пользователь?

Это все, что мне нужно: GRANT ALL PRIVILEGES ON my_db TO new_user;, чтобы получить доступ только к одной базе данных?

Какой лучший способ сделать это?

Использование PostgreSQL 10

1 Ответ

0 голосов
/ 09 февраля 2019

По умолчанию PUBLIC (каждому) разрешено подключаться ко всем базам данных.Таким образом, вам придется отозвать эту привилегию и более разумно раздать CONNECT.

В дополнение к этому вам нужно будет убедиться, что у каждого пользователя есть CREATE во всех схемах в «его & rdqou;база данных и необходимые привилегии для всех таблиц, потому что привилегий самой базы данных недостаточно для доступа к объектам в базе данных.

Это может быть самое простое решение для использования REASSIGN OWNED дляпредоставить пользователю право собственности на все объекты в «его & rdqou;базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...