IAM Users dan Groups
IAM User adalah identitas persisten di AWS yang merepresentasikan entitas spesifik baik individu manusia (seperti administrator atau developer) maupun layanan/aplikasi eksternal (seperti server on-premise) yang membutuhkan interaksi konstan dengan AWS.- Kredensial Jangka Panjang: IAM Users menggunakan kata sandi (Password) untuk akses konsol UI, dan pasangan Access Key/Secret Key untuk akses terprogram (API/CLI). Kredensial ini bersifat statis hingga diputar (dirotasi) secara manual.
- IAM Groups: Praktik terbaik keamanan mendikte bahwa Anda tidak boleh mengaitkan policy langsung ke satu User. Alih-alih, kelompokkan User ke dalam IAM Groups berdasarkan fungsi pekerjaan (misal:
DatabaseAdmins,FrontendDevs) dan terapkan policy pada grup tersebut.
IAM Roles
IAM Role adalah mekanisme identitas sementara yang mengizinkan entitas yang dipercaya untuk “memerankan” (assume) hak akses tertentu.- Kredensial Dinamis Sementara (STS): Tidak seperti IAM User, Role sama sekali tidak memiliki kredensial permanen. AWS Security Token Service (STS) memberikan token kredensial sementara kepada entitas yang memerankan Role.
- Skenario Penggunaan Utama:
- Layanan AWS (Service Role): Memberikan izin kepada instans Amazon EC2 atau AWS Lambda untuk mengakses layanan lain (seperti menulis data ke S3) tanpa perlu menyimpan Access Key secara hard-coded.
- Akses Lintas Akun (Cross-Account): Mendelegasikan akses antara dua akun AWS yang berbeda.
- Federasi Identitas: Memberikan akses ke pengguna yang diautentikasi secara eksternal (misal melalui Active Directory lokal, Google Workspace, atau penyedia SAML 2.0).
- CLI: Membuat IAM User
- CLI: Membuat IAM Role
Membuat pengguna baru dan melampirkan kebijakan (policy) menggunakan AWS CLI:
IAM Policies (Permissions)
IAM Policy adalah dokumen berbasis JSON yang berfungsi sebagai aturan yang mendefinisikan izin (permissions) eksplisit. Kebijakan akan dievaluasi oleh policy evaluation logic setiap kali identitas memanggil AWS API. Setiap pernyataan (Statement) dalam kebijakan JSON IAM terdiri dari elemen-elemen berikut:- Effect: Menentukan apakah kebijakan ini menyetujui (
Allow) atau menolak (Deny) akses. Evaluasi IAM secara default akan menolak (Deny) akses (kecuali eksplisitAllow). Otorisasi eksplisitDenyakan mengesampingkan otorisasiAllowmanapun. - Action: Menentukan daftar operasi API spesifik layanan yang sedang diatur (misal:
s3:GetObject,ec2:StartInstances). Karakter wildcard (*) dapat digunakan. - Resource: Mendefinisikan target spesifik sumber daya (Amazon Resource Name/ARN) yang terpengaruh oleh Action (misal:
arn:aws:s3:::my-bucket/*).