FAQ AWS Identity and Access Management (IAM)

Umum

IAM menyediakan kontrol akses detail di seluruh AWS. Dengan IAM, Anda dapat mengontrol akses ke layanan dan sumber daya berdasarkan syarat-syarat tertentu. Gunakan kebijakan IAM untuk mengelola izin bagi tenaga kerja dan sistem Anda guna memastikan hak akses paling rendah. IAM ditawarkan tanpa biaya tambahan. Untuk informasi selengkapnya, lihat Apa itu IAM?

IAM menyediakan autentikasi dan otorisasi untuk layanan AWS. Layanan akan melakukan evaluasi jika permintaan AWS diizinkan atau ditolak. Akses ditolak secara default dan hanya diizinkan jika kebijakan secara eksplisit memberikan akses. Anda dapat melampirkan kebijakan pada peran dan sumber daya untuk mengontrol akses di seluruh AWS. Untuk informasi selengkapnya, lihat Memahami cara kerja IAM.

Saat Anda mengatur izin dengan kebijakan IAM, berikan hanya izin yang diperlukan untuk melakukan tugas. Praktik ini dikenal sebagai memberikan hak akses paling rendah. Anda dapat menerapkan izin dengan hak akses paling rendah di IAM dengan menentukan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu. Untuk informasi selengkapnya, lihat Manajemen akses untuk sumber daya AWS.

Untuk mulai menggunakan IAM guna mengelola izin untuk layanan dan sumber daya AWS, buat satu IAM role dan berikan izin. Untuk pengguna tenaga kerja, buat peran yang dapat diambil oleh penyedia identitas Anda. Untuk sistem, buat peran yang dapat diambil oleh layanan yang sedang Anda gunakan, seperti Amazon EC2 atau AWS Lambda. Setelah peran dibuat, Anda dapat melampirkan kebijakan ke peran tersebut untuk memberikan izin yang dibutuhkan. Saat Anda baru saja memulai, Anda mungkin belum mengetahui izin tertentu yang diperlukan, sehingga Anda dapat memulai dengan yang lebih luas. Kebijakan yang dikelola AWS menyediakan izin untuk membantu Anda memulai dan tersedia di seluruh akun AWS. Kemudian, kurangi izin lebih lanjut dengan menetapkan kebijakan yang dikelola pelanggan khusus untuk kasus penggunaan Anda. Anda dapat membuat dan mengelola kebijakan dan peran di konsol IAM, atau melalui API AWS atau AWS CLI. Untuk informasi selengkapnya, lihat Memulai IAM.

Sumber daya IAM

Peran AWS Identity and Access Management (IAM) menyediakan cara untuk mengakses AWS dengan mengandalkan kredensial keamanan sementara. Setiap peran memiliki seperangkat izin untuk membuat permintaan layanan AWS, dan peran tidak terkait dengan penggunaan atau grup tertentu. Sebagai gantinya, entitas tepercaya, seperti penyedia identitas atau layanan AWS, akan mengambil peran. Untuk informasi selengkapnya, lihat peran IAM.

Anda harus menggunakan IAM role untuk memberikan akses ke akun AWS Anda dengan mengandalkan kredensial jangka pendek, yang merupakan sebuah praktik terbaik keamanan. Identitas yang diotorisasi, yang dapat berupa layanan AWS atau pengguna dari penyedia identitas Anda, dapat mengambil peran untuk membuat permintaan AWS. Untuk memberikan izin pada peran, lampirkan kebijakan IAM pada peran. Untuk informasi selengkapnya, lihat Skenario umum untuk peran.

Pengguna IAM adalah identitas dengan kredensial jangka panjang. Anda mungkin menggunakan pengguna IAM untuk pengguna tenaga kerja. Dalam hal ini, AWS menyarankan untuk menggunakan penyedia identitas dan bergabung ke dalam AWS dengan mengambil peran. Anda juga dapat menggunakan peran untuk memberikan akses lintas akun ke layanan dan fitur seperti fungsi AWS Lambda. Dalam beberapa skenario, Anda mungkin memerlukan pengguna IAM dengan kunci akses yang memiliki kredensial jangka panjang dengan akses ke akun AWS Anda. Untuk skenario ini, AWS menyarankan untuk menggunakan informasi penggunaan terakhir akses IAM untuk merotasikan kredensial secara sering dan membuang kredensial yang tidak digunakan. Untuk informasi selengkapnya, lihat Gambaran Umum manajemen identitas AWS: Pengguna.

Kebijakan IAM menentukan izin untuk entitas yang Anda lampirkan. Misalnya, untuk memberikan akses ke IAM role, lampirkan kebijakan ke peran tersebut. Izin yang ditetapkan di kebijakan tersebut menentukan apakah permintaan diizinkan atau ditolak. Anda juga dapat melampirkan kebijakan ke beberapa sumber daya, seperti bucket Simple Storage Service (Amazon S3), untuk memberikan akses lintas akun langsung. Dan Anda dapat melampirkan kebijakan ke organisasi atau unit organisasi AWS untuk membatasi akses di beberapa akun. AWS mengevaluasi kebijakan ini saat IAM role membuat permintaan. Untuk informasi selengkapnya, lihat Kebijakan berbasis identitas.

Memberikan akses

Untuk memberikan akses ke layanan dan sumber daya menggunakan AWS Identity and Access Management (IAM), lampirkan kebijakan IAM ke peran atau sumber daya. Anda dapat memulai dengan melampirkan kebijakan yang dikelola AWS, yang dimiliki dan diperbarui oleh AWS dan tersedia di seluruh akun AWS. Jika Anda mengetahui izin tertentu yang diperlukan untuk kasus penggunaan Anda, buat kebijakan yang dikelola pelanggan dan lampirkan kebijakan tersebut ke peran. Beberapa sumber daya AWS menyediakan cara memberikan akses dengan menetapkan kebijakan yang dilampirkan ke sumber daya, seperti bucket Simple Storage Service (Amazon S3). Kebijakan berbasis sumber daya ini memungkinkan Anda untuk memberikan akses lintas akun langsung ke sumber daya tempatnya dilampirkan. Untuk informasi selengkapnya, lihat Manajemen akses untuk sumber daya AWS.

Untuk menetapkan izin ke peran atau sumber daya, buat kebijakan, yaitu dokumen Notasi Objek JavaScript (JSON) yang menentukan izin. Dokumen ini mencakup pernyataan izin yang memberikan atau menolak akses ke tindakan, sumber daya, dan syarat layanan tertentu. Setelah kebijakan dibuat, Anda dapat melampirkannya ke satu atau beberapa peran AWS untuk memberikan izin ke akun AWS Anda. Untuk memberikan akses lintas akun langsung ke sumber daya, seperti bucket Simple Storage Service (Amazon S3), gunakan kebijakan berbasis sumber daya. Buat kebijakan Anda di konsol IAM atau melalui API AWS atau AWS CLI. Untuk informasi selengkapnya, lihat Membuat kebijakan IAM.

Kebijakan yang dikelola AWS dibuat dan dikelola oleh AWS dan mencakup kasus penggunaan umum. Untuk memulai, Anda dapat memberikan izin yang lebih luas dengan menggunakan kebijakan yang dikelola AWS yang tersedia di akun AWS Anda dan di seluruh akun AWS umum. Lalu, saat Anda memperbaiki persyaratan, izin dapat dikurangi dengan menetapkan kebijakan yang dikelola pelanggan khusus untuk kasus penggunaan dengan tujuan untuk mencapai izin hak akses paling rendah. Untuk informasi selengkapnya, lihat Kebijakan yang dikelola AWS.

Untuk hanya memberikan akses yang diperlukan untuk melakukan tugas, Anda dapat membuat kebijakan yang dikelola pelanggan yang khusus untuk kasus penggunaan dan sumber daya Anda. Gunakan kebijakan yang dikelola pelanggan untuk terus menyempurnakan izin untuk kebutuhan tertentu Anda. Untuk informasi selengkapnya, lihat Kebijakan yang dikelola pelanggan.

Kebijakan inline ditanamkan dan disematkan ke IAM role tertentu. Gunakan kebijakan inline jika Anda ingin mempertahankan hubungan langsung yang ketat antara kebijakan dan identitas yang diterapkan kepadanya. Misalnya, Anda dapat memberikan izin administratif untuk memastikan bahwa izin tersebut tidak dilampirkan ke peran lain. Untuk informasi selengkapnya, lihat Kebijakan inline.

Kebijakan berbasis sumber daya adalah kebijakan izin yang dilampirkan ke sumber daya. Misalnya, Anda dapat melampirkan kebijkan berbasis sumber daya ke kunci enkripsi bucket Simple Storage Service (Amazon S3), antrean Amazon SQS, VPC endpoint, dan AWS Key Management Service. Untuk daftar layanan yang mendukung kebijakan berbasis sumber daya, lihat Layanan AWS yang bekerja dengan IAM. Gunakan kebijakan berbasis sumber daya untuk memberikan akses lintas akun langsung. Dengan kebijakan berbasis sumber daya, Anda dapat menetapkan siapa saja yang memiliki akses ke sumber daya dan tindakan yang dapat mereka lakukan dengan sumber daya tersebut. Untuk informasi selengkapnya, lihat Kebijakan berbasis identitas dan kebijakan berbasis sumber daya.

RBAC menyediakan cara untuk menetapkan izin berbasis fungsi tugas seseorang, yang dikenal di luar AWS sebagai peran. IAM menyediakan RBAC dengan menetapkan IAM role dengan izin yang sesuai dengan fungsi tugas. Anda dapat memberikan akses pada individual untuk mengambil peran-peran ini guna melakukan fungsi tugas tertentu. Dengan RBAC, Anda dapat mengaudit akses dengan melihat pada setiap IAM role dan izin terlampirnya. Untuk informasi selengkapnya, lihat Membandingkan model ABAC dengan RBAC tradisional.

Sebagai praktik terbaik, berikan akses hanya ke tindakan layanan tertentu dan sumber daya yang diperlukan untuk melakukan tugas. Praktik ini dikenal sebagai memberikan hak akses paling rendah. Ketika karyawan menambahkan sumber daya baru, Anda harus memperbarui kebijakan untuk mengizinkan akses ke sumber daya tersebut.

ABAC adalah strategi otorisasi yang menetapkan izin berdasarkan atribut. Di AWS, atribut ini disebut tanda, dan Anda dapat menentukannya di sumber daya AWS, peran IAM, dan di sesi peran. Dengan ABAC, Anda dapat menetapkan serangkaian izin berdasarkan nilai tanda. Anda dapat memberikan izin detail ke sumber daya tertentu dengan mewajibkan tanda pada peran atau sesi agar cocok dengan tanda di sumber daya. Misalnya, Anda dapat membuat kebijakan yang memberi developer akses ke sumber daya yang ditandai dengan judul tugas “developer.” ABAC sangat membantu dalam lingkungan yang berkembang pesat dengan memberikan izin ke sumber daya karena dibuat dengan tanda tertentu. Untuk informasi selengkapnya, lihat Kontrol Akses Berbasis Atribut untuk AWS.

Untuk memberikan akses menggunakan ABAC, pertama tetapkan kunci tanda dan nilai yang ingin Anda gunakan untuk kontrol akses. Lalu, pastikan IAM role Anda memiliki kunci tanda dan nilai yang sesuai. Jika peran ini digunakan oleh beberapa identitas, Anda dapat menetapkan kunci tanda dan nilai sesi. Selanjutnya, pastikan bahwa sumber daya Anda memiliki kunci tanda dan nilai yang sesuai. Anda juga dapat mewajibkan pengguna untuk membuat sumber daya dengan tanda yang sesuai dan membatasi akses untuk mengubahnya. Setelah tanda Anda diterapkan, tentukan kebijakan yang memberikan akses ke tindakan dan tipe sumber daya tertentu, tetapi hanya jika peran atau tanda sesi cocok dengan tanda sumber daya. Untuk tutorial detail yang mendemonstrasikan cara menggunakan ABAC di AWS, lihat Tutorial IAM: Menentukan izin untuk mengakses sumber daya AWS berdasarkan tanda.

Membatasi akses

Dengan AWS Identity and Access Management (IAM), semua akses ditolak secara default dan memerlukan kebijakan yang memberi akses. Saat mengelola izin dalam skala besar, Anda mungkin perlu untuk menerapkan pagar pembatas izin dan membatasi akses di seluruh akun Anda. Untuk membatasi akses, tentukan pernyataan Tolak di setiap kebijakan. Jika pernyataan Tolak berlaku untuk permintaan akses, berarti selalu berlaku di atas pernyataan Izinkan. Misalnya, jika Anda mengizinkan akses ke semua tindakan di AWS tetapi menolak akses ke IAM, setiap permintaan ke IAM ditolak. Anda dapat menyertakan pernyataan Tolak di setiap tipe kebijakan, termasuk kebijakan berbasis identitas, berbasis sumber daya, dan kontrol layanan dengan AWS Organizations. Untuk informasi selengkapnya, lihat Mengontrol akses dengan AWS Identity and Access Management.

SCP mirip dengan kebijakan IAM dan menggunakan sintaksis yang hampir sama. Namun, SCP tidak memberikan izin. Sebagai gantinya, SCP mengizinkan atau menolak akses ke layanan AWS untuk akun AWS individual dengan akun anggota Organisasi, atau untuk grup akun dalam unit organisasi. Tindakan tertentu dari SCP memengaruhi semua pengguna IAM dan IAM role, termasuk pengguna root dari akun anggota. Untuk informasi selengkapnya, lihat Logika evaluasi kebijakan

Menganalisis akses

Ketika akan memberikan izin, Anda dapat mulai dengan izin yang lebih luas saat menjelajahi dan bereksperimen. Saat kasus penggunaan Anda matang, AWS menyarankan agar Anda menyempurnakan izin untuk memberikan izin yang diperlukan saja dengan tujuan mendapatkan izin hak akses paling rendah. AWS menyediakan alat untuk membantu memperbaiki izin Anda. Anda dapat memulai kebijakan yang dikelola AWS, yang dibuat dan diatur oleh AWS serta mencakup izin untuk kasus penggunaan umum. Saat Anda menyempurnakan izin, tentukan izin tertentu di kebijakan yang dikelola pelanggan. Untuk membantu Anda menentukan izin tertentu yang diperlukan, gunakan AWS Identity and Access Management (IAM) Access Analyzer, tinjau log AWS CloudTrail, dan periksa informasi akses terakhir. Anda juga dapat menggunakan simulator kebijakan IAM untuk menguji dan memecahkan masalah kebijakan.

Mencapai hak akses paling rendah adalah siklus berkelanjutan untuk memberikan izin detail yang tepat seiring berkembangnya kebutuhan Anda. IAM Access Analyzer membantu Anda menyederhanakan manajemen izin di setiap langkah siklus ini. Pembuatan kebijakan dengan IAM Access Analyzer menghasilkan kebijakan terperinci berdasarkan aktivitas akses yang direkam dalam log Anda. Hal ini berarti bahwa setelah membangun dan menjalankan aplikasi, Anda dapat membuat kebijakan yang hanya memberikan izin yang diperlukan untuk mengoperasikan aplikasi tersebut. Validasi kebijakan dengan IAM Access Analyzer menggunakan lebih dari 100 pemeriksaan kebijakan untuk memandu Anda dalam membuat serta memvalidasi kebijakan yang aman dan fungsional. Anda dapat menggunakan pemeriksaan ini sambil membuat kebijakan baru atau untuk memvalidasi kebijakan yang ada. Pemeriksaan kebijakan kustom adalah fitur berbayar untuk memvalidasi bahwa kebijakan yang disusun oleh developer mematuhi standar keamanan yang Anda tentukan sebelum deployment. Pemeriksaan kebijakan kustom menggunakan kemampuan penalaran otomatis—jaminan keamanan yang dapat dibuktikan, yang didukung oleh bukti matematis—agar tim keamanan dapat secara proaktif mendeteksi pembaruan kebijakan yang tidak sesuai.

Temuan publik dan lintas akun dengan IAM Access Analyzer membantu Anda memverifikasi serta menyempurnakan akses yang diizinkan oleh kebijakan sumber daya Anda dari luar organisasi atau akun AWS Anda. Untuk informasi selengkapnya, lihat Menggunakan IAM Access Analyzer. Akses yang tidak digunakan dengan IAM Access Analyzer terus menganalisis akun Anda untuk mengidentifikasi akses yang tidak digunakan dan membuat dasbor terpusat dengan temuan. Temuan ini menyoroti peran yang tidak digunakan, kunci akses yang tidak digunakan untuk pengguna IAM, dan kata sandi yang tidak digunakan untuk pengguna IAM. Untuk pengguna dan peran IAM yang aktif, temuan memberikan visibilitas tentang layanan serta tindakan yang tidak digunakan.

Anda mungkin memiliki pengguna IAM, peran, dan izin yang sudah tidak digunakan lagi di akun AWS Anda. Kami menyarankan agar Anda membuangnya dengan tujuan untuk mencapai akses hak akses paling rendah. Untuk pengguna IAM, Anda dapat meninjau kata sandi dan informasi yang terakhir digunakan access key. Untuk peran, Anda dapat meninjau informasi yang terakhir digunakan peran. Informasi ini tersedia di konsol IAM, API, dan SDK. Informasi yang terakhir digunakan membantu Anda mengidentifikasi pengguna dan peran yang sudah tidak digunakan lagi dan aman untuk dibuang. Anda juga dapat memperbaiki izin dengan meninjau layanan dan informasi yang terakhir diakses untuk mengidentifikasi izin yang tidak digunakan. Untuk informasi selengkapnya, lihat Menyempurnakan izin di AWS menggunakan informasi yang terakhir diakses.

Jika Anda mengaktifkan penganalisis akses yang tidak digunakan sebagai fitur berbayar, IAM Access Analyzer terus menganalisis akun Anda untuk mengidentifikasi akses yang tidak digunakan dan membuat dasbor terpusat dengan temuan. Dasbor ini membantu tim keamanan meninjau temuan secara terpusat dan memprioritaskan akun berdasarkan volume temuan. Tim keamanan dapat menggunakan dasbor ini untuk meninjau temuan secara terpusat dan memprioritaskan akun yang akan ditinjau berdasarkan volume temuan. Temuan ini menyoroti peran yang tidak digunakan, kunci akses yang tidak digunakan untuk pengguna IAM, dan kata sandi yang tidak digunakan untuk pengguna IAM. Untuk pengguna dan peran IAM aktif, temuan ini memberikan visibilitas tentang layanan serta tindakan yang tidak digunakan, yang menyederhanakan inspeksi akses yang tidak digunakan untuk mengarahkan Anda ke hak akses paling rendah. Dengan fitur ini, Anda membayar per peran IAM atau pengguna IAM yang dianalisis per bulan.

Simulator kebijakan IAM mengevaluasi kebijakan yang Anda pilih dan menentukan izin yang efektif untuk setiap tindakan yang Anda tentukan. Gunakan simulator kebijakan untuk menguji dan memecahkan masalah kebijakan berbasis identitas dan berbasis sumber daya, batasan izin IAM, dan SCP. Untuk informasi selengkapnya, lihat Menguji kebijakan IAM dengan simulator kebijakan IAM.

Pemeriksaan kebijakan kustom IAM Access Analyzer memvalidasi bahwa kebijakan IAM mematuhi standar keamanan Anda sebelum deployment. Pemeriksaan kebijakan kustom menggunakan kemampuan penalaran otomatis—jaminan keamanan yang dapat dibuktikan, yang didukung oleh bukti matematis—agar tim keamanan dapat secara proaktif mendeteksi pembaruan kebijakan yang tidak sesuai. Misalnya, perubahan kebijakan IAM yang lebih permisif daripada versi sebelumnya. Tim keamanan dapat menggunakan pemeriksaan ini untuk menyederhanakan tinjauan mereka, secara otomatis menyetujui kebijakan yang sesuai dengan standar keamanan mereka, dan melakukan pemeriksaan lebih mendalam jika tidak sesuai. Validasi jenis baru ini memberikan jaminan keamanan yang lebih tinggi di cloud. Tim keamanan dan pengembangan dapat mengotomatiskan tinjauan kebijakan dalam skala besar dengan mengintegrasikan pemeriksaan kebijakan khusus ini ke dalam alat dan lingkungan tempat developer membuat kebijakan mereka, seperti alur CI/CD mereka.

IAM Access Analyzer menyederhanakan pemeriksaan akses yang tidak digunakan untuk memandu Anda menuju hak akses paling rendah. Tim keamanan dapat menggunakan IAM Access Analyzer untuk mendapatkan visibilitas ke akses yang tidak digunakan di seluruh organisasi AWS mereka dan mengotomatisasi cara mereka menyesuaikan izin. Saat penganalisis akses yang tidak digunakan diaktifkan, IAM Access Analyzer terus menganalisis akun Anda untuk mengidentifikasi akses yang tidak digunakan dan membuat dasbor terpusat dengan temuan. Dasbor ini membantu tim keamanan meninjau temuan secara terpusat dan memprioritaskan akun berdasarkan volume temuan. Tim keamanan dapat menggunakan dasbor ini untuk meninjau temuan secara terpusat dan memprioritaskan akun yang akan ditinjau berdasarkan volume temuan. Temuan ini menyoroti peran yang tidak digunakan, kunci akses yang tidak digunakan untuk pengguna IAM, dan kata sandi yang tidak digunakan untuk pengguna IAM. Untuk pengguna dan peran IAM yang aktif, temuan memberikan visibilitas tentang layanan serta tindakan yang tidak digunakan.