Я хочу заблокировать общедоступную схему в базе данных postgres, используя Ansible. Использования Psql в недавно созданную Postgres установка:Использование postgresql_privs от Ansible для блокировки открытой схемы Postgres
postgres=# REVOKE CREATE ON SCHEMA public FROM PUBLIC;
REVOKE
postgres=# REVOKE USAGE ON SCHEMA public FROM PUBLIC;
REVOKE
работает в первый раз.
Использование Ansible, хотя я получаю различные ошибки.
- name: Lock down PUBLIC schema
postgresql_privs:
db: BOB
schema: public
state: absent
privs: CREATE, USAGE
objs: public
role: PUBLIC
become: true
become_user: postgres
Первая ошибка жаловалась, что база данных ЛПП не существует - это не произошло, я не создал его еще - это, кажется, не беспокоит Psql однако. Параметр db: является обязательным с postgresql_privs
, поэтому я решил, что, создав BOB первым.
Мое последнее усилие (выше анзибль строфа) получает меня
со смертельным исходом: [hostname.net]: FAILED! => { "Изменил" ложь "не удалось": правда, "сообщение": "Недействительные привилегии, указанные: frozenset ([ 'ИСПОЛЬЗОВАНИЕ'])"}
Я прошел через Ansible documentation и играл с различными параметрами, но не удачей.
Думая, что возможно Недействительные привилегии указано было что-то делать с пользователем, которому принадлежит база данных ЛПП я использовал выше строфу с дополнительной линией
login: fred
(т.е. пользователь, который я сделал владелец база данных BOB), но это также не сработало:
фатальный: [hostname.net]: FAILED! => { "Изменил" ложь "не удалось": правда, "сообщение": "Не удалось подключиться к базе данных: FATAL: аутентификация Peer Сбой пользователя \" Фрэд \ "\ п"}