Automatisierte Anonymisierung von Daten der Einmalkunden #18
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Clients/neveling#18
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Es soll ein automatisierter Prozess entwickelt werden, der die personenbezogenen Daten von Einmalkunden sechs Monate nach dem Transaktionsdatum (
riser_order.result_date) anonymisiert.Das Skript betrifft spezifische Felder in den Tabellen
riser_orderundpayment, ohne die Stammdaten von Portalkunden zu beeinflussen.Gleichzeitig muss sichergestellt werden, dass die zugehörigen PDF-Dokumente für 10 Jahre sicher archiviert und auffindbar bleiben.
Die Entwicklung des Skripts ist abgeschlossen. Die folgenden Tests wurden erfolgreich auf der Testumgebung
bnet005durchgeführt, um die Funktionalität, Sicherheit und das Reporting des Skripts zu validieren.1. Verifizierung der Geschäftslogik
inquiry_ideindeutig identifiziert werden, während Transaktionen von Portalkunden eineinquiry_idvonNULLaufweisen.inquiry_id) durchzuführen, anstatt auf der Ebene des Kundenkontos.customerTabelle) gebunden ist und nicht an eine simple Zählung von E-Mails in derinquiry-Tabelle. Da das Skript ausschließlich Einmalanfragen (inquiry_id IS NOT NULL) anonymisiert und niemals diecustomer-Stammdaten berührt, ist sichergestellt, dass die Geschäftsregel für Rabatte nicht beeinträchtigt wird.2. Tests der Skriptfunktionalität und -sicherheit
--dry-runSchalter wurde erfolgreich getestet. Das Skript hat alle Zieldatensätze korrekt identifiziert, ohne Änderungen an der Datenbank vorzunehmen.riser_order,paymentundinquiry) korrekt aufNULLgesetzt wurden.payment-Tabelle mitinquiry_id IS NULLwurden vor und nach dem Live-Lauf abgefragt.hasheines anonymisierteninquiry-Datensatzes wurde erfolgreich ausgelesen.3. Tests des Reportings und der Benachrichtigungen
/var/log/...) anlegt.mail-Befehls auf dem Server wurde bestätigt.Skript-Abhängigkeiten
Die folgenden Pakete sind auf dem Server (
bnet005undwfweb012) erforderlich, damit das Anonymisierungsskript korrekt funktioniert.1. Python-Pakete
Diese sollten mittels
pipinnerhalb der aktivierten virtuellen Umgebung (venv) des Skripts installiert werden.mariadb: Für die Verbindung zur MariaDB-Datenbank.tqdm: Zur Anzeige des sauberen, visuellen Fortschrittsbalkens.Installationsbefehl:
2. System-Pakete
Diese werden vom Betriebssystem (Debian) benötigt und sollten via
aptinstalliert werden. Sie stellen die notwendigen Werkzeuge zur Erstellung der Umgebung, zum Kompilieren der Python-Pakete und zum Versenden von E-Mail-Benachrichtigungen bereit.•
python3-venv: Ermöglicht die Erstellung von virtuellen Python-Umgebungen.•
build-essential: Stellt essenzielle Compiler und Werkzeuge (wiegcc) bereit, die zum Kompilieren von Software benötigt werden.•
libmariadb-dev: Die C-Connector-Entwicklungsdateien für MariaDB, die zum Kompilieren desmariadbPython-Pakets erforderlich sind.•
python3-dev: Die Python-3-Entwicklungsdateien (Python.h), die ebenfalls zum Kompilieren desmariadb-Pakets benötigt werden.•
mailutils: Stellt dasmail-Kommandozeilenprogramm zur Verfügung, das für den Versand von E-Mail-Alerts verwendet wird.Installationsbefehl:
Produktions-Deployment-Plan für
wfweb012Beschreibung der Vorgehensweise zur sicheren Inbetriebnahme des Anonymisierungsskripts in der Produktionsumgebung.
Phase 1: Vorbereitung der Produktionsumgebung
1. Datenbank-Backup
wf10501_live. Dies ist die wichtigste Sicherheitsmaßnahme für den Fall eines unerwarteten Problems.2. Skript und Umgebung übertragen
Skript-Abhängigkeitenbeschrieben.System-Pakete:
Python-Pakete:
3. Datenbankbenutzer und Berechtigungen einrichten
wf10501_liveDatenbank.Phase 2: Sicherer Test und erste Live-Ausführung
1. Finaler Sicherheitscheck: Dry Run in der Produktion
source /usr/local/src/anonymizer/venv/bin/activate--dry-runSchalter. Dies ist der letzte Sicherheitscheck, um zu sehen, welche Datensätze betroffen wären, ohne reale Änderungen vorzunehmen.2. Erste Live-Ausführung
/var/log/adressermittlung_anonymization/, um den erfolgreichen Abschluss zu bestätigen. Der Status sollte "COMPLETED SUCCESSFULLY" sein.Phase 3: Automatisierung (Cronjob)
1. Cronjob einrichten
crontab -e966bbf8d8cDas Skript muss auch in der Lage sein, die Daten von Leads zu anonymisieren, deren
payment-Statuscanceledist.