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

penting

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

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

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 menyarankan Anda menggunakan AWS IAM Identity Center (Pusat IAM Identitas) untuk mengelola akses ke akun Anda dan izin dalam akun tersebut. Anda dapat mengelola identitas pengguna dengan Pusat IAM Identitas, atau mengelola izin akses untuk identitas pengguna di Pusat Identitas dari penyedia IAM 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 untuk mengakses IAM 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 permintaan Layanan AWS, seperti permintaan untuk membaca data. Identitas ini mencakup mesin yang berjalan di AWS lingkungan Anda, seperti EC2 instans atau AWS Lambda fungsi Amazon.

Anda juga dapat mengelola identitas mesin untuk pihak eksternal yang membutuhkan akses. Untuk memberikan akses ke identitas mesin, Anda dapat menggunakan IAM peran. IAMperan memiliki izin khusus dan menyediakan cara untuk mengakses AWS dengan mengandalkan kredenal 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 Management Peran Di Mana Saja. Untuk informasi lebih lanjut tentang peran, lihat Peran IAM. Untuk detail tentang cara menggunakan peran untuk mendelegasikan akses di seluruh Akun AWS, lihatIAMtutorial: Delegasikan akses di seluruh AWS akun menggunakan peran IAM.

Memerlukan otentikasi multi-faktor () MFA

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

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

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

Jika memungkinkan, kami sarankan untuk mengandalkan kredensi sementara alih-alih membuat kredensi jangka panjang seperti kunci akses. Namun, untuk skenario di mana Anda memerlukan IAM pengguna 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 IAMakses 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 IAM pengguna di. AWS Beberapa kasus penggunaan meliputi yang berikut:

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

  • AWS Klien pihak ketiga — Jika Anda menggunakan alat yang tidak mendukung akses dengan Pusat IAM Identitas, seperti AWS klien pihak ketiga atau vendor yang tidak di-host AWS, gunakan kunci akses jangka panjang IAM pengguna.

  • AWS CodeCommit akses - Jika Anda menggunakan CodeCommit untuk menyimpan kode Anda, Anda dapat menggunakan IAM pengguna dengan SSH kunci atau kredensi khusus layanan untuk mengautentikasi CodeCommit ke repositori Anda. Kami menyarankan Anda melakukan ini selain menggunakan pengguna di Pusat IAM Identitas 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 mengonfigurasi IAM pengguna, Anda dapat mengonfigurasi 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 IAM Identitas, seperti untuk tujuan pengujian kompatibilitas Cassandra, Anda dapat menggunakan IAM pengguna 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 selengkapnya, lihat Menggunakan kredensi sementara untuk terhubung ke Amazon Keyspaces menggunakan IAM peran dan plugin SiGv4 di Panduan Pengembang Amazon Keyspaces (untuk Apache Cassandra).

Ikuti praktik terbaik untuk melindungi kredensil pengguna root Anda

Saat Anda membuat Akun 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.

Terapkan izin hak istimewa paling sedikit

Saat Anda menetapkan izin dengan IAM kebijakan, berikan hanya izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai izin dengan hak akses paling rendah. 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 selengkapnya tentang penggunaan IAM untuk menerapkan izin, lihatKebijakan 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 Anda Akun 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 AWS kebijakan terkelola. 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 masuk AWS CloudTrail. IAMAccess Analyzer menganalisis layanan dan tindakan yang digunakan IAM peran 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 IAM pengguna, peran, izin, kebijakan, atau kredensional yang tidak lagi Anda perlukan di situs Anda. Akun AWS IAMmenyediakan informasi yang terakhir diakses untuk membantu Anda mengidentifikasi pengguna, peran, izin, kebijakan, dan kredensi 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 IAM kebijakan Anda agar lebih mematuhi izin hak istimewa paling sedikit. Untuk informasi selengkapnya, lihat Menyempurnakan izin dalam AWS menggunakan informasi yang terakhir diakses.

Gunakan ketentuan dalam IAM kebijakan 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 menggunakanSSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan, tetapi hanya jika digunakan melalui yang spesifik Layanan AWS, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat IAMJSONelemen kebijakan: Condition.

Verifikasi akses publik dan lintas akun ke sumber daya dengan IAM Access Analyzer

Sebelum Anda memberikan izin untuk akses publik atau lintas akun AWS, 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. IAMAccess 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 APIs.

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

Validasi kebijakan yang Anda buat untuk memastikan bahwa IAMkebijakan tersebut mematuhi bahasa kebijakan (JSON) dan praktik IAM terbaik. Anda dapat memvalidasi kebijakan Anda dengan menggunakan validasi kebijakan IAM Access Analyzer. IAMAccess 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 menyempurnakan dan memvalidasi kebijakan sebelum menyimpannya. Selain itu, kami menyarankan Anda 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 (SCPs) untuk membuat pagar pembatas izin untuk mengontrol akses bagi semua IAM pengguna dan peran di seluruh akun Anda. SCPsadalah jenis kebijakan organisasi yang dapat Anda gunakan untuk mengelola izin di organisasi Anda di tingkat AWS organisasi, OU, atau akun. Pagar pembatas izin yang Anda buat berlaku untuk semua pengguna dan peran dalam akun yang tercakup. Namun, SCPs saja tidak cukup untuk memberikan izin ke akun di organisasi Anda. Untuk melakukannya, administrator Anda harus melampirkan kebijakan berbasis identitas atau sumber daya ke IAM pengguna, IAM peran, atau sumber daya di akun Anda. Untuk informasi lebih lanjut, lihat AWS Organizations, akun, dan IAM pagar pembatas.

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 guna menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas ke peran. IAM Batas izin tidak memberikan izin sendiri. Untuk informasi selengkapnya, lihat Batas izin untuk entitas IAM.