V monolitu je bezpečnost na perimetru — firewall, WAF, HTTPS. Uvnitř je vše důvěryhodné. V mikroslužbách je perimetr všude. Každá služba je potenciální útočný vektor. Zero trust: nikomu nevěř, vše ověřuj.
Transport security: mTLS¶
Mutual TLS — obě strany komunikace se autentizují certifikátem. Služba A ověří službu B a naopak. Šifrovaná komunikace + autentizace v jednom. Náročné na správu certifikátů — service mesh to automatizuje.
API Gateway jako security boundary¶
API Gateway (Zuul, Kong, Nginx) je jediný vstupní bod. Autentizace (OAuth token validace), rate limiting, IP whitelisting, request validation — vše na jednom místě. Interní služby za gateway nemusí validovat tokeny (ale měly by).
Service-to-service autentizace¶
Možnosti: JWT tokeny propagované z gateway, service accounts s client credentials, mTLS certifikáty. Volíme JWT propagaci — gateway ověří user token, přidá service claims a forwarduje interním službám.
Secrets management¶
Hesla, API klíče, certifikáty — ne v kódu, ne v environment proměnných (viditelné v docker inspect). HashiCorp Vault pro centrální správu secrets. Dynamické credentials s automatickou rotací.
Network policies¶
Definujte, které služby mohou komunikovat. User service → Order service: ano. User service → Payment service: ne (jen přes Order). Micro-segmentace sítě.
Security je architekturní rozhodnutí¶
Bezpečnost mikroslužeb není post-hoc — musí být součástí návrhu od začátku. mTLS, JWT propagace, secrets management, network policies. Defense in depth.