Im Folgenden finden Sie eine Liste von Befehlen, die anscheinend funktionieren, um einen neuen Benutzer zu erstellen (Login) und schreibgeschützten Zugriff für eine bestimmte Tabelle in PostgreSQL zu gewähren.
Nehmen wir an, dass diese Befehle bei der Anmeldung mit ausreichenden Berechtigungen ausgeführt werden (dh postgres
bei der Standardinstallation anmelden).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Jetzt möchte ich eine select
Tabelle tab_abc
in der Datenbank gewähren db_xyz
, also los geht's (Datenbank db_xyz
wird über PgAdmin oder ähnliches als aktuell ausgewählt):
grant select on tab_abc to user_name;
Die Frage ist: ist dies ausreichend oder sollte es mehr Zuschüsse (Datenbank sein connect
, usage
vielleicht)?
Diese Befehle scheinen für mich zu funktionieren, aber meine Standardinstallation verfügt über Standardsicherheitseinstellungen. Welche zusätzlichen Zuschüsse sollte ich hinzufügen, wenn der Serveradministrator eine höhere Sicherheit konfiguriert hat?
Es scheint, dass ich weder gewähren muss connect
noch usage
- ist das implizit beim Gewähren select
? Ist es immer so
quelle