ich bin auf der Suche nach einem Datenbanksystem bei welchem es möglich ist die Datenbank auf den Rechner (Windows) auf welchem alle Benutzer zugriff haben zu installieren und trotzdem die Sicherheit erreichen kann dass die Benutzer die Datenbankstruktur weder ansehen noch kopieren können. Die Zugangsdaten zur DB sind auf einem USB Stick verschlüsselt abgelegt sodass der Benutzer keine Login Daten für die DB bekommt. Die gängigen Systeme machen die Sicherheit auf der Schnittstelle was aber in diesem Fall nicht ausreicht da die Datenbank nicht in einem geschützten Bereich ist. Soweit ich informiert bin ist es mit der Interbase DB möglich, jedoch möchte ich dies wenn möglich mit einer openSource DB abdecken.
Kann das PostgreSql auch? Wenn ja gibts vielleicht irgendwo ein application note oder Beispiele.
Ich weiss nicht, wie Interbase das macht, aber bei PostgreSQL wäre mir kein Weg bekannt, wie der Admin nicht die Struktur (bzw. die Dateien) einsehen kann.
So ganz klar ist mir nicht, was Du willst. Der DB-Server läuft auf einem Server und die Clients übers Netz?
Was geht: Du kannst den Netztraffic verschlüsseln, Du kannst Rechte auf Tabellen vergeben etc. Was nicht geht: Du kannst das Schema der DB, also welche Tabellen etc. da sind, nicht verstecken.
Ich bin mir nicht ganz sicher ob mein Anliegen richtig hinübergekommen ist. Es soll nicht so sein dass der Admin der Datenbank kein zugriff auf die Struktur hat, sondern dass der “normale” Pc Benutzer nicht durch irgendwelche tricks sich zugriff auf die Datenbank verschaffen kann. Dies ist ja z.b. bei Mysql sehr einfach da ich nur das DB File in ein anderes System mit Admin zugriff kopieren muss. Die Situation ist so dass die Datenbank direkt auf dem Client PC läuft da es sich hier um ein verteiltes System handelt welches viel Daten produziert welche später Synchronisiert werden können.
Dazu brauchst Du Zugriff auf den Rechner, übers Netz geht das nicht. das gilt so wohl für alle DB-Systeme. Wenn Du aber physischen Zugang hast, kannst Du auch die Platte ausbauen und jedes Bit einzeln abhobeln. So what?
Ok Danke. Das heisst also dass es mit postgreSQL nicht geht wenn ich physikalischen Zugriff auf die Platte habe. Dann werde ich wohl auf Interbase gehen müssen. Die haben eben die möglichkeit dass die Benutzer / zugriffsrechte direkt im jeweiligen Datenbankfile auf der Platte abgelegt werden. D.h. dann dass auch wenn jemand die ganze DB kopiert kann er nicht auf die Daten / Struktur zugreifen ohne die entsprechenden userdaten. Das mit den Bits abhobeln sehe ich da nicht als grosses Problem, da dies ja noch immer nicht die Struktur so wirklich zeigt und auch nicht viele User über dieses Knowhow verfügen.
MySQL und PostgreSQL unterscheiden sich da nicht.
Du kannst auch PostgreSQL über das Netzwerk ansprechen.
Die Situation ist so dass die Datenbank direkt auf dem Client PC läuft
Also hast du mit MySQL auch dieses Problem, oder?
Hast du jetzt konkret Angst das jeder Benutzer des Client PC auf die Daten zugreifen kann oder hast du Angst das der Admin des Client PC da drauf kommt?
Hast du jetzt konkret Angst das jeder Benutzer des Client PC auf die Daten zugreifen kann oder hast du Angst das der Admin des Client PC da drauf kommt?
Bei Mysql ist das so dass jeder zugriff hat. Es soll aber auch der Admin des Client PC’s kein zugriff haben sondern nur wirklich der Datenbankbenutzer / Datenbankadmin. Hierin liegt die Schwierigkeit. Der Kunde kennt die Datenbank Benutzerdaten NICHT! sodass er so nicht direkt auf die Datenbank kommt.