Ich möchte einen Benutzer in Postgres erstellen, die SELECT nur in allen Tabellen der aktuellen Datenbank vornehmen können. Wie kann ALL
Tabellen in Puppe angeben?Wie definiert man einen Benutzer mit SELECT-Privilegien mit Marionette?
Hier ein Auszug meiner Puppen Datei:
...
postgresql::server::database_grant { 'PnBP':
privilege => 'CREATE',
db => 'db',
role => 'role',
}
postgresql::server::table_grant { 'SELECT':
privilege => 'SELECT',
table => 'ALL',
db => 'db',
role => 'role',
}
...
Aber wenn ich das Wort angeben ALL
es funktioniert nicht. Hier ist der Fehler:
Fehler:/Stage [main]/Main/Node [Standard]/Postgresql :: Server :: Table_grant [PnBP]/Postgresql :: Server :: Grants [table: PnBP]/Postgresql_psql [Zuschuss: Tabelle: PnBP]: konnte nicht bewerten: Fehler 'es sei denn' -Klausel Auswertens, kehrte pid 30443 Ausgang 1: 'ERROR: relation "alle" existiert nicht'
ich das doc überprüfen, aber es doesn Geben Sie nicht an, wie die Berechtigungen für alle Tabellen angewendet werden.
table : Specifies the table to which you are granting access.
postgresql::server::table_grant
ich in den Code gegraben für Sie und die Liste der zulässigen Werte für diesen Parameter hier: https://github.com/puppetlabs/ puppetlabs-postgresql/blob/master/manifesten/server/grant.pp # L6-L20. Überprüfen Sie, wie Sie 'ALL' in das konvertieren, wonach das Modul sucht. –
Ich habe versucht, den Wert auf "ALLE TABELLEN IN SCHEMA" zu setzen, was aussieht, als müsste es basierend auf diesem Link gültig sein, aber ich bekomme nur 'FEHLER: ungültige Namenssyntax', wenn ich das versuche. –
Sieht so aus, als ob Marionette nicht direkt damit umgehen kann, da die Bearbeitung von Postgres-Berechtigungen nicht einfach ist. Eine Problemumgehung wird von der Google-Gruppe für Puppet-Nutzer bereitgestellt: https://groups.google.com/forum/#!msg/puppet-users/6x2jBEXn-lE/mjr-yXkMBgAJ –