Inhaltsverzeichnis
4. Datenschicht — DB-Schemas
Stand: 2026-03-05
Übergeordnet: Auth-Architektur — Gesamtübersicht Verwandt: 2. WvdS.Shell | 3. Gateway.Service | 5. Migration
Ausgangssituation
Auth-Daten lagen ursprünglich in ENIVERSCAFM — der Betriebsmittel-Datenbank. Das war historisch gewachsen: Die Anwendung brauchte Benutzer und Rollen, also kamen sie in die vorhandene Datenbank. Mit der Zeit wurde diese Vermischung zum Problem. Die Backup-Strategie für Betriebsmitteldaten ist eine andere als für Benutzerdaten. Die Replikationsanforderungen sind andere. Und wer ENIVERSCAFM migriert oder umbaut, muss aufpassen, keine Auth-Tabellen zu zerstören.
Die Trennung in ENIVERSSIAM schafft eine saubere Grundlage: Alles, was mit „Wer bist du?“ zu tun hat, lebt in einer Datenbank. Alles, was mit „Was gibt es?“ zu tun hat, lebt in einer anderen. ENIVERSCAFM greift auf ENIVERSSIAM über 13 Synonyme zu — aus Sicht des bestehenden Codes ist nichts geändert, die Tabellen sind über dieselben Namen erreichbar. Aber die eigentlichen Daten liegen an dem Ort, wo sie hingehören.
Das macht die Auth-Schicht unabhängig ersetzbar: Wenn die Authentifizierungsimplementierung in Zukunft geändert werden muss — anderer MFA-Anbieter, anderes Token-Format, externer Identity-Provider — ist das eine Operation an einer einzigen, klar abgegrenzten Datenbank. ENIVERSCAFM und ENIVERSPIMS erfahren davon nichts, solange die Synonym-Schnittstelle erhalten bleibt.
Datenbanken
Die ENIVERS-Plattform gliedert sich in drei thematisch getrennte SQL-Server-Datenbanken.
Alle laufen auf derselben Instanz (localhost) und sind über das Gateway.Service
als REST-API erreichbar.
| Datenbank | Vollname | Zweck |
|---|---|---|
| ENIVERSSIAM | System for Identity and Access Management | Identity, Auth, Rollen, Berechtigungen, Deployments |
| ENIVERSCAFM | Computer Aided Facility Management | Anlagen, Betriebsstätten, Geräte, Gebäude, Rohre, Ressourcen |
| ENIVERSPIMS | Process Information Management System | Prozessdaten, Messtechnik, Prüfungen, WIS |
ENIVERSSIAM
Enthält alles rund um Identität, Authentifizierung und Systemkonfiguration.
| Schema | Tabelle | Beschreibung |
|---|---|---|
core | person | Basis-Identität (Name, Position, Aktiv-Flag) |
auth | user | Anmeldedaten, TOTP, Password-Hash |
auth | role | Rollen-Definitionen |
auth | permission | Berechtigungs-Objekte (Resource/Action/Scope) |
auth | role_permission | Rollen-Berechtigungs-Zuordnung |
auth | user_role | User-Rollen-Zuordnung (mit Site-Scope) |
auth | device | Geräte-Sessions, PQ-Keys, Refresh-Tokens |
auth | server_key | Server-seitige ML-DSA/ML-KEM Schlüssel |
auth | mfa_session | TOTP Challenge-Sessions |
auth | backup_code | MFA Backup-Codes |
auth | known_location | Bekannte Standorte (Geo-IP) |
auth | nonce_cache | Replay-Protection Nonces |
auth | rate_limit_event | Rate-Limit Protokoll |
Detaildokumentation Auth-Architektur:
ENIVERSCAFM
Computer Aided Facility Management — technische Bestandsdaten.
Synonyme auf ENIVERSSIAM (transparenter Zugriff ohne Code-Änderung):
auth.*(13 Synonyme → ENIVERSSIAM.auth.*)hr.person(Synonym → ENIVERSSIAM.core.person)
Eigene Schemas (Auswahl, noch zu konsolidieren):
dbo— Legacy-Tabellen aus Migration (Anlagen, Betrieb, Geräte, Personen, Rollen…)audit— Ereignis-Log, PQ-Signaturensettings— User-Präferenzenorg— Standorte (org.site)
ENIVERSPIMS
Process Information Management System — noch aufzubauen.
Zukünftige Inhalte aus Migration von:
- AMED/WIS-Delphi (Prüfplanung, Prüfausführung)
- TecDB (Rohre, Messtechnik, Anlagentechnik)
- WIS-Berichte und Messergebnisse
Migration
Details zu Phasen, Quellsystemen, Mapping-Tabellen und SQL-Skripten: 5. Auth-Migration — Legacy-Systeme
| Phase | Inhalt | Status |
|---|---|---|
| 1 | auth.* + core.person: ENIVERSCAFM → ENIVERSSIAM | ✓ Abgeschlossen |
| 2 | LD-System (ENIVERS tblPerson/tblRolle) → ENIVERSSIAM | ✓ Abgeschlossen |
| 3 | AMED-Bestandsdaten (Branches, Devices, Facilities) → ENIVERSCAFM | Ausstehend |
| 4 | ENIVERSPIMS aufbauen; WIS/PROOF/TecDB migrieren | Ausstehend |
| 5 | ENIVERSASYS aufbauen; Feature-Flags aus ENIVERSCAFM auslagern | Ausstehend |