Ansible создать пользователя postgresql с доступом ко всем таблицам?
это должно быть очень просто. Я хочу сделать оператор Ansible для создания пользователя Postgres, который имеет привилегии подключения к определенной базе данных и выберите/insert/update/delete привилегии для всех таблиц в этой конкретной базе данных. Я попробовал следующее:
- name: Create postgres user for my app
become: yes
become_user: postgres
postgresql_user:
db: "mydatabase"
name: "myappuser"
password: "supersecretpassword"
priv: CONNECT/ALL:SELECT,INSERT,UPDATE,DELETE
Я relation "ALL" does not exist
если я удалить ALL:
, Я Invalid privs specified for database: INSERT UPDATE SELECT DELETE
2 ответов
Мне нужно было сначала создать пользователя, а затем предоставить права отдельно. Это работает как заклинание.
- name: Create postgres user for my app
become: yes
become_user: postgres
postgresql_user:
name: "myappuser"
password: "supersecretpassword"
- name: Ensure we have access from the new user
become: yes
become_user: postgres
postgresql_privs:
db: mydatabase
role: myappuser
objs: ALL_IN_SCHEMA
privs: SELECT,INSERT,UPDATE,DELETE
из ansible documentation модуль postgressql, priv должна быть " строка привилегий PostgreSQL в формате: таблица: priv1, priv2" Так что ваша задача должна быть
- name: Create postgres user for my app
become: yes
become_user: postgres
postgresql_user:
db: "mydatabase"
name: "myappuser"
password: "supersecretpassword"
priv: ALL:SELECT,INSERT,UPDATE,DELETE,CONNECT