Praktik terbaik keamanan di IAM - AWS Identity and Access Management

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik keamanan di IAM

Praktik AWS Identity and Access Management terbaik diperbarui pada 14 Juli 2022.

Untuk membantu mengamankan AWS sumber daya Anda, ikuti praktik terbaik untuk AWS Identity and Access Management (IAM) ini.

Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara

Pengguna manusia, juga dikenal sebagai identitas manusia, adalah orang, administrator, pengembang, operator, dan konsumen aplikasi Anda. Mereka harus memiliki identitas untuk mengakses AWS lingkungan dan aplikasi Anda. Pengguna manusia yang menjadi anggota organisasi Anda juga dikenal sebagai identitas tenaga kerja. Pengguna manusia juga dapat menjadi pengguna eksternal dengan siapa Anda berkolaborasi, dan yang berinteraksi dengan AWS sumber daya Anda. Mereka dapat melakukan ini melalui browser web, aplikasi klien, aplikasi seluler, atau alat baris perintah interaktif.

Minta pengguna manusia Anda untuk menggunakan kredensi sementara saat mengakses. AWS Anda dapat menggunakan penyedia identitas bagi pengguna manusia Anda untuk menyediakan akses federasi Akun AWS dengan mengambil peran, yang menyediakan kredensi sementara. Untuk manajemen akses terpusat, kami sarankan Anda menggunakan AWS IAM Identity Center(IAM Identity Center) untuk mengelola akses ke akun Anda dan izin dalam akun tersebut. Anda dapat mengelola identitas pengguna dengan Pusat Identitas IAM, atau mengelola izin akses untuk identitas pengguna di Pusat Identitas IAM dari penyedia identitas eksternal. Untuk informasi selengkapnya, lihat Apa itu AWS IAM Identity Center dalam Panduan Pengguna AWS IAM Identity Center.

Untuk informasi lebih lanjut tentang peran, lihat Istilah dan konsep peran.

Memerlukan beban kerja untuk menggunakan kredensil sementara dengan peran IAM untuk mengakses AWS

Beban kerja adalah kumpulan sumber daya dan kode yang memberikan nilai bisnis, seperti aplikasi atau proses backend. Beban kerja Anda dapat memiliki aplikasi, alat operasional, dan komponen yang memerlukan identitas untuk membuat permintaanLayanan AWS, seperti permintaan untuk membaca data. Identitas ini mencakup mesin yang berjalan di AWS lingkungan Anda, seperti instans AWS Lambda atau fungsi Amazon EC2.

Anda juga dapat mengelola identitas mesin untuk pihak eksternal yang membutuhkan akses. Untuk memberikan akses ke identitas mesin, Anda dapat menggunakan peran IAM. Peran IAM memiliki izin khusus dan menyediakan cara untuk mengakses AWS dengan mengandalkan kredensil keamanan sementara dengan sesi peran. Selain itu, Anda mungkin memiliki mesin di luar AWS yang membutuhkan akses ke AWS lingkungan Anda. Untuk mesin yang berjalan di luar AWS Anda dapat menggunakan AWS Identity and Access ManagementPeran Di Mana Saja. Untuk informasi lebih lanjut tentang peran, lihat Peran IAM. Untuk informasi lebih lanjut tentang cara menggunakan peran untuk mendelegasikan aksesAkun AWS, lihatTutorial IAM: Delegasikan aksesAWSakun yang menggunakan peran IAM.

Membutuhkan otentikasi multi-faktor (MFA)

Sebaiknya gunakan peran IAM untuk pengguna manusia dan beban kerja yang mengakses AWS sumber daya Anda sehingga mereka menggunakan kredensil sementara. Namun, untuk skenario di mana Anda memerlukan pengguna IAM atau pengguna root di akun Anda, memerlukan MFA untuk keamanan tambahan. Dengan MFA, pengguna memiliki perangkat yang menghasilkan respons terhadap tantangan autentikasi. Setiap kredensi pengguna dan respons yang dihasilkan perangkat diperlukan untuk menyelesaikan proses login. Untuk informasi selengkapnya, lihat Menggunakan otentikasi multi-faktor (MFA) di AWS.

Jika Anda menggunakan Pusat Identitas IAM untuk manajemen akses terpusat bagi pengguna manusia, Anda dapat menggunakan kemampuan MFA Pusat Identitas IAM ketika sumber identitas Anda dikonfigurasi dengan penyimpanan identitas Pusat Identitas IAM, AWS Microsoft AD Terkelola, atau Konektor AD. Untuk informasi selengkapnya tentang MFA di Pusat Identitas IAM, lihat Autentikasi multi-faktor di Panduan Pengguna. AWS IAM Identity Center

Perbarui kunci akses bila diperlukan untuk kasus penggunaan yang memerlukan kredensi jangka panjang

Jika memungkinkan, sebaiknya mengandalkan kredensi sementara alih-alih membuat kredensil jangka panjang seperti kunci akses. Namun, untuk skenario di mana Anda memerlukan pengguna IAM dengan akses terprogram dan kredensi jangka panjang, kami sarankan Anda memperbarui kunci akses saat diperlukan, seperti ketika seorang karyawan meninggalkan perusahaan Anda. Kami menyarankan Anda menggunakan akses IAM informasi yang terakhir digunakan untuk memperbarui dan menghapus kunci akses dengan aman. Untuk informasi selengkapnya, lihat Memperbarui kunci akses.

Ada kasus penggunaan khusus yang memerlukan kredensil jangka panjang dengan pengguna IAM di. AWS Beberapa kasus penggunaan meliputi:

  • Beban kerja yang tidak dapat menggunakan peran IAM — Anda dapat menjalankan beban kerja dari lokasi yang perlu diakses. AWS Dalam beberapa situasi, Anda tidak dapat menggunakan peran IAM untuk memberikan kredensi sementara, seperti untuk plugin. WordPress Dalam situasi ini, gunakan kunci akses jangka panjang pengguna IAM agar beban kerja tersebut dapat diautentikasi. AWS

  • AWSKlien pihak ketiga — Jika Anda menggunakan alat yang tidak mendukung akses dengan IAM Identity Center, seperti AWS klien pihak ketiga atau vendor yang tidak di-hostAWS, gunakan kunci akses jangka panjang pengguna IAM.

  • AWS CodeCommitakses - Jika Anda menggunakan CodeCommit untuk menyimpan kode Anda, Anda dapat menggunakan pengguna IAM dengan kunci SSH atau kredensi khusus layanan untuk CodeCommit mengautentikasi ke repositori Anda. Kami menyarankan Anda melakukan ini selain menggunakan pengguna di IAM Identity Center untuk otentikasi normal. Pengguna di IAM Identity Center adalah orang-orang di tenaga kerja Anda yang membutuhkan akses ke aplikasi cloud Anda Akun AWS atau ke aplikasi cloud Anda. Untuk memberi pengguna akses ke CodeCommit repositori Anda tanpa mengkonfigurasi pengguna IAM, Anda dapat mengkonfigurasi utilitas. git-remote-codecommit Untuk informasi lebih lanjut tentang IAM dan CodeCommit, lihatMenggunakan IAM dengan CodeCommit: Kredensial Git, kunci SSH, dan kunci akses AWS. Untuk informasi selengkapnya tentang mengonfigurasi git-remote-codecommit utilitas, lihat Menghubungkan ke AWS CodeCommit repositori dengan kredensi berputar di Panduan Pengguna. AWS CodeCommit

  • Akses Amazon Keyspaces (untuk Apache Cassandra) — Dalam situasi di mana Anda tidak dapat menggunakan pengguna di Pusat Identitas IAM, seperti untuk tujuan pengujian kompatibilitas Cassandra, Anda dapat menggunakan pengguna IAM dengan kredensi khusus layanan untuk mengautentikasi dengan Amazon Keyspaces. Pengguna di IAM Identity Center adalah orang-orang di tenaga kerja Anda yang membutuhkan akses ke aplikasi cloud Anda Akun AWS atau ke aplikasi cloud Anda. Anda juga dapat terhubung ke Amazon Keyspaces menggunakan kredensil sementara. Untuk informasi lebih lanjut, lihat Mengakses Amazon Keyspaces menggunakan peran IAM dan plugin SiGv4 dalam Panduan Pengembang Amazon Keyspaces (untuk Apache Cassandra).

Ikuti praktik terbaik untuk melindungi kredensil pengguna root Anda

Saat Anda membuatAkun AWS, Anda membuat kredensi pengguna root untuk masuk ke file. AWS Management Console Lindungi kredenal pengguna root Anda dengan cara yang sama seperti Anda melindungi informasi pribadi sensitif lainnya. Untuk lebih memahami cara mengamankan dan menskalakan proses pengguna root Anda, lihatPraktik terbaik pengguna root untuk Anda Akun AWS.

Menerapkan izin hak istimewa paling sedikit

Saat Anda menetapkan izin dengan kebijakan IAM, berikan hanya izin yang diperlukan untuk melakukan tugas. Anda melakukan ini dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, juga dikenal sebagai izin hak istimewa paling sedikit. Anda dapat memulai dengan izin luas saat menjelajahi izin yang diperlukan untuk beban kerja atau kasus penggunaan Anda. Saat kasus penggunaan Anda matang, Anda dapat bekerja untuk mengurangi izin yang Anda berikan untuk bekerja menuju hak istimewa yang paling sedikit. Untuk informasi lebih lanjut tentang penggunaan IAM untuk menerapkan izin, lihat. Kebijakan dan Izin di IAM

Memulai kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit

Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakan AWS terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di AndaAkun AWS. Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan oleh semua pelanggan. AWS Oleh karena itu, kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan terkelola pelanggan yang spesifik untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat AWSKebijakan yang dikelola . Untuk informasi selengkapnya tentang kebijakan AWS terkelola yang dirancang untuk fungsi pekerjaan tertentu, lihatAWS kebijakan terkelola untuk fungsi pekerjaan.

Gunakan IAM Access Analyzer untuk menghasilkan kebijakan hak istimewa paling sedikit berdasarkan aktivitas akses

Untuk hanya memberikan izin yang diperlukan untuk melakukan tugas, Anda dapat membuat kebijakan berdasarkan aktivitas akses yang masukAWS CloudTrail. IAM Access Analyzer menganalisis layanan dan tindakan yang digunakan peran IAM Anda, lalu menghasilkan kebijakan berbutir halus yang dapat Anda gunakan. Setelah menguji setiap kebijakan yang dihasilkan, Anda dapat menerapkan kebijakan tersebut ke lingkungan produksi. Ini memastikan bahwa Anda hanya memberikan izin yang diperlukan untuk beban kerja Anda. Untuk informasi selengkapnya tentang pembuatan kebijakan, lihat pembuatan kebijakan IAM Access Analyzer.

Tinjau dan hapus pengguna, peran, izin, kebijakan, dan kredensil yang tidak digunakan secara teratur

Anda mungkin memiliki pengguna IAM, peran, izin, kebijakan, atau kredensial yang tidak lagi Anda perlukan. Akun AWS IAM menyediakan informasi yang terakhir diakses untuk membantu Anda mengidentifikasi pengguna, peran, izin, kebijakan, dan kredenal yang tidak lagi Anda perlukan sehingga Anda dapat menghapusnya. Ini membantu Anda mengurangi jumlah pengguna, peran, izin, kebijakan, dan kredensional yang harus Anda pantau. Anda juga dapat menggunakan informasi ini untuk menyempurnakan kebijakan IAM Anda agar lebih mematuhi izin hak istimewa paling sedikit. Untuk informasi selengkapnya, lihat Menyaring izin di AWS menggunakan informasi yang terakhir diakses.

Gunakan ketentuan dalam kebijakan IAM untuk membatasi akses lebih lanjut

Anda dapat menentukan kondisi di mana pernyataan kebijakan berlaku. Dengan begitu, Anda dapat memberikan akses ke tindakan dan sumber daya, tetapi hanya jika permintaan akses memenuhi persyaratan tertentu. Misalnya, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan, tetapi hanya jika digunakan melalui yang spesifikLayanan AWS, sepertiAWS CloudFormation. Untuk informasi selengkapnya, lihat Elemen kebijakan IAM JSON: Condition.

Memverifikasi akses publik dan lintas akun dengan IAM Access Analyzer

Sebelum Anda memberikan izin untuk akses publik atau lintas akunAWS, kami sarankan Anda memverifikasi apakah akses tersebut diperlukan. Anda dapat menggunakan IAM Access Analyzer untuk membantu Anda melihat pratinjau dan menganalisis akses publik dan lintas akun untuk jenis sumber daya yang didukung. Anda melakukan ini dengan meninjau temuan yang dihasilkan IAM Access Analyzer. Temuan ini membantu Anda memverifikasi bahwa kontrol akses sumber daya Anda memberikan akses yang Anda harapkan. Selain itu, saat memperbarui izin publik dan lintas akun, Anda dapat memverifikasi efek perubahan sebelum menerapkan kontrol akses baru ke sumber daya Anda. IAM Access Analyzer juga memantau jenis sumber daya yang didukung secara terus menerus dan menghasilkan temuan untuk sumber daya yang memungkinkan akses publik atau lintas akun. Untuk informasi selengkapnya, lihat Mempratinjau akses dengan IAM Access Analyzer API.

Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda guna memastikan izin yang aman dan fungsional

Validasi kebijakan yang Anda buat untuk memastikan bahwa kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. Anda dapat memvalidasi kebijakan Anda dengan menggunakan validasi kebijakan IAM Access Analyzer. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Saat Anda membuat kebijakan baru atau mengedit kebijakan yang ada di konsol, IAM Access Analyzer memberikan rekomendasi untuk membantu Anda memperbaiki dan memvalidasi kebijakan sebelum menyimpannya. Selain itu, kami menyarankan Anda untuk meninjau dan memvalidasi semua kebijakan yang ada. Untuk informasi selengkapnya, lihat validasi kebijakan IAM Access Analyzer. Untuk informasi selengkapnya tentang pemeriksaan kebijakan yang disediakan oleh IAM Access Analyzer, lihat referensi pemeriksaan kebijakan IAM Access Analyzer.

Menetapkan pagar pembatas izin di beberapa akun

Saat Anda menskalakan beban kerja Anda, pisahkan dengan menggunakan beberapa akun yang dikelola. AWS Organizations Kami menyarankan Anda menggunakan kebijakan kontrol layanan Organizations (SCP) untuk membuat pagar pembatas izin untuk mengontrol akses bagi semua pengguna dan peran IAM di seluruh akun Anda. SCP adalah jenis kebijakan organisasi yang dapat Anda gunakan untuk mengelola izin dalam organisasi Anda di tingkat AWS organisasi, OU, atau akun. Pagang izin yang Anda buat berlaku untuk semua pengguna dan peran dalam akun yang tercakup. Namun, SCP saja tidak cukup untuk memberikan izin ke akun dalam organisasi Anda. Untuk melakukan ini, administrator Anda harus melampirkan kebijakan berbasis identitas atau sumber daya untuk pengguna IAM, peran IAM, atau sumber daya dalam akun Anda. Untuk informasi lebih lanjut, lihat AWS Organizations, akun, dan pagar pembatas IAM.

Gunakan batas izin untuk mendelegasikan manajemen izin dalam akun

Dalam beberapa skenario, Anda mungkin ingin mendelegasikan manajemen izin dalam akun kepada orang lain. Misalnya, Anda dapat mengizinkan pengembang untuk membuat dan mengelola peran untuk beban kerja mereka. Saat Anda mendelegasikan izin kepada orang lain, gunakan batas izin untuk menetapkan izin maksimum yang Anda delegasikan. Batas izin adalah fitur lanjutan untuk menggunakan kebijakan terkelola untuk menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas untuk peran IAM. Batas izin tidak memberikan izin sendiri. Untuk informasi selengkapnya, lihat Batas izin untuk entitas IAM.