如何使用 puppet 定义具有 SELECT 权限的用户?
How to define a user with SELECT privileges with puppet?
我想在 postgres 中创建一个只能在当前数据库的所有 table 中创建 SELECT 的用户。
如何在 puppet 中指定 ALL
tables?
这是我的人偶文件的摘录:
...
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[默认]/Postgresql::Server::Table_grant[PnBP]/Postgresql::Server::Grant[table:PnBP]/Postgresql_psql[grant:table:PnBP]: 无法评估:评估 'unless' 子句时出错,返回 pid 30443 exit 1: 'ERROR: relation "all"不存在
'
我查看了文档,但它没有指定如何为所有 table 应用权限。
table : Specifies the table to which you are granting access.
Postgresql 的 Puppet 文档描述了一个 postgresql::server::grant 选项,它看起来比假设单个 table.
的 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
我想在 postgres 中创建一个只能在当前数据库的所有 table 中创建 SELECT 的用户。
如何在 puppet 中指定 ALL
tables?
这是我的人偶文件的摘录:
...
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[默认]/Postgresql::Server::Table_grant[PnBP]/Postgresql::Server::Grant[table:PnBP]/Postgresql_psql[grant:table:PnBP]: 无法评估:评估 'unless' 子句时出错,返回 pid 30443 exit 1: 'ERROR: relation "all"不存在 '
我查看了文档,但它没有指定如何为所有 table 应用权限。
table : Specifies the table to which you are granting access.
Postgresql 的 Puppet 文档描述了一个 postgresql::server::grant 选项,它看起来比假设单个 table.
的 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