Die Menschen glauben fest an das, was sie wünschen. - Julius Cäsar
emde IT-LÖSUNGEN
> Tel. 08131 / 99 69 80-0
> Kontakt per E-Mail
Sicherheitswarnungen für Access-Datenbanken ausschalten
20. Dezember 15
Die Informationen in diesem Artikel beziehen sich auf Access 2010, sind aber auf alle Versionen ab Access 2007 übertragbar.
Sicherheitswarnungen beim Öffnen einer Access-Datenbank
Hat man sich mit dem Thema "Sicherheitswarnungen" in Access noch nicht beschäftigt, tritt beim Öffnen einer Access-Datenbank vermutlich einer der folgenden Fälle ein:
A) Beim Öffnen einer ACCDB bekommt man in einer gelben Box die Sicherheitswarnung: "Einige aktive Inhalte wurden deaktiviert. Klicken Sie hier, um weitere Details anzuzeigen." Klickt man auf "Inhalt aktivieren", öffnet sich die Access-Datenbank.
B) Beim Öffnen einer ACCDB mit einem Makro "Autoexec" öffnet sich darüber hinaus ein Fenster mit dem Makronamen (meist "Autoexec") und dem Button "Alle Makros anhalten". Klickt man auf diesen Button und dann auf den Button "Inhalt aktivieren" in der Sicherheitswarnung, so öffnet sich die Access-Datenbank.
C) Beim Öffnen einer ACCDE bekommt man die Meldung "Es wurde ein potenzielles Sicherheitsrisiko erkannt." Klickt man auf den Button "Öffnen" unterhalb des Infotextes, so öffnet sich die Access-Datenbank.
In jedem Fall kann man also die Datenbank letztendlich öffnen.
Um allerdings zu erreichen, dass man die Access-Datenbank zukünftig ohne diese Sicherheitswarnungen öffnen kann, sollte man das Verzeichnis, in dem die Datenbank liegt, als vertrauenswürdigen Speicherort kennzeichnen.
Dazu gibt es mehrere Möglichkeiten.
Gruppenrichtlinien verwenden
Am elegantesten kann das Verzeichnis, in dem eine Access-Datenbank gespeichert ist, über Gruppenrichtlinien zum sicheren Speicherort erklärt werden. Hierzu muss allerdings der entsprechende Client-Rechner Mitglied einer Windows Domänen-Struktur sein.
Man benötigt zuallererst die sogenannten ADM-Dateien, mit deren Hilfe die Gruppenrichtlinienstruktur um Einträge für das Office-Paket ergänzt wird. Zu diesem Zweck lädt man sich die Datei Office2010ADM-x86-de.zip zum Beispiel » hier herunter. Sollte man die 64 bit-Version von Access benutzen, so verwendet man die entsprechende x64-Datei.
Eine Auswahl der sich in dem heruntergeladenen Archiv befindenden ADM-Dateien kopiert man auf seinem Domänen-Controller in das Verzeichnis %SystemRoot%\inf. Je nachdem, für welches Programm Einstellungen vorgenommen werden sollen, wählt man die entsprechende ADM-Datei oder eben die Datei office14.adm für allgemeine Einstellungen. In dem hier beleuchteten Zusammenhang ist lediglich die Datei access14.adm von Belang.
Nachdem man die gewünschten Dateien in das inf-Verzeichnis kopiert hat, öffnet man den Gruppenrichtlinien-Editor. Um vertrauenswürdige Speicherorte zu definieren, wechselt man in den Bereich Benutzerkonfiguration / Richtlinien / Administrative Vorlagen / Klassische administrative Vorlage (ADM) / Microsoft 2010 / Anwendungseinstellungen / Sicherheit / Sicherheitscenter / Vertrauenswürdige Speicherorte. Man aktiviert hier, falls die Datenbank im Netzwerk gespeichert wird, zunächst die Einstellung Vertrauenswürdige Speicherorte im Netzwerk zulassen und trägt dann den gewünschten Speicherort in der Abteilung Vertrauenswürdiger Speicherort Nr. 1 ein. Im unten stehenden Screenshot sind diese Einstellungen rot umrandet.
Zum generellen Vorgehen ist noch anzumerken, dass man die Office-Einstellungen in seinen allgemeinen Einstellungen vornehmen kann oder ein spezielles Office 2010-Gruppenrichtlinien-Objekt verwendet. Letzteres Vorgehen hat den Vorteil, dass man beim Übergang zu einer anderen Office-Version lediglich das Gruppenrichtlinienobjekt austauscht und nicht erst mühsam in seinen allgemeinen Einstellungen die nicht mehr benötigten Office-Einstellungen herauslöschen muss.
Access Sicherheitscenter
Verfügt man über eine Access-Lizenz, so kann man die vertrauenswürdigen Speicherorte für den aktuellen Benutzer und den aktuellen Rechner folgendermaßen setzen:
- Menü "Datei", ganz unten "Optionen"
- links "Sicherheitscenter"
- rechts Button "Einstellungen für das Sicherheitscenter"
- links "Vertrauenswürdige Speicherorte"
Befindet sich die ACCDB im Netzwerk, muss nun zunächst unten die Option "Vertrauenswürdige Speicherorte im Netzwerk zulassen" aktiviert werden.
Nun unten den Button "Neuen Speicherort hinzufügen" klicken. Es öffnet sich ein Dialog zum Eintragen eines vertrauenswürdigen Speicherorts:
Den Speicherort gibt man am besten als UNC-Pfad an, also in der Form \\<Server>\Verzeichnis.
Will man nicht für jede Access-Datenbank einen eigenen Speicherort angeben, so kann man auch ein höher gelegenes Verzeichnis eintragen und die Option "Unterordner dieses Speicherorts sind ebenfalls vertrauenswürdig" ankreuzen.
Vertrauenswürdigen Speicherort in der Registry eintragen
Verfügt man nicht über Access, kann man auch mit dem Editor regedit die Registry anpassen. Für Access 2010 findet man den entsprechenden Key unterhalb von HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations. Hier wird ein neuer Schlüssel MyLocation angelegt. Der Name ist dabei frei wählbar.
In diesem Schlüssel wird eine Zeichenfolge mit dem Namen Path angelegt und das Verzeichnis, welches die Access-Datenbank enthält, als Wert eingetragen. Sollen auch die Unterverzeichnisse vertrauenswürdig sein, ergänzt man einen DWORD-Wert AllowSubfolders mit dem Wert 1. Handelt es sich um Netzwerkverzeichnisse, setzt man direkt in Trusted Locations den Schlüssel AllowNetworkLocations auf 1.
Möchte man nicht direkt die Registry editieren bzw. möchte man als Datenbank-Entwickler seinen Kunden diese Aktion erleichtern, so kann man auch etwa folgendes Skript verwenden:
Ein kleiner Nachteil bei diesem Skript ist, dass man möglicherweise eine bereits bestehende Location überschreibt.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations] "AllowNetworkLocations"=dword:00000001 [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\MyLocation] "Description"="Meine Datenbank" "Path"="\\\\SERVERNAME\\VERZ1\\VERZ2" "AllowSubfolders"=dword:00000001
Dieses Script wird dann in einer Datei mit der Extension .reg gespeichert und per Doppelklick ausgeführt.
ACCDE: Funktion zum Eintrag des Speicherorts in die Registry
Liefert man eine Access-Anwendung als ACCDE aus, so kann man seinen Benutzern eine Funktion zum Eintragen der vertrauenswürdigen Speicherorte in die Registry zur Verfügung stellen.
Dazu verwendet man die Methoden RegRead und RegWrite des Windows Script Hosts. Nähere Informationen zu diesen Methoden findet man im » Microsoft Developer Network.
Public Function TrustedLocationSet() As Boolean Dim DBLoc As String Dim KeyStart As String Dim fTrusted As Boolean DBLoc = ..UNC-Pfad des Verzeichnisses der aktuellen Datenbank.. KeyStart = "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations" If WSRegExists(KeyStart & "\MyLocation\Path") Then If WSRegRead(KeyStart & "\MyLocation\Path") = DBLoc Then fTrusted = True End If End If If Not fTrusted Then WSRegWrite KeyStart & "\AllowNetworkLocations", 1, "REG_DWORD" WSRegWrite KeyStart & "\MyLocation\Path", DBLoc, "REG_SZ" End If Exit Function End Function Function WSRegExists(RegKey As String) As Boolean Dim WS As Object Set WS = CreateObject("WScript.Shell") On Error Resume Next WS.RegRead RegKey WSRegExists = (Err = 0) Err.Clear Set WS = Nothing Exit Function End Function Function WSRegRead(RegKey As String) As String Dim WS As Object On Error Resume Next Set WS = CreateObject("WScript.Shell") WSRegRead = WS.RegRead(RegKey) Set WS = Nothing End Function Sub WSRegWrite(RegKey As String, Value As String, Optional KType As String) Dim WS As Object Set WS = CreateObject("WScript.Shell") WS.RegWrite RegKey, Value, KType Set WS = Nothing End Sub
Sicherheitswarnung trotz vertrauenswürdigem Speicherort
Manchmal bekommt man beim Öffnen eine Sicherheitswarnung, obwohl man das Verzeichnis als vertrauenswürdigen Speicherort eingetragen hat, nämlich dann, wenn man die ACCDB von einem anderen Ort in das Verzeichnis kopiert. Hier handelt es sich möglicherweise um einen Fehler im Sicherheitssystem. Die Warnung erscheint aber nur beim ersten Öffnen, insofern kann man damit leben.
Weitere Informationen zum Thema
Detaillierte Informationen zu den Sicherheitseinstellungen in Access 2010 findet man auf den Seiten des Microsoft Supports zum Thema » Sicherheit von Access 2010.