Rozmowa · rysuj na kartce, potem sprawdź
Whiteboard: multi-account PCI + EKS
To jest schemat, który masz umieć narysować z pamięci. Nie jest to wewnętrzna architektura Pliant — tego nie publikują. Jest to wzorzec zgodny z JD, z AWS PCI scoping i z raportem.
Kolejność rysowania (żeby nie zatonąć)
- Konta jako pudełka.
- VPC i strzałki „co wolno”.
- Tożsamość (ludzie, CI, Roles Anywhere).
- Gdzie żyje EKS vs ECS vs Lambda.
- Co nie wychodzi — lista z boku.
1. Konta
Organizations + SCP
┌─────────────┐ ┌─────────────┐ ┌──────────────┐
│ Management │ │ Identity │ │ Log archive │
│ billing,SCP │ │ IAM IC/SSO │ │ trails,WORM │
└─────────────┘ └─────────────┘ └──────────────┘
┌─────────────┐ ┌─────────────┐
│ Shared/net │ │ CI identity │
│ TGW, DNS │ │ OIDC roles │
└─────────────┘ └─────────────┘
┌──────┐ ┌─────────┐ ┌──────────┐ ┌─────────────┐
│ Dev │ │ Staging │ │ Prod-app │ │ PCI / CDE │
│ │ │ │ │ EKS app │ │ ECS/EKS │
└──────┘ └─────────┘ └──────────┘ │ issuer │
└─────────────┘
2. Sieć między prod-app a CDE
Internet
│
▼
[ WAF + ALB ] ← tylko prod-app, public subnet
│
[ EKS app pods ] ← private, IRSA
│
[ PrivateLink ] ← NLB w PCI, jeden port, SG allow z app SG
│
[ Issuer / tokenize ]← PCI VPC, isolated
│
[ RDS PostgreSQL ] ← isolated, KMS, IAM auth, no NAT
│
X brak trasy do Dev
X brak 0.0.0.0/0 z data
→ CloudTrail/Flow ➜ log-archive (nie na Slack)
3. Runtime
| Gdzie | Co |
|---|---|
| Prod-app EKS | Java/Kotlin serwisy, Datadog agent, ALB controller. Karpenter OK. |
| PCI | Domyślnie osobny cluster albo jeszcze ECS. Managed node group, frozen AMI. Lambdy Go/Python na rotację i dispatch. |
| Shared | Spacelift private workers (prod + PCI w odpowiednich VPC), GitHub runners self-hosted jeśli OIDC do PCI. |
4. Zdania, które mówisz podczas rysowania
- „Konto to najgrubsza ściana. Namespace nie jest ścianą.”
- „Staging nie dostaje PAN. Dostaje token.”
- „Apply Terraform do PCI idzie z private workera, nie z githubhosted.”
- „Break-glass: SSM, 1 godzina, dwa osoby, alert.”
- „US region później to nowa kopia cell, nie peering do EU CDE.”
5. Ataki na Twój rysunek — i odpowiedzi
| Panel mówi | Ty |
|---|---|
| „Peering jest prostszy niż PrivateLink” | „Prostszy i wciąga całe CIDR do connected-to. PrivateLink to jeden port.” |
| „Jeden EKS, namespace pci” | „QSA + pentest segmentacji. Domyślnie osobny cluster. Namespace zostawiam na non-PCI multi-team.” |
| „Datadog w CDE” | „Agent tak, payload nie. Osobny indeks, scrubber, outbound tylko do DD over TLS przez endpoint/proxy.” |
| „Jak product debuguje prod?” | „Logi zmaskowane, replay na stagingu z tokenami, nie kubectl exec do CDE.” |
Ćwiczenie
Zegarek 8 minut. Kartka A4. Bez podglądania. Potem porównaj. Nagraj tłumaczenie.