Предоставление разрешения в postgres - PullRequest
0 голосов
/ 13 марта 2019

Вот проблема, с которой я столкнулся при настройке ролей в postgres.Надеюсь, кто-нибудь может мне помочь с этим.

Я пытаюсь создать роль (например, «read_only_role»), которая будет иметь возможность считывать данные из базы данных (например, «test_database»).

Я имею в виду, что каждый пользователь, имеющий роль «read_only_role», имеет возможность «выбирать» данные из «test_database».

Но я также хочу предоставить одному пользователю из этой роли всеПривилегии согласно "test_database".

Поэтому после того, как я войду в систему как суперпользователь, я запускаю такие команды:

  1. создать пользователя test_user_with_all_priv с паролем 'somepassword';
  2. создать роль read_only_role с пользователем test_user;
  3. создать базу данных test_database;
  4. отозвать все в базе данных test_database из общедоступных;
  5. предоставить подключение к базе данных test_database для read_only_role;
  6. изменить владельца базы данных test_database на test_user_with_all_priv
  7. ALTER GROUP read_only_role add USER some_other_test_user (это существующий пользователь)

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

Кто-нибудь знает, что может быть причиной таких проблем и как я могу это исправить?

Спасибо

...