Daten in DB schützen

Hallo,

habe momentan folgendes Problem. Ich weiß nicht, wie ich die Daten in meinen Tabellen vor unerlaubtem Zugriff schützen kann. Also wenn meine postgres-DB irgendwo auf nem Server im Netz liegt, dann soll jeder darauf zugreifen können, aber halt nur auf die “Öffentlichen” Spalten einer Tabelle, bzw die Öffentlichen Tabellen. (Wie kann ich die Spalten als “öffentlich” charakterisieren :confused: ) Es reicht ja wohl nicht aus, nur die JSP-Oberfläche so zu programmieren, dass diese nur “öffentlichen” Informationen aus der DB rausholt, oder?!?

Es handelt sich um ein ziemlich triviales Problem, doch ich habe dazu nichts im Internet gefunden…


Thx4help

Hallo kA,

schau Dir mal die Befehle CREATE USER und GRAND in der Dokumentation an.



mfg

fristo

Du kannst Rechte bis auf Tabellenebene verteilen, d.h. du kannst keine Rechte explizit auf Spalten setzen. Dies kann man allerdings z.B. mit Veerbung umschiffen - kommt dann auf das konkrete Problem an.

Flasch. VIEWs existieren, u.A. für diesen Zweck. View erstellen und Rechte auf diesen vergeben.
View enthält nur das, was gesehen werden darf. In der Erstellung des Views kann man auch Dinge wie current_user einbauen…

Andreas

Ich hatte mehr UPDATES auf den jeweiligen Spalten einer Tabelle im Kopf - hier wirst du auch mit Views nicht weiter kommen. Für bloßes Anzeigen natürlich keine Frage.

Updates auf VIEWs funktionieren - es gibt RULE’s.

Andreas

Stimmt! Gar nich grüber nachgedacht. Sehr elegant sogar :slight_smile:

Btw.: Updateable Views sollten schon mit 8.2 kommen, allerdings verwarf Tom Lane den Patch von Bernd ‘psoo’ Helmle. Ich hoffe, daß es psoo mit 8.3 schafft, drücken wir ihm mal alle mal die Daumen, okay?

Und wer ihn nicht kennt: http://pgug.de/wir/psoo.php

Andreas

Jo, hab ihn mal auf nem 3-tägigen Seminar in Essen kennengelernt - kompetenter Kerl :slight_smile: