Kubernetes RBAC access control visualisatie

Kubernetes RBAC: least privilege in de praktijk

Het eerste cluster dat ik echt in productie draaide had precies één permissiemodel: alles was cluster-admin. Mijn CI pipeline, mijn monitoring stack, het kleine webhook-ontvangertje dat ik op een middag in elkaar zette. Allemaal konden ze elk secret lezen, elke deployment verwijderen en elke namespace aanraken. Het werkte prima, tot ik begon na te denken over wat er gebeurt als één van die pods wordt overgenomen. Kubernetes RBAC (Role-Based Access Control) beantwoordt één vraag: wie mag wat doen met welke resources? Het standaardantwoord op de meeste clusters is “iedereen kan alles doen,” en dat antwoord wordt stilletjes je grootste aansprakelijkheid. ...

19 augustus 2025 · 12 min leestijd · Tom Meurs
Falco runtime security monitoring visualisatie

Runtime security met Falco: detecteer verdacht gedrag in je cluster

Ik scande mijn images met Trivy. Ik dwong policies af met Kyverno. Mijn workloads kregen cryptografische identiteit via SPIFFE. Drie lagen preventie, allemaal groen, en een tijd lang voelde dat als genoeg. Toen begon ik de ongemakkelijke vraag te stellen. Wat gebeurt er nadat een pod draait? Mijn scanners controleerden de image die erin ging. Mijn admission controller controleerde de spec bij deployment. Geen van beide kijkt nog mee zodra het proces daadwerkelijk draait. Als een container om 3 uur ’s nachts wordt gepakt door een zero-day, hebben al die controls hun werk al gedaan en zijn ze naar huis. ...

7 augustus 2025 · 13 min leestijd · Tom Meurs
SPIFFE workload identity visualisatie

SPIFFE en SPIRE: zero trust service identity

Hoe weet Service A dat Service B echt Service B is? Ik blijf bij die vraag terugkomen, want het gangbare antwoord is ongemakkelijk. Jarenlang vertrouwden we op netwerklocatie. Traffic van het juiste IP was legitiem, klaar. Zero trust nam die aanname mee naar buiten en schoot hem dood. Nu moet elke service bewijzen wie hij is, bij elk request, ongeacht waar hij op het netwerk zit. Dat klinkt prima op een slide. Het lastige is het bewijs. Hoe laat een pod werkelijk zijn identiteit zien aan een andere pod, zonder dat ik overal met de hand secrets uitdeel en daarna eindeloos hun rotatie zit te bewaken? ...

26 juli 2025 · 11 min leestijd · Tom Meurs
Kyverno policy governance visualisatie

Kyverno policies: governance as code voor Kubernetes

Ik had ooit een wiki-pagina met de titel “Cluster conventies”. Resource limits op alles. Geen :latest tags. Geen deploys in de default namespace. Het was een prima pagina. Niemand las hem. Na een half jaar overtrad de helft van het cluster die regels, en ik kwam er pas achter toen er iets omviel. Een regel die in een doc leeft is een suggestie. Een regel die de API server weigert te accepteren is governance. Dat gat is precies waarom deze post bestaat. ...

14 juli 2025 · 12 min leestijd · Tom Meurs
Vault secrets management visualisatie

Vault voor beginners: secrets management in Kubernetes

De eerste keer dat ik kubectl get secret myapp -o yaml draaide en de waarde base64-decodeerde, zakte mijn maag. Daar stond mijn database-wachtwoord, gewoon in etcd, leesbaar voor iedereen die met de juiste RBAC bij de API kon. Kubernetes Secrets zijn geen secrets. Het is base64-gecodeerde platte tekst met een mooie naam. Dat is de default, en het is precies het ding waar niemand je op dag één voor waarschuwt. ...

2 juli 2025 · 14 min leestijd · Tom Meurs