这应该很简单。我想创建一个 Ansible 语句来创建一个 Postgres 用户,该用户对特定数据库具有连接权限,并对该特定数据库中的所有表具有选择/插入/更新/删除权限。我尝试了以下方法:
- 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
最佳答案
我要做的是先创建用户,然后单独授予权限。它就像一个魅力。
- 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
关于postgresql - Ansible 创建可以访问所有表的 postgresql 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40290837/