Skip to content

Latest commit

 

History

History
331 lines (259 loc) · 9.27 KB

File metadata and controls

331 lines (259 loc) · 9.27 KB

ThemisDB Admin Tools - Feature Matrix

Stand: 5. Dezember 2025
Version: 1.0.0
Kategorie: Admin Tools


Übersicht der implementierten Features

✅ Key Rotation Dashboard

Feature Status Beschreibung
Schlüssel-Übersicht Anzeige LEK/KEK/DEK inkl. Version/Status
Manuelle Rotation POST /keys/rotate mit key_id (Body/Query)
Filter Nach Typ (LEK/KEK/DEK), „nur abgelaufene“
Status-Updates Zähler gesamt/abgelaufen
Fehlerbehandlung 400/503 verständlich anzeigen

✅ Classification Dashboard

Feature Status Beschreibung
Regeln laden GET /classification/rules
Test-Classification POST /classification/test mit { text, metadata }
Export CSV-Export der Ergebnisse
Filter Level, Verschlüsselung, Compliance-Status
Live-Statistik Counts in Sidebar

✅ Compliance Reports

Feature Status Beschreibung
Report-Generierung GET /reports/compliance?type=...
Formate JSON (Server), Export in den Tools (CSV/PDF/Excel)
Vorlagen Standard/Detailliert (Tool-seitig)
Zeitraum Parametrierbar (Tool-seitig)
Fehlerbehandlung 503 „Reports API not available“ verständlich

✅ Audit Log Viewer

Feature Status Beschreibung
Datumsfilter Von/Bis-Datum mit DatePicker
Benutzerfilter Filter nach Username
Aktionsfilter Filter nach Action-Typ
Entitätsfilter Filter nach EntityType
Erfolgsfilter "Nur erfolgreiche Aktionen" Checkbox
Globale Suche Durchsucht alle 9 Spalten gleichzeitig
Multi-Column Sort Sortierung nach ID, Timestamp, User, Action, etc.
Toggle Sort Klick wechselt aufsteigend/absteigend
Paginierung Vor/Zurück Buttons, 100 Einträge/Seite
CSV Export Export gefilterte Daten
Status-Updates Zeigt gefilterte/gesamt Anzahl
Filter löschen Reset aller Filter auf Default
ICollectionView Performante Client-Filter
MVVM Pattern Clean Architecture
Dependency Injection Microsoft.Extensions.DI

Durchsuchbare Felder:

  • User (Benutzername)
  • Action (Aktion)
  • EntityType (Entitätstyp)
  • EntityId (Entitäts-ID)
  • OldValue (Alter Wert)
  • NewValue (Neuer Wert)
  • IpAddress (IP-Adresse)
  • SessionId (Sitzungs-ID)
  • ErrorMessage (Fehlermeldung)

✅ SAGA Verifier

Feature Status Beschreibung
Batch-Liste Übersicht aller SAGA-Batches
Batch-Suche Suche nach ID, Hash, Signatur, Timestamp
Batch-Detail Vollständige Batch-Informationen
SAGA-Steps Liste aller Schritte im Batch
Step-Suche Suche nach SAGA ID, Step Name, Status, etc.
Multi-Column Sort Sortierung für Batches & Steps
Signatur-Verifizierung Kryptographische Prüfung
Batch Flush Manuelles Flushen des aktuellen Batches
CSV Export Export SAGA-Steps
Auto-Load Detail Automatisches Laden bei Batch-Auswahl
Status-Updates Zeigt gefilterte/gesamt Anzahl
Split-View Batch-Liste
Visual Feedback ✓/✗ für Verifikations-Status
ICollectionView Separate Filter für Batches & Steps
MVVM Pattern CommunityToolkit.Mvvm

Batch-Suchfelder:

  • BatchId (Batch-ID)
  • Hash (SHA-256 Hash)
  • Signature (Kryptographische Signatur)
  • Timestamp (Zeitstempel)

Step-Suchfelder:

  • SagaId (SAGA-ID)
  • StepName (Schrittname)
  • Status (Status)
  • CorrelationId (Korrelations-ID)
  • Metadata (Metadaten JSON)

Gemeinsame Features

Technologie-Stack

Komponente Technologie Version
Framework .NET 8.0
UI WPF Windows Presentation Foundation
MVVM CommunityToolkit.Mvvm 8.x
DI Microsoft.Extensions.DI 8.x
HTTP HttpClient .NET 8
Config Microsoft.Extensions.Configuration.Json 8.x
Backend C++ themis_server REST API

Architektur-Pattern

MVVM (Model-View-ViewModel)

  • Klare Trennung UI ↔ Logik
  • Data Binding
  • Command Pattern
  • ObservableObject/ObservableProperty

Dependency Injection

  • Service Container (App.xaml.cs)
  • Singleton ThemisServerConfig
  • Transient ViewModels & Windows
  • Factory Pattern für HttpClient

ICollectionView Pattern

  • Client-seitige Filterung
  • Keine Änderung der Source-Collection
  • Performance-Optimierung
  • Kombinierbar mit Sorting

Repository Pattern

  • ThemisApiClient als Repository
  • ApiResponse Wrapper
  • Error Handling
  • Asynchrone Operationen

Benutzerfreundlichkeit

Echtzeit-Suche

  • UpdateSourceTrigger=PropertyChanged
  • Instant Feedback
  • Keine Server-Anfragen bei Texteingabe

Visuelle Indikatoren

  • Loading Spinner/Progress Bar
  • Status-Leiste mit Meldungen
  • Sortier-Pfeile in Spaltenüberschriften
  • Platzhalter-Text in Suchfeldern ("🔍 Search...")

Tastatur-Support

  • Tab-Navigation
  • Enter in Suchfeldern
  • ESC für Abbrechen

Responsive Design

  • GridSplitter für variable Layouts
  • Auto-Sizing Columns
  • ScrollViewer für große Daten
  • AlternatingRowBackground für Lesbarkeit

Performance

Optimierungen

  • Server-seitige Paginierung (100/Seite)
  • Client-seitige Filterung nur auf geladene Daten
  • ICollectionView statt Collection-Manipulation
  • Async/Await für non-blocking UI
  • Background-Threads für I/O

Memory Management

  • ObservableCollection statt List (für Binding)
  • Dispose Pattern in App.OnExit
  • ServiceProvider Lifecycle Management

Fehlerbehandlung

Exception Handling

  • Try-Catch in allen Commands
  • MessageBox für Benutzer-Feedback
  • ErrorMessage Property für UI
  • StatusMessage für Kontext

Validation

  • Null-Checks vor API-Calls
  • Config-Validation beim Startup
  • Filter-Validation (optional vs. required)

REST API Endpoints

Admin APIs (Keys | Classification | Reports)

Endpoint Method Beschreibung
/keys GET Liste aller gemanagten Schlüssel
/keys/rotate POST Rotation; key_id im Body { key_id: "DEK" } oder Query ?key_id=DEK
/classification/rules GET Liste der Klassifizierungsregeln
/classification/test POST Test-Classification { text, metadata }
/reports/compliance GET Compliance-Report `?type=overview

Hinweis: Einige Tool-Clients verwenden einen /api-Prefix (z. B. /api/keys). Siehe Admin-Guide für Reverse-Proxy-Rewrite auf prefix-freie Server-Endpunkte.

Audit API

Endpoint Method Beschreibung
/api/audit GET Liste Audit-Logs mit Filtern
/api/audit/export/csv GET Export als CSV

Query-Parameter:

  • start_date (DateTime)
  • end_date (DateTime)
  • user (string)
  • action (string)
  • entity_type (string)
  • success_only (bool)
  • page (int)
  • page_size (int)

SAGA API

Endpoint Method Beschreibung
/api/saga/batches GET Liste aller SAGA-Batches
/api/saga/batch/{id} GET Batch-Detail mit Steps
/api/saga/batch/{id}/verify POST Verifiziere Signatur
/api/saga/flush POST Flush aktuellen Batch

Geplante Features (Roadmap)

Kurzfristig (nächste 2 Wochen)

  • PII-Manager Tool
    • UUID ↔ Pseudonym Mapping
    • DSGVO Art. 17 Löschung
    • Export-Funktionen

Mittelfristig (nächste 4 Wochen)

  • Retention-Manager
    • Policy-Konfiguration
    • Überwachung
    • Manuelle Bereinigung

Langfristig (2-3 Monate)

  • Erweiterte Admin-Features
    • Saved Filter Profiles
    • Team-Filter Templates
    • Regex-Support in Suche
    • Advanced Filter Builder (AND/OR)
    • Visualisierung (Charts)

Deployment

Aktueller Status

Development Build

  • Debug-Build funktionsfähig
  • Local Testing erfolgreich
  • themis_server Integration getestet

Geplant

  • Release Build

    • Optimierte Binaries
    • Code-Signierung
    • Installer (MSI/ClickOnce)
  • Auto-Update

    • ClickOnce Deployment
    • Version-Check
    • Automatische Updates
  • Documentation

    • Benutzerhandbücher
    • Admin-Guide
    • API-Dokumentation
    • Video-Tutorials

Zusammenfassung

Aktuelle Features:

  • ✅ Admin-Tools: AuditLogViewer, SAGAVerifier, KeyRotation, Classification, Compliance Reports
  • ✅ Vollständige Such-, Sortier- und Filterlogik
  • ✅ REST API Integration (inkl. Keys, Classification, Reports)
  • ✅ MVVM + DI Architecture
  • ✅ ICollectionView Performance-Optimierung
  • ✅ CSV Export
  • ✅ Echtzeit-Suche
  • ✅ Multi-Column Sorting
  • ✅ Responsive UI

Nächste Schritte:

  1. PII-Manager Tool entwickeln
  2. Retention-Manager erstellen
  3. Deployment vorbereiten
  4. Dokumentation vervollständigen

Code-Qualität:

  • ✅ MVVM Pattern konsequent
  • ✅ Dependency Injection
  • ✅ Error Handling
  • ✅ Performance-optimiert
  • ✅ Wartbar & erweiterbar