Access und DSGVO => Wie ich lokale Lösungen datenschutzkonform betreibe

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-ForderungUmsetzung in Access
ZugriffsschutzNTFS-Rechte, Benutzernamenprüfung
VerschlüsselungAES + ACCDE + Netzwerkfreigabe einschränken
ProtokollierungLog-Tabelle + VBA in BeforeUpdate
AuskunftsrechtCSV/PDF-Export per Button
Recht auf LöschungFormular mit Löschroutine
Speicherbegrenzung„Löschdatum“-Feld + regelmäßige Prüfung
Dokumentationexterne Word- oder Excel-Dateien

Mein Setup für DSGVO-konforme Access-Apps

BereichMaßnahme
ZugriffNTFS + Domain-Gruppen
VerschlüsselungAES (ACCDB) + ACCDE
ProtokolltblProtokoll + zentrale LogEintrag()-Routine
LöschungSoft-Delete mit Protokoll
AuskunftCSV-Export mit Kundenfilter
Prüfungjä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.

Kategorien:

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert