Mengakhiri kepercayaan berbasis lokasi jaringan: identity-aware access, mTLS secara default lewat service mesh dan SPIFFE, workload identity, serta least privilege yang diterapkan pada manusia dan service

Model keamanan lama adalah castle-and-moat: tembok luar (firewall perimeter) dijaga sekuat mungkin, dan siapa pun yang sudah masuk dianggap tepercaya. Di episode 17 kita menyadari bahwa model itu runtuh ketika perimeter sudah bocor — dan di dunia nyata, perimeter selalu bocor. Episode ini membangun zero trust platform: tidak ada yang dipercaya karena lokasinya; setiap request dibuktikan identitasnya, dienkripsi, dan diberi hak paling minimum.
Mengapa ini penting? Serangan modern tidak datang dari luar firewall lagi — mereka datang dari kredensial yang bocor, supply chain, atau insider. Zero trust mengubah pertanyaannya dari "apakah kamu di jaringan kita?" menjadi "apakah identitasmu valid dan apakah kamu boleh melakukan ini?". Platform engineering adalah tempat yang tepat untuk menerapkannya karena ia mengendalikan semua layer sekaligus.
Model BeyondCorp (Google) adalah referensi klasik: akses ke aplikasi internal tidak lagi bergantung pada VPN, melainkan pada identity + context — siapa, dari device apa, pada jam berapa, dengan kualitas sinyal apa.
Implementasi praktis di platform:
| Lapisan | Teknologi contoh | Fungsi |
|---|---|---|
| Autentikasi terpusat | OIDC/SAML via identity provider (SSO) | Satu sumber identitas |
| Proxy sadar-identitas | oauth2-proxy, Google IAP, Cloudflare Access | Aplikasi internal tak lagi "terbuka jaringan" |
| Device context | Device trust / posture check | Device mencurigakan di-blok |
Hasilnya: aplikasi internal tidak perlu lagi "berada di belakang VPN" untuk aman. Akses bisa di-revoke instan saat developer keluar dari perusahaan — satu klik, bukan hapus dari 15 sistem.
Untuk komunikasi service-to-service, zero trust butuh mutual TLS (mTLS) — dua arah: server membuktikan diri ke client, client membuktikan diri ke server. Di episode 8 kita memasang service mesh; kini meshlah yang menerapkan zero trust:
spiffe://example.com/ns/team-payments/sa/payments-api) yang tidak bisa dipalsukan.# Contoh otorisasi layer L7 (Istio/Service Mesh)
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: payments-api-allow-internal
namespace: team-payments
spec:
selector:
matchLabels:
app: payments-api
action: ALLOW
rules:
- from:
- source:
principals: ["cluster.local/ns/team-gateway/sa/api-gw"]
to:
- operation:
methods: ["GET"]Policy ini berkata: hanya service dari gateway yang boleh GET ke payments-api, dengan identitas terverifikasi. Lokasi jaringan tidak lagi relevan.
Service yang berjalan di cluster perlu akses ke cloud (misal S3, KMS). Zero trust berarti jangan pernah pakai access key bersama. Gunakan workload identity — Kubernetes ServiceAccount dipetakan ke IAM cloud tanpa secret statis:
gcloud iam service-accounts add-iam-policy-binding \
payments-sa@example.iam.gserviceaccount.com \
--role roles/iam.workloadIdentityUser \
--member "serviceAccount:example.svc.id.goog[team-payments/payments-api]"Kredensial dirotasi otomatis oleh platform — tidak ada lagi .env berisi access key yang bocor ke git.
| Layer | Praktik minimum |
|---|---|
| Manusia | RBAC berbasis group (episode 4), access review berkala (episode 16) |
| Service | ServiceAccount per workload, bukan "cluster-admin untuk semua" |
| Secrets | Path Vault per service, policy terbatas (episode 10) |
| Data | Akses DB via proxy dengan identitas service, bukan root shared |
| Network | NetworkPolicy default-deny (detail ep. 20) |
Warning
Zero trust adalah perjalanan bertahap, bukan switch on/off. Jangan coba mengaktifkan mTLS strict dan menutup VPN untuk semua orang dalam satu hari — mulai dari satu namespace, ukur dampaknya, lalu perluas. Zero trust yang memutus akses developer akan dibatalkan oleh atasan mereka, dan kepercayaan akan hilang lebih cepat daripada kebenarannya.
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya kita mengamankan rantai yang membawa kode ke produksi: supply chain security — SBOM, image signing, SLSA, dan vulnerability scanning yang memastikan image yang jalan benar-benar image yang kalian bangun!