Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 4/2002.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Skalierbare Datensicherheit mit Access

Autor: André Minhorst, Duisburg

Die Verwendung von allgemein zugänglichen Datenbanken ist eine Sache - der Umgang mit sensiblen Daten eine andere. Datenbanken mit sensiblen Daten müssen verschiedenen Benutzern oder Benutzergruppen differenzierten Zugriff auf den Datenbestand der Datenbank ermöglichen. Zu diesem Zweck gibt es so genannte Arbeitsgruppen-Informationsdateien, in denen Sie Benutzer- und Benutzergruppen und deren Berechtigungen bezogen auf die unterschiedlichen Objekte der Datenbank festlegen können.

Es gibt zwei Wege zum Sichern einer Datenbank mit einer Arbeitsgruppen-Informationsdatei, einerseits mit Hilfe eines Assistenten und andererseits manuell. Im vorliegenden Beitrag lernen Sie den zweiten Weg kennen. Dazu legen Sie zunächst eine neue Arbeitsgruppen-Informationsdatei an und sichern diese anschließend ab, indem Sie für verschiedene Benutzergruppen die Rechte für den Zugriff auf die unterschiedlichen Datenbankobjekte festlegen.

Grundlagen

Die Sicherheit mittels Arbeitsgruppen-Informationsdatei beruht auf zweierlei Faktoren: erstens der genannten Datei selbst, in der die Benutzergruppen, die Benutzer und die Zuweisung von Benutzern zu den Gruppen gespeichert werden, sowie der Datenbank selbst, in der Informationen über die Zugriffsrechte der Benutzergruppen und Benutzer auf die unterschiedlichen Datenbankobjekte gespeichert werden.

Die Arbeitsgruppen-Informationsdatei

Bei der Installation von Access wird automatisch eine Standard-Informationsdatei namens System.mdw mit den zwei Benutzergruppen Administratoren und Benutzer angelegt.

Solange Sie keine weitere Arbeitsgruppen-Informationsdatei erstellen oder sich einer anderen Arbeitsgruppen-Informationsdatei anschließen, greifen neu erstellte Datenbanken auf die Standarddatei zu und verwenden die dort gespeicherten Einstellungen.

Da jeder Anwender standardmäßig als Administrator ohne Passwort angemeldet wird und für diesen als Angehörigen der Gruppe Administratoren keine Einschränkungen gelten, tritt der Mechanismus zunächst nicht in Erscheinung.

Um diesen uneingeschränkten Zugriff zu verhindern, müssen Sie einige Schritte durchführen. Damit erstellen Sie zunächst eine neue Arbeitsgruppen-Informationsdatei, legen dort die gewünschten Benutzergruppen mit den gewünschten Benutzern an und erstellen dann aus der bestehenden Datenbank eine neue, die dann die neue Arbeitsgruppen-Informationsdatei berücksichtigt.

Festlegung von Berechtigungen in der Datenbank

Die individuellen Berechtigungen für die Benutzergruppen und deren Mitglieder legen Sie dann in der Datenbank selbst fest. Es ist besonders wichtig, dass die Arbeitsgruppen-Informationsdatei, mit der Sie die neue Datenbank angelegt haben, nicht versehentlich gelöscht wird, da Sie ansonsten möglicherweise nicht mehr auf die Datenbank zugreifen können.

Erstellen einer Arbeitsgruppen-Informationsdatei

Für die Erstellung der Arbeitsgruppen-Informationsdatei verwenden Sie die Anwendung Wrkgadm.exe. Am einfachsten starten Sie diese Anwendung, indem Sie über das Windows-Startmenü den Eintrag Ausführen... auswählen und hier den Namen der Anwendung eingeben (s. Abb. 1).

Abb. 1: Aufruf der Anwendung wrkadm.exe

Daraufhin öffnet sich die Anwendung und bietet die drei Optionen Erstellen..., Anschließen... und Beenden an (s. Abb. 2).

Abb. 2: Auswahl einer Arbeitsgruppen-Informationsdatei

Nach einem Mausklick auf die Schaltfläche Erstellen... erscheint ein weiteres Fenster, in das Sie Informationen wie Name, Firma und Arbeitsgruppen-Code eingeben. Notieren Sie sich diese Informationen und bewahren Sie diese an einem sicheren Ort auf.

Im nächsten Fenster werden Sie zur Eingabe von Pfad und Dateinamen der Arbeitsgruppen-Informationsdatei aufgefordert. Geben Sie hier beispielsweise c:\Beispiel.mdw ein.

Nachdem Sie im folgenden Fenster die Angaben bestätigt haben, können Sie die Anwendung beenden.

Anlegen von Benutzergruppen und deren Mitglieder

Starten Sie zunächst die Access-Datenbank, für die Sie Berechtigungen festlegen möchten.

Hinweis

Für Beispielzwecke können Sie - wie üblich - die Nordwind-Datenbank verwenden, die standardmäßig mit Access installiert wird. Die in den folgenden Kapiteln beschriebene Vorgehensweise setzt voraus, dass Sie derzeit an die Arbeitsgruppen-Informationsdatei System.mdw angeschlossen sind und dort standardmäßig als Administrator angemeldet werden. (

Über den Menübefehl Extras ( Zugriffsrechte ( Benutzer- und Gruppenkonten... können Sie Benutzergruppen und Benutzer anlegen sowie das Anmeldungskennwort für unterschiedliche Benutzer ändern.

Es spielt keine Rolle, ob Sie zuerst Benutzer oder Gruppen anlegen. Sie können allerdings einen Benutzer nicht einer Gruppe zuordnen, die noch nicht existiert. Daher sollten Sie zunächst die gewünschten Gruppen anlegen und anschließend die Benutzer. Sie können die neuen Benutzer dann direkt den gewünschten Gruppen zuordnen.

Anlegen von
Benutzergruppen

Zum Anlegen einer Benutzergruppe wechseln Sie in das Register Gruppen. Hier klicken Sie entweder auf die Schaltfläche Neu und geben dann den Namen der neuen Gruppe an oder Sie tragen den neuen Gruppennamen in das Feld Name: ein und klicken anschließend auf die Schaltfläche Neu. In beiden Fällen erscheint der Dialog Neue(r) Benutzer/Gruppe (s. Abb. 3), in den Sie noch eine persönliche Identifikationskennung eingeben müssen.

Abb. 3: Anlegen einer neuen Benutzergruppe

Abb. 4: Hinzufügen eines neuen Benutzers

Hinweis

Es gibt standardmäßig die beiden Benutzergruppen Administratoren und Benutzer. Die Gruppe
Administratoren können Sie weder löschen, noch darf sie jemals weniger als ein Mitglied haben. Die Gruppe Benutzer hat die Besonderheit, dass jeder Benutzer auf jeden Fall mindestens dieser einen Gruppe zugewiesen ist. Daher sollten die Mitglieder dieser Gruppe in der Regel keine Berechtigung zum Zugriff auf kritische Daten erhalten. (

Anlegen von Benutzern

Wenn Sie die gewünschten Gruppen angelegt haben, wechseln Sie zurück in das Register Benutzer des Dialoges. Im Listenfeld Verfügbare Gruppen: finden Sie nun die neu eingegebenen Gruppen (s. Abb. 4).

Nun geben Sie einen neuen Benutzer ein, indem Sie entweder den Benutzernamen in das Feld Name: eintragen und anschließend die Schaltfläche Neu betätigen oder direkt auf diese Schaltfläche klicken und dann den Benutzernamen eintragen.

Schließlich fehlt noch die bereits von den Benutzergruppen bekannte persönliche Identifikationskennung.

Hinweis

Die Kombination aus Benutzer oder Gruppe und persönlicher Identifikationskennung soll verhindern, dass unberechtigte Personen einfach eine Arbeitsgruppen-Informationsdatei mit den gleichen Benutzern und Gruppen wie in der Original-Datei erstellen. Dies funktioniert nur, wenn neben den Namen von Benutzern und Gruppen auch die persönlichen Identifikationskennungen mit dem Original übereinstimmen. Notieren Sie sich daher an einer sicheren Stelle neben den Namen auch die persönlichen Identifikationskennungen, um die .mdw-Datei im Falle eines Verlustes erneuern zu können. (

Zuweisen eines Passworts

Im dritten Register des Dialoges finden Sie die Möglichkeit zum Ändern des Anmeldungskennworts. Dieses Kennwort wird beim Start von Access abgefragt, sobald es erstmalig für den Benutzer Administrator angegeben wurde. Mit dem Anlegen dieses Passworts aktivieren Sie auch das Sicherheitssystem von Access.

Um das Kennwort für einen bestimmten Benutzer festzulegen, wählen Sie den gewünschten Benutzer im Register Benutzer aus und wechseln dann in das Register Anmeldungskennwort ändern (s. Abb. 5).

Das Sicherheitssystem aktivieren

Access wird standardmäßig mit dem Benutzer Administrator geöffnet. Daher macht es Sinn, zunächst für den Administrator ein Passwort zu vergeben. Dabei gibt es jedoch einen Punkt zu beachten: Falls jemand einfach eine andere Arbeitsgruppen-Informationsdatei verwendet, in der für den Benutzer Administrator kein Passwort festgelegt ist, kann er die Datenbank ohne die Eingabe eines Passworts starten.

Hinweis

Im Fall des Benutzers Administrator gibt es eine Besonderheit: Er besitzt keine persönliche Identifikationskennung. Daher sollten Sie diesem Benutzer alle Rechte entziehen oder ihn direkt aus der .mdw-Datei entfernen. Wie das funktioniert, erfahren Sie weiter unten. (

Da die Datenbank also momentan offensichtlich alles andere als sicher ist, führen Sie nun die folgenden Schritte durch, die in den nächsten Abschnitten detaillierter beschrieben werden:

  • Festlegen eines Administratorkennworts
  • Anlegen eines neuen Benutzers als Administrator
  • Schließen der Datenbank und unter dem neuen Benutzernamen anmelden
  • Festlegen eines Kennwortes für den neuen Benutzer
  • Kopieren der Datenbankinhalte in eine neue Datenbank
  • Entziehen der Rechte des Benutzers Administrator
  • Anlegen von neuen Benutzern und Gruppen und Vergabe von Berechtigungen
  • Abb. 5: Zuweisen eines Passwortes

    Festlegen eines
    Administratorkennworts

    Um das Sicherheitssystem zu aktivieren, müssen Sie für den Benutzer Administrator ein Passwort festlegen. Welches Sie dabei verwenden, spielt keine Rolle. Sie sollten es sich nur merken, da Sie es einige Absätze weiter unten wieder benötigen.

    Anlegen eines neuen Benutzers als Administrator

    Da der Benutzername Administrator - wie oben beschrieben - einige Sicherheitsrisiken birgt, legen Sie nun zunächst einen neuen Benutzer an, der zukünftig administrative Rechte erhalten soll und zur Erledigung der entsprechenden Aufgaben dient.

    Wählen Sie beispielsweise den Namen Entwickler und weisen Sie ihm die Gruppe Administratoren zu.

    Schließen der Datenbank und
    Anmeldung als neuer Benutzer

    Schließen Sie nun die Datenbank und öffnen Sie diese erneut. Sie werden nun zur Eingabe des Passworts für den Benutzer Administrator aufgefordert. Dem folgen Sie allerdings nicht, sondern geben als Benutzernamen den Namen des soeben angelegten Benutzers - also Entwickler - an und melden sich damit an. Ein Kennwort müssen Sie nicht angeben, da Sie ja noch keines festgelegt haben.

    Abb. 6: Importieren von Datenbankobjekten

    Festlegen eines Kennwortes für den neuen Benutzer

    Nach dem Anmelden unter dem Benutzernamen Entwickler legen Sie für diesen ein Passwort an. Anschließend können Sie die Datenbank wieder schließen.

    Kopieren der Datenbankinhalte in eine neue Datenbank

    Datenbanken, die ohne Aktivierung des Sicherheitssystems erstellt wurden, haben die Eigenschaft, dass der Benutzer Administrator Besitzer aller Datenbankobjekte ist.

    Um den neuen Benutzer Entwickler als Besitzer aller Datenbankobjekte festzulegen, legen Sie eine neue Datenbank an, melden sich mit dem Benutzernamen Entwickler an und importieren anschließend alle Objekte der zu schützenden Datenbank in die neue Datenbank:

  • Verwenden Sie den Menübefehl Datei ( Externe Daten ( Importieren..., um den Dialog Importieren zu öffnen.
  • Wählen Sie die zu schützende Datei aus.
  • Markieren Sie in den Registerseiten des Dialogs Objekte importieren alle Objekte der Datenbank.
  • Zusätzlich sollen Menüs und Symbolleisten sowie Import- und Exportspezifikationen importiert werden. Dies können Sie festlegen, indem Sie über die Schaltfläche Optionen die entsprechenden Optionen anzeigen, diese aktivieren und anschließend auf die Schaltfläche OK klicken (s. Abb. 6).
  • Wenn Sie nun die Eigenschaften eines beliebigen, auf diese Art importierten Datenbankobjekts anzeigen, finden Sie dort den Benutzer Entwickler als neuen Besitzer vor.

    Hinweis

    Im Dialog Benutzer- und Gruppenberechtigungen finden Sie neben dem Register Berechtigungen auch noch ein Register namens Eigentümer ändern (s. Abb. 7). Mit der entsprechenden Berechtigung können Sie natürlich auch manuell einen neuen Eigentümer für die einzelnen Objekte festlegen. Das Einfügen aller Objekte in eine neue Datenbank, bei der Sie als zukünftiger Eigentümer der einzelnen Objekte angemeldet sind, geht allerdings sehr viel schneller. (

    Abb. 7: Ändern des Eigentümers eines Objektes

    Entfernen der Rechte des Benutzers
    Administrator

    Es ist immer noch eine Sicherheitslücke in Form des Benutzers Administrator vorhanden. Die Datenbank kann immer noch mit einer anderen .mdw-Datei unter dem Benutzer Administrator geöffnet werden. Damit auf diese Weise kein Schaden angerichtet werden kann, entfernen Sie die Gruppe Administratoren von den Gruppenzugehörigkeiten dieses Benutzers.

    Sehen Sie sich außerdem die Berechtigungen für den Benutzer Administrator sowie die Gruppe Benutzer an, zu der ja auch der Benutzer Administrator gehört. Entfernen Sie auch hier alle Berechtigungen.

    Anlegen von neuen Benutzern und Gruppen

    Nun bleibt Ihnen nur noch die Aufgabe, die gewünschten weiteren Benutzergruppen und deren Benutzer anzulegen und individuelle Berechtigungen für die Benutzergruppen festzulegen.

    Praxis-Tipp

    Sie sollten bei der Vergabe der Berechtigungen an unterschiedlichen Objekten tatsächlich auf Gruppenebene bleiben. Die Vergabe von individuellen Berechtigungen an einzelne Benutzer wird schnell zu administrativen Problemen führen. (

    Vergabe von Berechtigungen

    Die Vergabe von Berechtigungen erfolgt über den folgenden Menübefehl: Extras/Zugriffsrechte/Benutzer- und Gruppenberechtigungen...

    Im Dialog Benutzer- und Gruppenberechtigungen (s. Abb. 8) können Sie nun für jede Kombination aus Benutzergruppe und Datenbankobjekt die gewünschten Berechtigungen festlegen. Dies geht zwar für einzelne Benutzer theoretisch auch, aber das sollten Sie - wie schon erwähnt - lieber lassen.

    Abb. 8: Bearbeiten von Berechtigungen

    Wenn Sie einen Benutzer einer Gruppe hinzufügen, übernimmt er automatisch die Berechtigungen dieser Gruppe.

    Ist ein Benutzer Mitglied mehrerer Gruppen und haben diese Gruppen unterschiedliche Berechtigungen, übernimmt er alle vorhandenen Berechtigungen.

    Beispiel: Der Benutzer Entwickler ist Mitglied der Benutzergruppen Administrator und Benutzer. Als Administrator hat er jeglichen Zugriff auf eine bestimmte Tabelle.

    Die Gruppe Benutzer hingegen besitzt keinerlei Berechtigungen. Aufgrund seiner Angehörigkeit zur Gruppe der Administratoren hat der Benutzer Entwickler aber dennoch die entsprechenden Rechte.

    Hinweis

    Lassen Sie sich nicht irritieren, wenn Sie die Berechtigungen für einen bestimmten Benutzer einsehen, aber hier keinerlei Berechtigungen vorfinden, auch wenn dies eigentlich über entsprechende Gruppenzugehörigkeiten gewährleistet sein sollte. Hier werden nur Berechtigungen angezeigt, die speziell für diesen Benutzer festgelegt worden sind. Die Berechtigungen, die ein Benutzer durch seine Gruppenzugehörigkeit hat, können Sie bei den entsprechenden Gruppen einsehen. (

    Tipps und Tricks

    Zu guter Letzt finden Sie in den folgenden Abschnitten noch einige Tipps und Tricks, um die Berechtigungen sinnvoll einzusetzen.

    Zugriff auf bestimmte Spalten oder Zeilen verhindern

    Wenn Sie nicht möchten, dass Benutzer zwar grundsätzlich auf den Inhalt von Tabellen zugreifen, aber nicht alle Zeilen oder Spalten sehen dürfen, sollten Sie Folgendes tun:

  • Entziehen Sie der Benutzergruppe alle Berechtigungen auf die Tabelle.
  • Legen Sie Abfragen an, die nur die gewünschten Daten anzeigen.
  • Stellen Sie die Eigenschaft Ausführungsberechtigungen der Abfrage auf den Wert Eigentümer (s. Abb. 9).
  • Der dritte Schritt ist besonders wichtig. Wenn ein Benutzer keine Berechtigungen für den Zugriff auf eine Tabelle hat, kann er - falls die Eigenschaft Ausführungsberechtigungen den Wert Benutzer hat - auch nicht auf Abfragen zugreifen, die auf dieser Tabelle basieren.

    Abb. 9: Eigenschaften einer Abfrage

    Je nachdem, ob Sie dem Benutzer den Blick auf einzelne Felder oder bestimmte Datensätze versagen möchten, können Sie entweder einfach die entsprechenden Felder nicht in den Abfrageentwurf übernehmen oder die angezeigten Datensätze durch eine geeignete Where-Klausel einschränken.

    Verschiedene Datenbanken mit unterschiedlichen .mdw-Dateien öffnen

    Unter Umständen gibt es in einem System mehrere Datenbanken, die unterschiedliche Arbeitsgruppen-Informationsdateien verwenden.

    Ohne die Angabe weiterer Parameter verwendet Access beim Starten immer die jeweils angeschlossene .mdw-Datei.

    Um eine andere .mdw-Datei zu verwenden, müssen Sie beim Aufruf der Datenbank entsprechende Startparameter benutzen. Diese können Sie z. B. in den Eigenschaften einer neuen Verknüpfung angeben.

    Der Parameter zur Verwendung einer Arbeitsgruppen-Informationsdatei namens test.mdw lautet beispielsweise /wrkgrp test.mdw.

    Wenn Sie auch noch den Benutzer und optional dessen Passwort beim Start übergeben möchten, verwenden Sie die Startoptionen /user und /password mit den entsprechenden Werten.

    Der komplette Aufruf könnte beispielsweise folgendermaßen aussehen:

    C:\Programme\Office97\Office\msaccess.exe C:\Nordwind.mdb /wrkgrp 
    C:\WINNT\system32\system.mdw 
    /user entwickler /password test

    Zum Anlegen einer solchen Verknüpfung gehen Sie folgendermaßen vor:

  • Kopieren Sie eine beliebige, bereits auf dem Desktop vorhandene Verknüpfung und fügen Sie diese am gewünschten Ort ein.
  • Wählen Sie aus dem Kontextmenü den Eintrag Eigenschaften aus.
  • Tragen Sie im Register Allgemein den gewünschten Namen ein.
  • Wechseln Sie in das Register Verknüpfung und tragen Sie in das Feld Ziel den Programmaufruf mit den entsprechenden Parametern ein (s. Abb. 10).
  • Abb. 10: Anlegen einer Verknüpfung

    Der Programmaufruf sollte den oben beschriebenen Aufbau haben. Allgemein lautet die Syntax für den Aufruf folgendermaßen:

    <Anwendungspfad> <Datenbankpfad> /wrkgrp <Pfad der .mdb-Datei> /user <Benutzername> /passwort <Passwort>

  • Um Ihnen die Arbeit bei der Suche nach der Standard-Arbeitsgruppen-Informationsdatei zu erleichtern, finden Sie nachfolgend den Speicherort der Datei System.mdw.
  • Die Datei befindet sich unter Access 97 im Pfad C:\Windows\System bzw. C:\WinNT\System. Unter Access 2000 finden Sie die Datei im Ordner \Programme\Gemeinsame Dateien\System. Dieser Ordner befindet sich in der Regel auf dem gleichen Laufwerk wie das Betriebssystem. Je nach Betriebssystem können sich bei den Pfadangaben gewisse Abweichungen ergeben. Im Notfall verwenden Sie die SuchenFunktion des Windows-Explorers, um die Dateien System.mdw zu finden.
  • Zusammenfassung und Ausblick

    Die Vergabe von individuellen Berechtigungen mit Hilfe der Arbeitsgruppen-Informationsdatei lässt sich im vorliegenden Umfang nur ansatzweise erläutern. Sie finden hier eine Beschreibung der grundlegenden Schritte, die zur skalierten Sicherung der Daten einer Datenbank nötig sind.

    Es gibt noch viele weitere Faktoren, um die der vorliegende Beitrag erweitert werden könnte. Dazu gehört die Problematik verknüpfter Tabellen, die Konvertierung von geschützten Datenbanken oder das Schützen von aufgeteilten Datenbanken.

    Außerdem können Sie VBA verwenden, um Benutzer- und Gruppenberechtigungen zu setzen und zu entfernen.

    Weitere Informationen über die Verwendung des Sicherheitssystems von Access finden Sie bei Microsoft im Internet unter der folgenden Adresse:

    http://support.microsoft.com/support/Access/Content/SECFAQ.asp

    Die Seite ist zwar englischsprachig, aber sehr informativ und lohnt die Übersetzung.

    Hinweis

    Der Beitrag Stundenzetteldatenbank zur Dokumentation von Arbeitsleistungen in der vorliegenden Ausgabe von Access im Unternehmen enthält ein Beispiel für eine gesicherte Datenbank. Hier finden Sie noch weitere praxisrelevante Hinweise auf die hier beschriebene Vorgehensweise. (

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.