Sicherheit einer Access-Anwendung ◦ ?

Die folgenden Abschnitte erleichtern den Überblick. Detailinformation erhalten Sie unter Schützen einer Datenbank.

### .mdb-Daten

- Anwendungskennwort

> Nur Benutzer mit dem richtigem Kennwort können die Datenbank öffnen. Nach dem Öffnen besteht allerdings freier Zugriff auf alle Anwendungsobjekte, sofern Sie nicht weitere Sicherheitsmassnahmen treffen. Leider ist es möglich, mit Public Domain-Programmen die Kennwörter gewisser Access-Versionen einfach zu knacken.

- Verschlüsselung

> Die Verschlüsselung komprimiert eine .mdb-Datei und macht sie aus Dienst- oder Textverarbeitungsprogrammen (nicht aber aus Access) unlesbar. Eine Verschlüsselung ist deshalb nur zusammen mit anderen Access-Sicherheitsmassnahmen, zum Beispiel Benutzerberechtigungen, sinnvoll.

- Benutzerberechtigungen

> Nur wer sich in einem Netzwerk mit Kontennamen und Kennwort identifiziert, kann je nach Zugehörigkeit zu einer Benutzergruppe Tabellen, Abfragen, Formulare, Berichte und Code benutzen. Der Administrator kann zum Beispiel festlegen, dass eine bestimmte Gruppe ein Backend zwar öffnen und ausführen kann, nicht jedoch den Tabellenentwurf modifizieren darf.

### VBA-Code

- Codekennwort

  Nur Benutzer, die beim Öffnen der .mdb-Datei das richtige Kennwort eingeben, können den Code anzeigen und ändern. Die übrigen Objekte, insbesondere Abfragen und die übrigen Eigenschaften der Formulare und Berichte können aber weiterhin geändert werden.

  Wenn Sie eine kennwortgeschützte .mdb-Anwendung ohne dauerndes Nennen des Kennworts starten wollen, dann definieren Sie das Kennwort als Argument einer Befehlszeile zum Starten von MS Access.

- Kompilation einer .mdb-Datei in eine *.mde-Datei

  Wenn Sie eine .mdb-Datei in eine .mde-Datei übersetzen, wird der gesamte editierbare Quellcode entfernt, und Benutzer können den Entwurf Ihrer Formulare, Berichte, Datenzugriffsseiten und Module weder anzeigen noch ändern. Im Gegensatz zu anderen Sicherheitsmassnahmen erfordert die Kompilation keine Anmeldung und keine aufwändige Verwaltung von Berechtigungen. Für die Kompilation eines Frontends, das auf ein Backend verweist, gelten allerdings Einschränkungen. Anwendungen, die - wie Access_Quiz.mdb und Testverwaltung.mdb - mit einem Backend verknüpft sind, können nicht kompiliert werden.

### Benutzeroberfläche

- Startoptionen

  Startoptionen können Sie aus der Access-Anwendung mit »Extras/Start... oder mit VBA aus dem Startmodul setzen (vgl. die Startmodule von Testverwaltung.mdb und Access_Quiz.mdb). So können Sie zum Beispiel mit »Extras/Start.../'Datenbankfenster anzeigen' den Zugriff auf das Datenbankfenster verhindern. Startoptionen gelten allerdings nur mit Einschränkungen. Wer zum Beispiel beim Öffnen einer Datenbank die UMSCHALTTASTE drückt, kann die Startoptionen umgehen (vgl. auch Einschränkungen).

- Ausgewählte Objekte des Datenbankfensters ausblenden

### Schutz des Frontends

Am einfachsten können Sie den Zugriff auf den Code und die Daten des Frontends wie folgt verhindern:

1. Gehen Sie mit »Extras/Start... zu den Startoptionen und deaktivieren Sie alle Kontrollkästchen ausser "Als Formular- und Berichtssymbol verwenden".
2. Gehen Sie zur Prozedur Form_Open des Formularmoduls von FrmStart. Ersetzen Sie dann die Zeile EigenschaftÄndern "AllowBypassKey", DB_Boolean, True durch EigenschaftÄndern "AllowBypassKey", DB_Boolean, False. Unterlassen Sie dies, so gelangt man nach dem Markieren des Anwendungsnamens oder des Startsymbols mit »Umschalttaste/Eingabetaste jederzeit in die Entwicklersicht einer Access-Anwendung (falls Sie unkompiliert und ohne Passwort gespeichert wurde).
3. Gehen Sie in die Entwickersicht (ev. »Alt/F11). Dann definieren Sie unter »Extras/Eigenschaften von Projekt .../Schutz ein Kennwort.
4. Deaktivieren Sie im Datenbankfenster das Kästchen »Extras/Optionen/Ansicht/Fenster in Taskleiste.

Bewahren Sie für den Fall eines Kennwortsverlust eine nicht passwortgesicherte Kopie des Frontends an einem sicheren Ort auf.