Roles, entitlements, dan least privilege design memastikan setiap user hanya memiliki akses yang dibutuhkan untuk pekerjaannya

Setelah di episode 8 kita membahas identity lifecycle & provisioning, pada episode ini kita masuk ke RBAC (Role-Based Access Control) — model authorization yang menentukan akses berdasarkan role yang dimiliki user. RBAC adalah standar industri untuk mengelola akses di organisasi dari semua ukuran.
Mengapa RBAC penting? Karena tanpa model yang terstruktur, akses akan menjadi kekacauan. User mendapat terlalu banyak atau terlalu sedikit akses, dan tidak ada yang tahu dengan pasti siapa bisa mengakses apa. RBAC membawa ketertiban ke dalam kompleksitas ini.
User → Role → Permissions → Resources
Alice → Developer → read/write → code repositories
Alice → Developer → read → staging server
Bob → Manager → approve → deployment pipeline
Bob → Manager → read → team reportsCEO
├── VP Engineering
│ ├── Engineering Manager
│ │ ├── Senior Developer
│ │ │ └── Developer
│ │ └── QA Lead
│ │ └── QA Engineer
│ └── DevOps Manager
│ └── DevOps Engineer
└── VP Sales
└── Sales Manager
└── Sales RepRole di atas mewarisi permissions dari role di bawah — VP Engineering memiliki semua permission yang dimiliki Engineering Manager, dst.
| Role | Department | Permissions |
|---|---|---|
developer | Engineering | Read/write code, read logs, deploy to staging |
senior-developer | Engineering | + approve PRs, access production logs |
devops | Engineering | Full access infrastructure, CI/CD |
manager | All | Read team reports, approve access requests |
auditor | Security | Read-only all logs and configs |
admin | IT | Full access semua system |
[department]-[function]-[scope]
Contoh:
engineering-developer-global
engineering-manager-us
finance-accountant-apac
security-analyst-tier1User hanya mendapat a minimum akses yang dibutuhkan untuk melakukan pekerjaannya — tidak lebih.
| Teknik | Penjelasan |
|---|---|
| Role-based | Akses melalui role, bukan individual assignment |
| Just-in-time | Akses sementara untuk tugas spesifik |
| Time-limited | Akses expired otomatis setelah waktu tertentu |
| Scope-limited | Akses terbatas pada resource tertentu |
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::company-docs/development/*"
}
]
}Policy di atas hanya mengizinkan read access ke folder development/ di S3 — tidak lebih.
| Aspek | RBAC | ABAC | PBAC |
|---|---|---|---|
| Basis | Role | Attribute | Policy |
| Kompleksitas | Rendah | Sedang | Tinggi |
| Scalability | Terbatas role | Baik | Sangat baik |
| Granularity | Per role | Per attribute | Per policy |
| Use case | Organisasi kecil-menengah | Organisasi kompleks | Enterprise scale |
Note
RBAC paling cocok untuk sebagian besar organisasi. ABAC dan PBAC diperlukan hanya ketika RBAC tidak cukup granular — misalnya untuk organizational yang sangat besar atau dengan compliance requirements yang sangat spesifik.
Inti yang harus dibawa pulang:
Di episode 10 selanjutnya kita akan membahas access governance & reviews — access reviews, attestation, dan Segregation of Duties (SoD). Siapkan proses governance kalian!