使用Ansible Postgres模块授权视图

时间:2015-12-11 15:28:11

标签: ansible

我有Postgres 9.4视图,我希望允许选择,我执行以下操作

- postgresql_privs: >
database={{ services.oos.db }}
state=present
privs=SELECT,INSERT,UPDATE,DELETE
type=view
objs=ALL_IN_SCHEMA
schema=my_schema
roles=my_users
sudo_user: postgres
tags: [api, customer]

导致以下错误

msg: value of type must be one of: table,sequence,function,database,schema,language,tablespace,group, got: view

是否可以使用Ansible Postgres模块功能执行此操作,还是必须使用脚本?

2 个答案:

答案 0 :(得分:0)

如果你查看source code,就会发现view不是一个有效的选择。它可能很容易扩展(你提出拉取请求的机会),但目前它不受支持。

答案 1 :(得分:0)

我发现如果您指定视图名称,则会应用权限。这是没有证件的,可能会受到未来变化的影响。

- postgresql_privs: >
database={{ services.oos.db }}
state=present
privs=SELECT
type=table
objs=some_view
schema=bnr
roles={{ services.oos.db_user }}
sudo_user: postgres
tags: [api]