Tabellenrechte ohne USER

Hier geht es um die Verwaltung von Benutzern und Rechten.
Antworten
pgSteffen
Benutzer
Beiträge: 89
Registriert: Di 14. Dez 2010, 09:46

Tabellenrechte ohne USER

Beitrag von pgSteffen » Fr 18. Okt 2019, 07:51

Hallo Wissende,
ich habe ein exotisches Problem.

Ich habe eine externe Datenbankanwendung, in welcher ich keine (zusätzlichen) Nutzer definieren kann. Die Administration der Tabellen selbst erfolgt innerhalb der Anwendung.

Nun habe ich eine/mehrere sensible Tabellen für welche ich intern Lese- und Schreibrechte brauche. Extern (ein Rechner in der DMZ) darf diese Tabelle auf keinen Fall sichtbar sein.
Ich möchte verhindern, dass selbst bei Fehlern in der internen Administration diese Tabellen nach außen sichtbar wird.

Die "pg_hba.conf" wäre dafür ja geeignet, die kann aber nur komplette Datenbanken.

Gibt es für so etwas eventuell doch einen Ansatz?

Gruß Steffen
PostgreSQL 10.6, 64bit Windows

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tabellenrechte ohne USER

Beitrag von akretschmer » Fr 18. Okt 2019, 08:31

dann erstelle eine separate Datenbank, un ddarin diese Tabelle.

Oder, grobe Idee: einen User, der sich nur via local anmelden kann (via pg_hba) und nur dieser darf den Inhalt der Tabelle sehen.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgSteffen
Benutzer
Beiträge: 89
Registriert: Di 14. Dez 2010, 09:46

Re: Tabellenrechte ohne USER

Beitrag von pgSteffen » Fr 18. Okt 2019, 09:03

Hallo,
vielen Dank für die schnelle Antwort. Aber wie beschrieben ist das eine Fremdanwendung, in welcher ich keine zusätzlichen Nutzer erstellen kann.
Die Anwendung "kontrolliert" die gesamte Datenbankarbeit. Ich habe also nur die Möglichkeit dem einen Datenbanknutzer auf dem einen Rechner die Rechte für die Tabelle(n) zu entziehen. Diese Möglichkeit ist leider (scheinbar) nicht vorgesehen.

Also bleibt mir nur der Software zu vertrauen und in meiner (internen) Administration keine Fehler zu machen.

Gruß Steffen
PostgreSQL 10.6, 64bit Windows

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Tabellenrechte ohne USER

Beitrag von akretschmer » Fr 18. Okt 2019, 18:15

ich hätte noch Ideen, z.B. via inet_client_addr() die Adresse des Clients rauszubekommen. Dazu eine Funktion, über die du die Tabelle abfragen kannst (also z.B. get_secure_table(), die security definer ist und die Tabelle liefert. Diese prüft erst einmal via inet_client_addr(), aus welchem Netz der Client kommt, und reagiert entsprechend. Dazu muß aber auch die Anwendung angepaßt werden.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten