Kyverno: Policy as Code für automatisierte Compliance-Prüfung
TL;DR Kyverno ist eine Kubernetes-native Policy Engine, mit der Sie Sicherheits- und …
Diese Serie erklärt systematisch, wie moderne Software compliant entwickelt und betrieben wird – von EU-Regulierungen bis zur technischen Umsetzung.
Moderne Softwarelandschaften sind hochgradig verteilt. In einem typischen Cluster laufen Hunderte bis Tausende von Pods, verwaltet über Dutzende von Namespaces und Teams. In dieser Komplexität ist es nicht mehr realistisch, jede Konfiguration manuell zu prüfen.
Guardrails adressieren genau dieses Problem. Sie sind vordefinierte, automatisiert durchgesetzte Regeln, die sicherstellen, dass Deployments bestimmte Mindeststandards einhalten – fachlich, betrieblich und regulatorisch. Technisch sind das in unserem Kontext Kyverno Policies, die auf Admission-Ebene jedes eingehende Objekt prüfen.
Wichtig ist die Perspektive: Guardrails sind keine Bremse, sondern ein Geländer. Entwickelnde können sich innerhalb eines definierten Rahmens frei bewegen, ohne bei jeder Änderung Security- oder Compliance-Details neu erfinden zu müssen. Die Plattform stellt sicher, dass kein Deployment diese Leitplanken verlässt.
Mit Blick auf Art. 32 GDPR („Sicherheit der Verarbeitung“), NIS-2 (verbindlich in den EU-Mitgliedstaaten ab 17.10.2024) und BSI IT-Grundschutz sind solche automatisierten Kontrollen heute nicht nur sinnvoll, sondern de facto Voraussetzung für einen belastbaren Compliance-Nachweis.
Kyverno integriert sich als Admission Webhook direkt in das Kubernetes-API. Jedes Deployment, jeder Pod, jeder Namespace wird gegen definierte Policies geprüft, bevor er in den etcd-Store gelangt. Das erlaubt zwei zentrale Betriebsmodi:
Für Guardrails sprechen wir bewusst vom Enforce-Modus als Standard. Er ist das technische Äquivalent zu „Pflichtkontrollen“ im internen Kontrollsystem: ohne Erfüllung kein Go-Live.
Kyverno unterstützt drei grundlegende Policy-Typen, die für Guardrails relevant sind:
Damit lassen sich Guardrails so gestalten, dass sie möglichst viel automatisieren und nur dort hart blocken, wo echtes Risiko besteht.
Security-Guardrails setzen technische Mindeststandards durch, die in vielen Organisationen zwar auf PowerPoint existieren, im Alltag aber selten konsequent gelebt werden. Mit Kyverno können Sie diese Standards in ausführbare Policies gießen.
Ein Kernprinzip moderner Container-Security: Anwendungen laufen nicht als Root und ohne unnötig erweiterte Rechte. Viele Basis-Images liefern jedoch weiterhin Root als Standard mit.
Ein Guardrail „keine privilegierten Container“ erzwingt u. a.:
runAsNonRoot bzw. ein nicht-root runAsUser sind Pflicht (konzeptionell).Verstöße werden beim Deployment abgewiesen. Die Fehlermeldung verweist klar auf die Policy und den betroffenen Container, so dass das verantwortliche Team gezielt nachsteuern kann.
Aus Compliance-Perspektive unterstützt dies unmittelbar die in Art. 32 GDPR geforderte Begrenzung von Zugriffsrechten und die BSI IT-Grundschutz-Bausteine für sichere System- und Anwendungsbetreibung.
Ein weiteres typisches Guardrail: Nur Images aus freigegebenen Registries sind erlaubt, optional mit Signaturprüfung.
Das reduziert das Risiko, dass:
Kyverno-Policies können hier durchsetzen, dass alle Images:
Gerade im Kontext von NIS-2, das explizit Maßnahmen zur Sicherung der Lieferkette verlangt, sind solche Guardrails ein sehr wirksamer Baustein.
Ohne Network Policies kann jeder Pod mit jedem anderen Pod kommunizieren. Für die Security-Architektur eines Clusters ist das faktisch „Flat Network“ – also das Gegenteil von Segmentierung.
Ein Guardrail „Namespace muss mindestens eine NetworkPolicy haben“ zwingt dazu, Netzwerk-Segmentierung konzeptionell mitzudenken. In Kombination mit einer CNI wie Cilium, die NetworkPolicies effizient durchsetzt, entsteht so ein Zero-Trust-nahes Design innerhalb des Clusters.
Das reduziert die Möglichkeiten lateraler Bewegung nach einer Kompromittierung – ein zentrales Ziel sowohl der BSI IT-Grundschutz-Empfehlungen als auch der Anforderungen aus NIS-2.
Security Contexts sind oft unterschätzt: Sie definieren effektive Benutzer-IDs, Gruppen, Dateisystemberechtigungen und weitere Sicherheitsattribute eines Pods.
Guardrails können hier u. a. erzwingen, dass:
fsGroup und umask gesetzt sind,Damit wird Security by Default zur gelebten Praxis: Wer von der sicheren Voreinstellung abweichen möchte, muss dies bewusst begründen und durch den Governance-Prozess bringen.
Security allein reicht nicht. Ausfälle durch Ressourcenkonflikte oder unkoordinierte Wartungsfenster sind ebenso kritisch – nicht zuletzt, weil Art. 32 GDPR ausdrücklich auch die Verfügbarkeit als Schutzziel nennt.
Viele Ausfälle im Cluster sind letztlich Kapazitätsprobleme:
Ein Guardrail „jedem Container müssen CPU- und Memory-Requests (und idealerweise Limits) zugewiesen sein“ macht solche Situationen deutlich seltener. Ohne diese Angaben wird ein Deployment abgelehnt – wieder mit einer konkreten Fehlermeldung, die auf den fehlenden Ressourcenblock hinweist.
Für ISO- und BSI-Audits ist dies ein sehr greifbarer Nachweis gelebter Kapazitätsplanung, wie sie auch im Rahmen von Compliance-Audits eingefordert wird.
Ein weiterer Reliability-Guardrail-Typ betrifft die Hochverfügbarkeit:
Kyverno kann hier anhand von Labels oder Namespaces unterscheiden und unterschiedliche Mindestanforderungen pro Umgebung erzwingen (z. B. strenger in Produktion als in Staging).
Planbare Wartung – ob Node-Updates, Kernel-Patches oder Rolling Upgrades – setzt voraus, dass Pods nicht beliebig gleichzeitig terminiert werden. PodDisruptionBudgets (PDBs) definieren genau das.
Ein Guardrail kann verlangen, dass für alle Deployments eines bestimmten Typs ein passendes PDB existiert, bevor sie in produktive Namespaces ausgerollt werden. Damit werden unbeabsichtigte Downtimes bei Wartungsarbeiten deutlich unwahrscheinlicher.
Neben Security und Reliability gibt es eine dritte Kategorie: Regeln, die vor allem die Betriebskomplexität im Griff halten.
In vielen Umgebungen sollen nur Plattform- oder Ingress-Controller-Teams direkte Exponierung nach außen konfigurieren. Wenn jedes Produktteam eigenständig Service-Objekte vom Typ LoadBalancer anlegen kann, entsteht schnell ein unüberschaubares Bild.
Ein Kyverno-Guardrail kann:
So bleibt die Verantwortung für externe Angriffsflächen klar beim Plattform-Team – ein wichtiger Punkt für Risiko- und Verantwortlichkeitsmodelle im Sinne von NIS-2.
Local Storage bindet Workloads an einzelne Nodes und erschwert Wiederanlauf und Skalierung. Im Fehlerfall eines Nodes sind die Daten oft verloren oder nur mit großem Aufwand wiederherstellbar.
Guardrails können hier:
Das passt gut zu BSI-Empfehlungen zur Ausfallsicherheit und unterstützt Verfügbarkeitsanforderungen aus Art. 32 GDPR.
Ungleichmäßig verteilte Pods sind ein häufig unterschätztes Risiko: Wenn alle Replikas eines Services auf demselben Node oder in derselben Availability Zone landen, ist deren Ausfall direkt geschäftskritisch.
Ein Guardrail kann vorschreiben, dass Deployments für bestimmte Workloads eine Topology-Spread-Konfiguration verwenden – also Replikas bewusst über Nodes oder Zonen streuen.
Damit werden Infrastrukturfehler zu Performance-Degradierungen statt zu harten Ausfällen – ein wichtiger Unterschied, gerade für regulatorisch relevante Systeme.
Stellen wir uns ein typisches Szenario vor:
Ein Entwicklerteam möchte eine neue Version eines Backends deployen. Die Manifeste enthalten:
Ohne Guardrails würde dieses Deployment im Cluster landen – bis die nächste Schwachstelle oder Lastspitze zeigt, dass hier grundlegende Standards missachtet wurden.
Mit Kyverno-basierten Guardrails passiert stattdessen folgendes:
Die Entwickler erhalten dieses Feedback unmittelbar – idealerweise integriert in ihre CI/CD-Pipeline. Sie müssen kein Security-Ticket abwarten, sondern können ihre Manifeste direkt anpassen. Guardrails wirken so wie ein automatisierter Review-Partner, der zuverlässig, konsistent und 24/7 verfügbar ist.
Automatisierte Guardrails sind nicht nur technisch attraktiv, sondern auch ein starkes Argument in Audits und Prüfsituationen.
Die GDPR gilt seit dem 25.05.2018 und fordert in Art. 32 „geeignete technische und organisatorische Maßnahmen“, um Vertraulichkeit, Integrität und Verfügbarkeit von personenbezogenen Daten zu gewährleisten.
Guardrails zahlen hier u. a. auf folgende Punkte ein:
NIS-2 adressiert Betreiber kritischer und wichtiger Dienste und verpflichtet sie ab dem 17.10.2024 zu systematischen Cybersecurity-Maßnahmen, inklusive Risikomanagement, Incident-Handling und Sicherung der Lieferkette.
Guardrails helfen insbesondere bei:
Die BSI IT-Grundschutz-Bausteine (aktuelle Kompendien seit 2023) fordern u. a. strukturierte Maßnahmen für Systemhärtung, Netztrennung, Betriebsprozesse und Notfallvorsorge.
Kyverno-Guardrails lassen sich sehr gut als konkrete technische Umsetzung solcher Maßnahmen dokumentieren:
Im Rahmen einer übergreifenden Compliance-Strategie werden Guardrails damit zum verbindenden Element zwischen Policy-Dokument und gelebter Praxis im Cluster.
In der Praxis erleben wir das Gegenteil – vorausgesetzt, Guardrails sind gut gestaltet:
Wichtig ist, Guardrails gemeinsam mit den Teams zu entwickeln und schrittweise einzuführen – zunächst im Audit-Modus, dann im Enforce-Modus. So entsteht Akzeptanz statt Widerstand.
Ein pragmatischer Ansatz besteht aus drei Schritten:
So entsteht ein kontrollierter, transparenter Rollout, der bestehende Workloads nicht unerwartet blockiert.
Guardrails sind gut auditierbar, weil sie:
In vielen Audits ist es ein starkes Signal, wenn Sie nicht nur Richtliniendokumente, sondern auch laufende, automatisierte Kontrollen im Cluster zeigen können – inklusive Messzahlen, wie viele Verstöße auftreten und wie sie behandelt wurden.
Weitere Fragen? Siehe unsere FAQ
Guardrails entfalten ihren Wert erst dann vollständig, wenn sie konsistent umgesetzt, weiterentwickelt und in Ihre Organisation eingebettet werden. Genau hier setzt ayedo an.
Unsere Plattform-orientierte Sicht auf Kubernetes versteht Guardrails als integralen Bestandteil der Infrastruktur – nicht als nachträglich angeflanschte Security-Schicht. Konkret bedeutet das:
So werden Guardrails von einer abstrakten Idee zu einem verlässlichen Bestandteil Ihrer täglichen Delivery-Pipeline. Wenn Sie den nächsten Schritt gehen und Kyverno-basierte Guardrails strukturiert in Ihrer Organisation etablieren möchten, sprechen Sie uns an: Guardrails Policies
TL;DR Kyverno ist eine Kubernetes-native Policy Engine, mit der Sie Sicherheits- und …
Kubernetes hat sich zum De-facto-Standard für den Betrieb cloud-nativer Anwendungen entwickelt. …
TL;DR Ingress NGINX wird im März 2026 eingestellt, nachdem nur noch eingeschränkte Wartung angeboten …