NetworkPolicy
NetworkPolicies begrenzen die Kommunikation zwischen den Business-Flies-Komponenten und externen Diensten. Voraussetzung ist, dass das Netzwerk-Plugin des Clusters die Regeln durchsetzt.
Geplante Kommunikationswege
| Quelle | Ziel | Zweck |
|---|---|---|
| Ingress Controller | Frontend-Service | Auslieferung der Benutzeroberfläche |
| Ingress Controller | Backend-Service | Aufruf der HTTP-API |
| Backend | Datenbank-Service | Fachlicher Datenbankzugriff |
| Flyway-Job | Datenbank-Service | Schema-Migration |
| Frontend beziehungsweise Browser | Keycloak | Anmeldung und Tokenverwaltung |
| Backend | Keycloak | Token- und Schlüsselvalidierung |
| Backend | SMTP und freigegebene externe Dienste | Anwendungsintegration |
Das Frontend erhält keinen Netzwerkpfad zur Datenbank. Die Datenbank akzeptiert innerhalb des Clusters nur Verbindungen von Backend und Flyway-Job.
Vorgehen
- Alle beteiligten Pods und Namespaces erhalten stabile Labels.
- Zunächst werden die tatsächlich benötigten Verbindungen dokumentiert.
- Eine Default-Deny-Regel sperrt nicht ausdrücklich erlaubten Verkehr.
- Ingress- und Egress-Regeln erlauben nur die dokumentierten Pfade und Ports.
- DNS-Zugriff bleibt für die Workloads möglich.
Die Policies werden zuerst in Integration eingeführt. Produktionsregeln werden erst aktiviert, wenn Start, Login, API, Datenbank, Flyway und Mailversand mit den Einschränkungen funktionieren.