Identity adalah garis pertahanan pertama zero trust (episode 7) dan basis dari semua kontrol akses. Episode ini merancang arsitektur IAM enterprise: hierarki account & policy, federasi SSO, service identity untuk workload, dan prinsip least privilege yang bisa dijalankan

Di episode 7 kita menegaskan zero trust sebagai model keamanan. Landasan semua itu adalah identity: siapa (manusia atau mesin) yang boleh mengakses apa. Identity architecture yang buruk adalah akar dari sebagian besar pelanggaran — credential yang bocor, akses yang terlalu luas, dan akun yang tidak pernah dihapus.
Episode ini merancang arsitektur IAM enterprise dari tiga sudut: hierarki account & policy, federasi untuk manusia, dan service identity untuk workload. Ketiganya adalah pekerjaan arsitek — bukan sekadar konfigurasi console.
Satu account untuk semua adalah resep bencana: blast radius terlalu besar, dan sulit membedakan environment (episode 6). Struktur enterprise memakai multi-account — tiap unit punya akun sendiri dengan batas yang jelas:
Organization
├─ Management account (org root, billing)
├─ Security account (audit log, kebijakan)
├─ Prod accounts (prod-workload, prod-db)
├─ Staging account
└─ Dev accounts (per tim)Di AWS ini diimplementasikan via AWS Organizations + Service Control Policies (SCP); di GCP via folder + organization policy; di Azure via management group + policy. Konsepnya sama: hierarki tempat policy ditegakkan dari atas ke bawah.
Policy diterapkan berlapis — dan irisan dari semua lapisan menentukan akses efektif:
| Lapisan | Contoh |
|---|---|
| Organization-level | SCP/folder policy: larang service tertentu, paksa region |
| Account/Project-level | IAM policy di akun: izinkan role umum |
| Resource-level | Policy di resource: siapa boleh baca bucket ini |
| Identity-level | Policy di user/role: izin individu |
Prinsip kuncinya: jangan pernah meletakkan izin khusus di lapisan atas. Lapisan atas untuk batasan (deny), lapisan bawah untuk izin spesifik (allow). Ini mencegah tim terlalu banyak menumpuk policy.
Membuat user cloud satu per satu adalah mimpi buruk operasional: akun yang ditinggalkan, password berceceran, dan tidak ada kontrol pusat. Federasi menghubungkan cloud dengan Identity Provider (IdP) yang sudah ada (Okta, Azure AD/Entra, Google Workspace) lewat SSO (SAML/OIDC).
User login sekali ke IdP → cloud mempercayai IdP → user mendapatkan role sementara sesuai tugas. Tidak ada password cloud yang dikelola manual.
Arsitektur yang benar: manusia tidak punya izin permanen di cloud. Mereka diasosiasikan ke IdP, dan saat perlu akses, mereka assume role dengan izin terbatas dan masa berlaku pendek.
aws sts assume-role \
--role-arn "arn:aws:iam::123456789012:role/AdminBreakGlass" \
--role-session-name "incident-response"Perhatikan session: role ini dipakai sementara, bisa di-revoke, dan tercatat di audit. Ini menggantikan "admin selalu login sebagai root" — pola yang harus dihindari.
Aplikasi yang berjalan di cloud juga butuh identitas — dan tidak boleh memakai credential manusia. Service identity memberi workload identitas terkelola dengan izin terbatas:
# Trust policy: GitHub action boleh assume role ini
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRoleWithWebIdentity",
"Principal": { "Federated": "accounts.google.com" },
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:sub": "repo:company/payments:ref:refs/heads/main"
}
}
}
]
}Pola ini membuat pipeline CI tidak menyimpan secret statis — kredensial di-issue per-job, dengan batas repo & branch. Ini contoh nyata menerapkan zero trust (episode 7) dan short-lived credentials.
Warning
Temuan audit paling umum: service memakai kredensial admin yang disalin ke environment variable atau — lebih buruk — ke repository. Arsitektur yang benar tidak pernah memberi workload izin lebih dari yang diperlukan, dan tidak pernah menyimpan kredensial statis yang bisa bocor.
Banyak organisasi mengklaim least privilege tapi praktiknya memberi admin*. Kuncinya adalah make it operational:
| Peran | Izin yang Masuk Akal |
|---|---|
| Developer | Baca log, deploy ke staging, kode |
| DevOps engineer | Deploy ke prod, kelola pipeline (via CI) |
| Security team | Audit log, policy, incident response |
| Arsitek | Review konfigurasi, akses baca untuk audit |
Setiap peran diberi izin minimal untuk kerjanya — bukan "akses semua account karena kebetulan punya kredensial".
Kerangka desain:
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya kita akan membahas network security & encryption — TLS/mTLS, KMS, secrets management, dan segmentasi jaringan. Sampai jumpa di episode 19!