Wenn die Aufsichtsbehörde vor der Tür steht
Access ist schnell gebaut.
Aber die DSGVO interessiert das nicht.
Personenbezogene Daten müssen geschützt sein –
egal ob in der Cloud oder im Netzlaufwerk.
Ich zeig Dir, wie ich lokale Access-Lösungen auf DSGVO-Kurs bringe.
Was DSGVO konkret fordert
- Datensparsamkeit
- Transparenz (wer, warum, wie lange)
- Auskunftspflicht
- Berichtigung, Löschung, Einschränkung
- Schutz durch Technik (Art. 25 DSGVO)
- Protokollierung von Zugriffen und Änderungen
- Technische und organisatorische Maßnahmen (TOMs)
Schritt 1: Welche Daten sind personenbezogen?
Einfacher Test:
Würdest Du es über Dich in einer Tabelle stehen haben wollen?
Typische Felder:
- Name, E-Mail, Telefonnummer
- Kundennummer mit Bezug zu Adresse
- IP-Adresse bei Protokollen
- Arbeitszeiten mit Zuordnung zu Person
Diese Felder müssen besonders behandelt werden.
Schritt 2: Zugriff absichern
Lokale Access-Datei
- Frontend und Backend trennen
- Backend (Daten) in separatem Ordner mit NTFS-Rechten
- Nur ausgewählte Nutzer dürfen auf die
.accdb
zugreifen - Kein Freigabeordner „Jeder“ oder „Domänen-Benutzer“
Beispiel: Zugriff prüfen in VBA
If Environ("USERNAME") <> "admin" Then
MsgBox "Kein Zugriff erlaubt.", vbCritical
Application.Quit
End If
Für produktive Lösungen: besser über Active Directory Gruppen + NTFS.
Schritt 3: Daten verschlüsseln
Access kann die Datei mit AES schützen.
Besser als nichts.
Reicht aber nicht für Hochsicherheitsdaten.
- Datei öffnen
- Datei > Informationen > Mit Kennwort verschlüsseln
.accdb
schließen, Verschlüsselung aktiv
Tipp: ACCDE fürs Frontend, verschlüsselte ACCDB fürs Backend.
Schritt 4: Protokollierung implementieren
Tabellenänderungen loggen
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strLog As String
strLog = "UPDATE durch: " & Environ("USERNAME") & _
" um " & Now & _
", ID: " & Me!ID
Call LogEintrag(strLog)
End Sub
Public Sub LogEintrag(strText As String)
Dim db As DAO.Database
Set db = CurrentDb
db.Execute "INSERT INTO tblProtokoll (Zeitpunkt, Benutzer, Aktion) " & _
"VALUES (Now(), '" & Environ("USERNAME") & "', '" & strText & "')"
End Sub
So kannst Du Änderungen belegen.
Schritt 5: Löschung auf Anfrage
Manuelle Löschung
Du brauchst ein Formular mit:
- ID-Eingabe
- Schaltfläche „Löschen nach Art. 17“
Beispiel in VBA
CurrentDb.Execute "DELETE FROM tblKunden WHERE KundenID = " & Me!txtKundenID, dbFailOnError
Call LogEintrag("Datensatz gelöscht: KundenID " & Me!txtKundenID)
Alternativ: Soft-Delete mit „Gelöscht am“ und „Gelöscht von“-Feld.
Schritt 6: Auskunft und Export ermöglichen
Du musst auf Anfrage alle Daten einer Person ausgeben können.
Z. B. als PDF oder CSV.
Public Sub ExportKundendatenCSV(KundenID As Long)
Dim strSQL As String
strSQL = "SELECT * FROM tblKunden WHERE KundenID = " & KundenID
DoCmd.TransferText acExportDelim, , "tblKunden", "C:\temp\Kunde_" & KundenID & ".csv", True
End Sub
CSV reicht meist.
PDF optional über Word oder Report.ExportAsFixedFormat.
Schritt 7: Aufbewahrungsfristen einhalten
Jede Tabelle braucht ein „Erstellt am“ und „Letzte Änderung“.
Und ggf. ein „Löschdatum“.
Automatisch setzen
Private Sub Form_BeforeInsert(Cancel As Integer)
Me!ErstelltAm = Now
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me!GeändertAm = Now
End Sub
Löschen per Timer oder manueller Prüfung nach z. B. 3 Jahren.
Schritt 8: Dokumentation
Für jede Access-Lösung brauchst Du:
- Verzeichnis der Verarbeitungstätigkeiten
- Technische und organisatorische Maßnahmen (TOM)
- Verfahrensbeschreibung
- Berechtigungskonzept
- Auftragsverarbeitungsvertrag (wenn extern gepflegt)
Tabelle: DSGVO-Maßnahme und Umsetzung in Access
DSGVO-Forderung | Umsetzung in Access |
---|---|
Zugriffsschutz | NTFS-Rechte, Benutzernamenprüfung |
Verschlüsselung | AES + ACCDE + Netzwerkfreigabe einschränken |
Protokollierung | Log-Tabelle + VBA in BeforeUpdate |
Auskunftsrecht | CSV/PDF-Export per Button |
Recht auf Löschung | Formular mit Löschroutine |
Speicherbegrenzung | „Löschdatum“-Feld + regelmäßige Prüfung |
Dokumentation | externe Word- oder Excel-Dateien |
Mein Setup für DSGVO-konforme Access-Apps
Bereich | Maßnahme |
---|---|
Zugriff | NTFS + Domain-Gruppen |
Verschlüsselung | AES (ACCDB) + ACCDE |
Protokoll | tblProtokoll + zentrale LogEintrag() -Routine |
Löschung | Soft-Delete mit Protokoll |
Auskunft | CSV-Export mit Kundenfilter |
Prüfung | jährlicher Review mit Checkliste |
Access kann DSGVO – wenn Du’s ihm beibringst.
Von allein macht es nichts.
Aber mit ein paar Routinen
und gesundem Menschenverstand
kriegst Du Deine lokale Lösung sauber dokumentiert,
nachvollziehbar und datenschutzkonform.
Keine Antworten