Hi!

Pada jurnal ini saya ingin menjelaskan tentang IAM Role di AWS. Pada dasarnya, IAM Role adalah identitas atau ID yang dapat kita buat di IAM yang memiliki permission tertentu. Role mirip dengan user, sebuah identitas di AWS yang memiliki permission dimana permission tersebut berisi apa saja yang boleh dan tidak boleh dilakukan di AWS. Kita bisa membuat Role menggunakan JSON atau policy document.

Perbedaan antara user dengan role adalah user bersifat unik dan digunakan oleh satu anggota saja, sedangkan role dapat digunakan oleh siapapun yang membutuhkan. Role bersifat temporary atau sementara dimana ia tidak memiliki long-term credentials seperti layaknya password atau access key. Kredensial di role bersifat sementara berdasarkan sesi saat kita menggunakan.

Role dapat diasumsikan seperti perorangan, AWS architecture, atau system-level accounts dimana role dapat melakukan cross-account access. Jadi, sebauh user ketika menggunakan role, dapat me-manage resource di user lain.

Mari kita coba labkan.

Skenarionya disini: pertama kita buat sebuah IAM Role yang memiliki akses ke AWS S3. Lalu buat sebuah EC2 instance dan kaitkan role yang telah dibuat sebelumnya ke instance. Buat sebuah bucket baru dan coba akses bucket melalui instance.

Pertama, masuk ke AWS Console.

Di kolom pencarian, ketik IAM dan klik hasil paling atas.

Kita akan diarahkan ke IAM dashboard. Untuk masuk ke pengaturan role, klik menu Roles.

Berikut ini adalah tampilan dashboard dari Role. Secara default, dari AWS sudah dibuatkan 33 role. Kita akan coba buat role baru maka klik Create role.

Disini kita pilih EC2 karena sesuai skenario bahwa layanan EC2 lah yang akan dapat mengakses S3 bucket menggunakan IAM Role. Klik Next.

Jika kita menggunakan role, maka akan dapat mengakses apa? ini masuk ke pengaturan permissions policies. Pilih AmazonS3FullAccess lalu klik Next.

Pada pengaturan tag, bisa disesuaikan lalu klik Next.

Selanjutkan isikan Role name dan klik Create role.

Setelah role berhasil dibuat, akan muncul di roles dashboard. Bisa klik nama role nya untuk melihat detail.

Berikut detailnya

Selanjutnya kita abuat EC2 instance. Untuk panduan lengkapnya bisa merujuk ke jurnal ini. Yang perlu diperhatikan yaitu di step ketiga, pada pilihan IAM role, pilih role yang telah dibuat sebelumnya. Yaitu S3_AdminAccess.

Lalu bisa buat instance dan pastikan berhasil.

Untuk bisa terhubung ke instance secara cepat, bisa pilih instance > action > connect.

Lalu klik connect.

Dan saat masuk ke instance, bisa verifikasi apakah instance dapat mengakses layanan AWS S3 atau tidak. Bisa coba jalankan:

aws s3 ls

Untuk membuat bucket baru:

aws s3 mb s3://<nama_bucket>

Bisa juga coba upload file ke bucket. Disini saya coba upload file bernama hello.txt

echo "Semangat Belajar" > hello.txt
cat hello.txt
aws s3 cp hello.txt s3://<bucket_name>
aws s3 ls s3://<bucket_name>

Pastikan berhasil dan kita bisa verifikasi dari AWS Console juga, apakah bucket yang telah dibuat ada.

Sekian!