Infrastruktura jako kód pro Legal Tech: Terraform, OpenTofu a automatizace řízená politikami
Proč je IaC kritický pro právní compliance a auditovatelnost
Pro právnické podniky vyžaduje "compliant by default" kontroly, které jsou deterministické, opakovatelné a prokazatelné. Infrastructure as Code (IaC) toto operacionalizuje:
- Auditovatelnost: Každá materiální změna infrastruktury je peer-reviewed, verzována a propojena s plan diff a change ticketem - Opakovatelnost a nejmenší oprávnění: Buildy prostředí jsou reprodukovatelné napříč regiony s konzistentními zábranamis - Detekce a náprava driftu: Odchylka od "deklarovaného stavu" je detekována průběžně a napravována - Řetězec vazby pro důkazy: Plány, aplikace a atestace jsou uchovávány neměnně
Terraform vs OpenTofu pro podniky
Licencování a governance:
- Terraform: Core je Business Source License (BSL) od srpna 2023 - OpenTofu: Komunitní fork pod MPL 2.0 (permisivní open-source)Kompatibilita:
- State a provider ekosystémy jsou z velké části kompatibilní - Většina codebase může přepnout binárky po testováníPodnikové funkce:
- Terraform Cloud/Enterprise: Remote state, policy checks, drift detection - OpenTofu s ekosystémem: Kombinuje OIDC-based CI, remote state backendy, policy v CIBezpečná správa state a šifrování
State je citlivý: může obsahovat názvy zdrojů, ARN a někdy tajemství. Zacházejte s ním jako s důvěrnými právními daty.
AWS remote state (S3 + KMS + DynamoDB locking)
State musí být šifrován, verzován a uzamčen pro správu souběžnosti.
Bootstrap modul pro vytvoření bezpečného backendu
Vytvoření KMS klíče, S3 bucketu s Object Lock a DynamoDB tabulky pro zámky.
Modulární návrh pro právní prostředí
Návrhové principy
- Izolace zdrojové hierarchie: Oddělené účty per klient nebo per sensitivity tier - Namespacování a tagování: Povinné klíče: client_id, matter_id, data_residency - Strategie KMS klíčů: Klíče per klient, volitelně per matter pro důkazy - Síťová segmentace: Pouze private endpointy; egress provoz omezenýCI/CD pipelines s approval workflow a policy branami
Klíčové praktiky
- Žádné long-lived credentials v CI. Používejte OIDC pro assume cloud rolí - Oddělené plan a apply joby. Plány běží na pull requestech; apply vyžadují explicitní schválení - Zachování evidence artefaktů: planfile, JSON plan, policy outputy uložené neměnněGitHub Actions s OIDC a approval branami
Workflow, které odděluje plánování od aplikace s povinným schválením.
Policy as code s OPA/Conftest
Příklad Rego politik
Politiky k vynucení SSE-KMS pro S3 buckety a povinných tagů.
Testování a verifikace
Statické a sémantické kontroly:
- `tofu validate` nebo `terraform validate` - tflint pro idiomatický HCL - Checkov pro IaC miskonfiguraceIntegrační testy:
- Terratest (Go) pro provisioning efemérních stacků a assert runtime kontrolDetekce driftu:
- Naplánované plány s `-detailed-exitcode` a alerty na exit code 2Případové studie
EU advokátní firma (700 zaměstnanců)
Před IaC: Manuální provisioning, nekonzistentní šifrování a tagy, 6 týdnů přípravy na audit Po adoptování OpenTofu + GitHub Actions + OPA: - 100% KMS/CMEK vynucení přes policy brány - Region drift snížen na téměř nulu - Příprava na audit zkrácena o 75% přes automatizované evidence balíčky - Čas na provisioning: z 5 dnů na 6 hodinMěřitelné výsledky a ROI
- Compliance pokrytí: >95% zdrojů projde baseline policy kontrolami pre-apply - Redukce driftu: <1% zdrojů s nemanaged driftem - Efektivita provisioningu: nová client matter prostředí provisionována za hodiny, ne dny - Připravenost k auditu: čas sestavení důkazů zkrácen o 70–90%
Závěr
Pro právnické podniky je IaC více než efektivita—je to compliance a assurance engine. Kombinace Terraform/OpenTofu s policy-as-code, neměnnými důkazy a approval-centric CI/CD poskytuje obhajitelná, regionálně uzamčená, šifrovaná cloudová prostředí, kterým auditorius a klienti mohou důvěřovat.