gpt4 book ai didi

postgresql - 如何使用 puppet 定义具有 SELECT 权限的用户?

转载 作者:行者123 更新时间:2023-11-29 11:46:50 24 4
gpt4 key购买 nike

我想在postgres中创建一个只能在当前数据库的所有表中进行SELECT的用户。如何在 puppet 中指定 ALL 表?

这里是我的 puppet 文件的摘录:

... 
postgresql::server::database_grant { 'PnBP':
privilege => 'CREATE',
db => 'db',
role => 'role',
}

postgresql::server::table_grant { 'SELECT':
privilege => 'SELECT',
table => 'ALL',
db => 'db',
role => 'role',
}
...

但是当我指定单词 ALL 时,它不起作用。这里的错误:

错误:/Stage[main]/Main/Node[default]/Postgresql::Server::Table_grant[PnBP]/Postgresql::Server::Grant[table:PnBP]/Postgresql_psql[grant:table :PnBP]: 无法评估:评估“除非”子句时出错,返回 pid 30443 退出 1:“错误:关系“全部”不存在'

我查看了文档,但它没有指定如何为所有表应用权限。

table : Specifies the table to which you are granting access.

postgresql::server::table_grant

最佳答案

Postgresql 的 Puppet 文档描述了一个 postgresql::server::grant 选项,它看起来比假定单个表的 table_grant 更灵活。

看起来是这样的:

postgresql::server::grant{ 'SELECT':
object_type => 'ALL TABLES IN SCHEMA',
object_name => 'public',
privilege => 'SELECT',
db => 'db',
role => 'role',
}

https://github.com/puppetlabs/puppetlabs-postgresql#postgresqlservergrant

关于postgresql - 如何使用 puppet 定义具有 SELECT 权限的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47537649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com