c Burgy Zapp
Betroffenenrechte mit RCAC und Temporal Support wahren
von Patrick Arnold
Die in den Artikeln 16 bis 18 der DSGVO verankerten Rechte der – von einer Verarbeitung personenbezogener Daten betroffenen – Person auf Berichtigung, Löschung und Einschränkung der Verarbeitung lassen sich mit Bordmitteln der IBM Db2 for i umsetzen, ohne zwingend auf kostspielige Zusatzprodukte zurückgreifen zu müssen.
Gerade das tatsächliche Löschen von Daten erweist sich als schwierig, hängt es doch stark von der verwendeten Anwendung, dem Datenmodell und weiteren, darauf zugreifenden, Systemen ab. Das neue, ebenfalls ab Mai 2018 gültige, Bundesdatenschutzgesetz weicht die kategorische Löschpflicht der DSGVO per Öffnungsklausel auf und lässt unter bestimmten Voraussetzungen eine Einschränkung der Verarbeitung statt des Löschens zu.
Ob diese Bedingungen vorliegen, gilt es im Zweifelsfall durch eine Rechtsberatung sicherzustellen, die dieser Artikel natürlich nicht ersetzen kann. Zum Thema „Löschen“ existieren gegensätzliche Auffassungen, vermutlich wird erst die Rechtsprechung ab Juni 2018 Klarheit schaffen.
Formulierungen der DSGVO lassen allerdings die Schlussfolgerungen zu, dass die Daten nicht vernichtet, sondern lediglich für gewöhnliche Zugriffe unbenutzbar gemacht werden müssen, und dass auch nicht auf allen Sicherungskopien gelöscht werden muss [vgl. Härting].
Es muss allerdings gewährleistet werden, dass beim Wiedereinspielen gesicherter Daten die Änderungen hinsichtlich Sperrung/Löschung übernommen werden. Betroffenenanfragen und daraufhin veranlasste Tätigkeiten müssen dokumentiert werden, wobei darauf zu achten ist, dass auch über Protokolle nicht auf gelöschte/gesperrte Daten zugegriffen werden kann [vgl. Schäffter].
Row and Column Access Control: Einschränkung der Verarbeitung, Sperrung statt Löschung
Mit RCAC ist es möglich, ab Db2 for i 7.2 eine Zugriffskontrolle auf Datei- bzw. Tabellenebene einzurichten. Diese ist unabhängig von der verwendeten Schnittstelle und greift damit auch bei Zugriffen per SQL, ODBC, FTP etc.
RCAC besteht aus zwei Teilen, der Zeilenberechtigung und der Spaltenmaskierung. Zugriffsrechte werden nach Benutzer- und Gruppenvorgaben erteilt. Nutzer oder Anwendungen mit entsprechenden Nutzerrechten, die keine Berechtigung für bestimmte Datensätze haben, bekommen diese bei einer Abfrage nicht ausgegeben. Spalteninhalte werden hingegen maskiert wiedergegeben.
Dabei gilt es, die Maske entsprechend des Datentyps des originären Feldes einzurichten. Durch den Einsatz von RCAC werden damit Privacy-by-Design-Vorgaben und das Need-to-Know-Prinzip unterstützt.
Vor dem Einsatz von RCAC muss aber zwingend ein Berechtigungskonzept angefertigt werden, da bei der Einrichtung nicht aufgeführte Nutzer keine Zugriffsrechte bekommen. Selbst ein *ALLOBJ-User stellt hierbei keine Ausnahme dar.
Spaltenmaskierung definieren
In Zeile 1 der Abbildung 1 wird die Spaltenmaske GEBDAT_MASK definiert, deren Aufgabe es ist, die Ausgabe der Jahreszahl für unberechtigte Benutzer der Gruppe „MITARBEITER“ mit „9999“ zu maskieren (Zeile 6 und 7), sodass das Geburtsjahr nur berechtigten Benutzern aus der Gruppe „PERSONAL“ (Zeile 4 und 5) angezeigt wird.
Zeilenberechtigung setzen
Die Zeilenberechtigung, die im Beispiel „PLZ_ROW_ACCESS“ heißt, berechtigt Nutzer der Gruppe „MITARBEITER“ dazu, Adressdatensätze einzusehen, deren Postleitzahl nicht mit „0“ beginnt (Zeilen 3 bis 5). Personaler sehen weiterhin alles, müssen dafür aber auch explizit aufgeführt werden (Zeile 5).
Beide RCAC-Komponenten müssen nach ihrer Definition noch aktiviert werden (Zeilen 12 bzw. 9 der obigen Abbildungen).
Abfragen nach RCAC-Aktivierung
Fragt nun ein Mitarbeiter Adressdatensätze ab, erhält er nur die, deren Postleitzahlen mit den Ziffern 1 bis 9 beginnen. Die Jahreszahl in der Spalte des Geburtsdatums ist maskiert mit „9999“ (Abb. 3).
Abfragen eines Personalers liefern hingegen sowohl das vollständige Geburtsdatum als auch die oben fehlenden Zeilen mit den mit 0 beginnenden Postleitzahlen (Abbildung 4).
Interessant ist, dass RCAC auch Nutzer mit *ALLOBJ-Rechten einschränken kann. Da eine derartige Gruppe nicht in die Definition mit aufgenommen wurde, werden gar keine Daten zurückgeliefert (Abbildung 5).
Der RCAC_OWNER hat die jeweilige Berechtigung erstellt, kann in diesem Fall aber die Daten nicht einsehen (Beispiel in Abbildung 5). COLUMN_NAME gibt an, welche Spalte maskiert wird und CONTROL_TYPE weist den Typ der Zugriffskontrolle aus (R: Row permission, M: Column mask).
Temporal Support: Protokollierung von Änderungen
Wie bereits erwähnt, müssen Lösch- und Änderungsanfragen betroffener Personen sowie die daraufhin durchgeführten Tätigkeiten protokolliert werden. Dies kann bereits in der Datenbank erfolgen, indem der jeweiligen temporalen Tabelle ein weiteres Feld mit einem Verweis auf Änderung und dem entsprechenden Grund angefügt wird, bspw. ein simples Textfeld „Betroffenenanfrage“, das bei SQL-Update- oder Delete-Befehlen zusätzlich beschrieben wird.
Temporal Support sorgt ab Db2 for i 7.3 als systemseitige Historisierungslösung dafür, dass sowohl alte Zustände als auch der aktuelle Datensatz transparent, je nach gesetztem Abfragedatum, eingesehen werden können. Sowohl der direkte Zugriff auf die History Table, als auch das Auslesen gelöschter Daten aus dem temporalen DBMS kann durch RCAC verhindert werden.
Auch mit aktiviertem Temporal Support arbeitet RCAC wie gewohnt; die Jahreszahl wird maskiert (Abbildung 7).
Das Beispiel in Abbildung 8 demonstriert die transparente Abfrage früherer Werte über das temporale DBMS. Das FOR-Statement in Zeile 2 legt fest, dass die Abfrage Daten liefert, als wäre es der 11. November 2017.
Beide genannten Technologien lassen sich – nach etwas Einarbeitung und Erstellung eines Berechtigungskonzepts – für die Umsetzung der DSGVO-Vorgaben einsetzen. TS und RCAC ergänzen sich hierbei hervorragend.
Quellen
BDSG (2018) und EU-DSGVO
BDSG (2018) veröffentlicht im Bundesgesetzblatt Nr. 44 vom 05.07.2017 http://www.bgbl.de/xaver/bgbl/start.xav?startbk=Bundesanzeiger_BGBl&jumpTo=bgbl117s2097.pdf
Verordnung (EU) 2016/679 des Europäischen Parlaments und des Rates vom 27. April 2016 http://eur-lex.europa.eu/legal-content/DE/ALL/?uri=CELEX:32016R0679
Löschung und Sperrung von Daten
Härting, Niko: Datenschutz-Grundverordnung : Das neue Datenschutzrecht in der betrieblichen Praxis. 1. Auflage 2016, Dr. Otto Schmidt, Köln. – Auszugweise auch online abrufbar:
Schäffter, Markus: Datenschutzmanagement 2.0 : EU-konformen Datenschutz effizient planen und umsetzen. Erstausgabe Oktober 2017, CreateSpace by Amazon (Selbstpublikation).
Temporal Support und Row and Column Access Control
IBM Db2 for i 7.3 SQL Reference: <https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/ db2/rbafzpdf.pdf>
IBM Redpaper – Row and Column Access Control: https://www.redbooks.ibm.com/redpapers/pdfs/redp5110.pdf
Über den Autor
Patrick Arnold, Technical Consultant bei der All for One Steeb AG im Fachbereich DCW, erkundet neue Technologien (TS, RCAC, Node.js etc.) und deren Wert für die Stakeholder.
Kontakt:
patrick.arnold (ät) all-for-one.com









