Apa Saja Peran Penggunaan AWS IAM dan Contohnya
Ada dua cara untuk menggunakan peran:
- IAM Console : Ketika Pengguna IAM bekerja di IAM Console dan ingin menggunakan peran, maka mereka mengakses izin peran untuk sementara. IAM User melepaskan izin asli mereka dan mengambil izin peran tersebut. Ketika Pengguna IAM keluar dari peran, izin asli mereka akan dipulihkan.
- Programmatic Access : Layanan AWS seperti instance Amazon EC2 dapat menggunakan role dengan meminta kredensial keamanan sementara menggunakan permintaan terprogram ke AWS.
Peran IAM dapat digunakan dengan cara berikut ini:
- IAM User : Peran IAM digunakan untuk memberikan izin kepada IAM User Anda untuk mengakses sumber daya AWS di akun Anda sendiri atau akun lain. Pengguna IAM dapat menggunakan izin yang dilampirkan ke peran menggunakan IAM Console. Peran juga mencegah akses yang tidak disengaja ke sumber daya AWS yang sensitif.
- Applications and Services : Anda dapat memberikan akses izin yang dilampirkan dengan peran ke aplikasi dan layanan dengan memanggil fungsi AssumeRole API. Fungsi AssumeRole mengembalikan kredensial keamanan sementara yang terkait dengan peran. Aplikasi dan layanan hanya dapat melakukan tindakan yang diizinkan oleh peran. Aplikasi tidak dapat keluar dari peran seperti halnya Pengguna IAM Console, melainkan berhenti menggunakan kredensial sementara dan melanjutkan kredensial aslinya.
- Federated Users : Pengguna Federasi dapat masuk menggunakan kredensial sementara yang disediakan oleh penyedia identitas. AWS menyediakan IDP (penyedia identitas) dan kredensial sementara yang terkait dengan peran kepada pengguna. Kredensial tersebut memberikan akses izin kepada pengguna.
Berikut ini adalah kasus-kasus Peran:
- Beralih ke peran sebagai IAM User di satu akun AWS untuk mengakses sumber daya di akun lain yang Anda miliki.
- Anda dapat memberikan izin kepada IAM Users Anda untuk berganti peran di dalam akun AWS Anda atau akun lain. Misalnya, Anda memiliki instance Amazon EC2 yang sangat penting bagi organisasi Anda. Alih-alih memberikan izin secara langsung kepada pengguna untuk menghentikan instance, Anda dapat membuat peran dengan hak istimewa yang memungkinkan administrator beralih ke peran tersebut saat mereka perlu menghentikan instance.
- Anda harus memberikan izin kepada pengguna untuk mengasumsikan peran tersebut secara eksplisit.
- Peran autentikasi multi-faktor dapat ditambahkan ke peran sehingga hanya pengguna yang masuk dengan MFA yang dapat menggunakan peran tersebut.
- Peran mencegah perubahan yang tidak disengaja pada sumber daya sensitif, terutama jika Anda menggabungkannya dengan audit sehingga peran hanya dapat digunakan saat dibutuhkan.
- IAM User dalam satu akun dapat beralih ke peran di akun yang sama atau berbeda. Dengan role, pengguna dapat mengakses sumber daya yang diizinkan oleh role tersebut. Ketika pengguna beralih ke role, maka izin asli mereka akan dihapus. Jika pengguna keluar dari peran, izin asli mereka akan dipulihkan.
Menyediakan akses ke layanan AWS
- Layanan AWS menggunakan peran untuk mengakses sumber daya AWS.
- Setiap layanan berbeda dalam cara menggunakan role dan bagaimana role ditetapkan ke layanan.
- Misalkan layanan AWS seperti instance Amazon EC2 yang menjalankan aplikasi Anda, ingin membuat permintaan ke sumber daya AWS seperti Amazon S3 bucket, layanan harus memiliki kredensial keamanan untuk mengakses sumber daya. Jika Anda menyematkan kredensial keamanan secara langsung ke dalam instance, maka mendistribusikan kredensial ke beberapa instance akan menimbulkan risiko keamanan. Untuk mengatasi masalah tersebut, Anda dapat membuat peran yang ditetapkan ke instans Amazon EC2 yang memberikan izin untuk mengakses sumber daya.
Menyediakan akses ke pengguna yang diautentikasi secara eksternal.
Terkadang pengguna memiliki identitas di luar AWS seperti di direktori perusahaan Anda. Jika pengguna tersebut ingin bekerja dengan sumber daya AWS, maka mereka harus mengetahui kredensial keamanannya. Dalam situasi seperti itu, kita dapat menggunakan peran untuk menentukan izin untuk penyedia identitas pihak ketiga (IDP).
- SAML -based federation : SAML 2.0 (Security Assertion Markup Language 2.0) adalah sebuah kerangka kerja terbuka yang digunakan oleh banyak penyedia identitas. SAML menyediakan sistem masuk tunggal terfederasi kepada pengguna ke AWS Management Console, sehingga pengguna dapat masuk ke AWS Management Console.Cara kerja federasi berbasis SAML
- Web-identity federation : Misalkan Anda membuat aplikasi seluler yang mengakses sumber daya AWS seperti game yang dijalankan di perangkat seluler, tetapi informasinya disimpan menggunakan Amazon S3 dan DynamoDB. Ketika Anda membuat aplikasi seperti itu, Anda perlu membuat permintaan ke layanan AWS yang harus ditandatangani dengan kunci akses AWS. Namun, disarankan untuk tidak menggunakan kredensial AWS jangka panjang, bahkan dalam bentuk terenkripsi. Aplikasi harus meminta kredensial keamanan sementara yang dibuat secara dinamis saat dibutuhkan dengan menggunakan federasi identitas web. Kredensial keamanan sementara ini akan dipetakan ke peran yang memiliki izin yang diperlukan untuk aplikasi untuk melakukan suatu tugas. Dengan federasi identitas web, pengguna tidak memerlukan kode masuk khusus atau identitas pengguna. Pengguna dapat masuk menggunakan penyedia identitas eksternal seperti login dengan Amazon, Facebook, Google, atau OpenID lainnya. Setelah login, pengguna mendapatkan token otentikasi, dan mereka menukarkan token otentikasi untuk menerima kredensial keamanan sementara.
Memberikan akses ke pihak ketiga
Ketika pihak ketiga ingin mengakses sumber daya AWS, maka Anda dapat menggunakan peran untuk mendelegasikan akses kepada mereka. Peran IAM memberi pihak ketiga ini akses ke sumber daya AWS tanpa berbagi kredensial keamanan apa pun.
- Pihak ketiga memberikan informasi berikut ini untuk membuat peran:
Pihak ketiga memberikan ID akun yang berisi Pengguna IAM untuk menggunakan peran Anda. Anda perlu menentukan ID akun AWS sebagai prinsipal saat menentukan kebijakan kepercayaan untuk peran tersebut. - ID eksternal pihak ketiga digunakan untuk mengaitkan dengan peran. Anda menentukan ID eksternal untuk menentukan kebijakan kepercayaan peran.
- Izin digunakan oleh pihak ketiga untuk mengakses sumber daya AWS. Izin dikaitkan dengan peran yang dibuat saat Anda menentukan kebijakan kepercayaan. Kebijakan ini mendefinisikan tindakan yang dapat mereka lakukan dan sumber daya apa yang dapat mereka gunakan.