Kebijakan dan izin di AWS Identity and Access Management - 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.

Kebijakan dan izin di AWS Identity and Access Management

Kelola akses AWS dengan membuat kebijakan dan melampirkannya ke IAM identitas (pengguna, grup pengguna, atau peran) atau AWS sumber daya. Kebijakan adalah objek AWS yang, ketika dikaitkan dengan identitas atau sumber daya, menentukan izinnya. AWS mengevaluasi kebijakan ini ketika IAM prinsipal (pengguna atau peran) membuat permintaan. Izin dalam kebijakan menentukan apakah permintaan diizinkan atau ditolak. Sebagian besar kebijakan disimpan AWS sebagai JSON dokumen. AWS mendukung enam jenis kebijakan: kebijakan berbasis identitas, kebijakan berbasis sumber daya, batas izin, kebijakan kontrol layanan Organisasi (), daftar kontrol akses (SCPs), dan kebijakan sesi. ACLs

IAMkebijakan menentukan izin untuk tindakan terlepas dari metode yang Anda gunakan untuk melakukan operasi. Misalnya, jika kebijakan mengizinkan GetUsertindakan, maka pengguna dengan kebijakan itu bisa mendapatkan informasi pengguna dari AWS Management Console, AWS CLI, atau AWS API. Saat Anda membuat IAM pengguna, Anda dapat memilih untuk mengizinkan konsol atau akses terprogram. Jika akses konsol diizinkan, IAM pengguna dapat masuk ke konsol menggunakan kredenal masuknya. Jika akses terprogram diizinkan, pengguna dapat menggunakan kunci akses untuk bekerja dengan CLI atauAPI.

Jenis kebijakan

Jenis kebijakan berikut, yang tercantum dalam urutan dari yang paling sering digunakan hingga yang jarang digunakan, tersedia untuk digunakan di AWS. Untuk perincian selengkapnya, lihat bagian di bawah ini untuk setiap jenis kebijakan.

  • Kebijakan berbasis identitas - Lampirkan kebijakan terkelola dan sebaris ke IAM identitas (pengguna, grup tempat pengguna berada, atau peran). Kebijakan berbasis identitas memberikan izin kepada sebuah identitas.

  • Kebijakan berbasis sumber daya – Lampirkan kebijakan yang sesuai ke sumber daya. Contoh paling umum dari kebijakan berbasis sumber daya adalah kebijakan bucket Amazon S3 dan kebijakan kepercayaan peran. IAM Kebijakan berbasis sumber daya memberikan izin kepada prinsipal yang ditentukan dalam kebijakan. Prinsipal dapat berada di akun yang sama dengan sumber daya atau di akun lain.

  • Batas izin — Gunakan kebijakan terkelola sebagai batas izin untuk IAM entitas (pengguna atau peran). Kebijakan tersebut menentukan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas, tetapi tidak memberikan izin. Batas izin tidak menentukan izin maksimum yang dapat diberikan oleh kebijakan berbasis sumber daya kepada entitas.

  • Organizations SCPs — Gunakan kebijakan kontrol AWS Organizations layanan (SCP) untuk menentukan izin maksimum bagi anggota akun organisasi atau unit organisasi (OU). SCPsmembatasi izin yang diberikan oleh kebijakan berbasis identitas atau kebijakan berbasis sumber daya kepada entitas (pengguna atau peran) dalam akun, tetapi tidak memberikan izin.

  • Daftar kontrol akses (ACLs) — Gunakan ACLs untuk mengontrol prinsipal mana di akun lain yang dapat mengakses sumber daya yang dilampirkan. ACL ACLsmirip dengan kebijakan berbasis sumber daya, meskipun mereka adalah satu-satunya jenis kebijakan yang tidak menggunakan struktur dokumen kebijakan. JSON ACLsadalah kebijakan izin lintas akun yang memberikan izin kepada prinsipal yang ditentukan. ACLstidak dapat memberikan izin kepada entitas dalam akun yang sama.

  • Kebijakan sesi — Lulus kebijakan sesi lanjutan saat Anda menggunakan AWS CLI atau AWS API untuk mengambil peran atau pengguna gabungan. Kebijakan sesi membatasi izin yang diberikan oleh peran atau kebijakan berbasis identitas pengguna ke sesi. Kebijakan sesi membatasi izin untuk sesi yang dibuat, tetapi tidak memberikan izin. Untuk informasi lebih lanjut, lihat Kebijakan Sesi

Kebijakan berbasis identitas

Kebijakan berbasis identitas adalah dokumen kebijakan JSON izin yang mengontrol tindakan apa yang dapat dilakukan identitas (pengguna, grup pengguna, dan peran), pada sumber daya mana, dan dalam kondisi apa. Kebijakan berbasis identitas selanjutnya dapat dikategorikan menjadi:

  • Kebijakan terkelola — Kebijakan berbasis identitas mandiri yang dapat Anda lampirkan ke beberapa pengguna, grup, dan peran di Anda. Akun AWS Ada dua jenis kebijakan terkelola:

    • AWS kebijakan terkelola — Kebijakan terkelola yang dibuat dan dikelola oleh AWS.

    • Kebijakan terkelola pelanggan — Kebijakan terkelola yang Anda buat dan kelola di Anda Akun AWS. Kebijakan yang dikelola pelanggan memberikan kontrol yang lebih tepat atas kebijakan Anda daripada kebijakan yang AWS dikelola.

  • Kebijakan inline – Kebijakan yang Anda tambahkan secara langsung ke satu pengguna, grup, atau peran. Kebijakan inline mempertahankan one-to-one hubungan yang ketat antara kebijakan dan identitas. Mereka dihapus ketika Anda menghapus identitas.

Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat Pilih antara kebijakan terkelola dan kebijakan inline.

Kebijakan berbasis sumber daya

Kebijakan berbasis sumber daya adalah dokumen JSON kebijakan yang Anda lampirkan ke sumber daya seperti bucket Amazon S3. Kebijakan ini memberikan izin prinsipal yang ditentukan untuk melakukan tindakan tertentu pada sumber daya tersebut dan menetapkan di bawah ketentuan yang berlaku. Kebijakan berbasis sumber daya merupakan kebijakan inline. Tidak ada kebijakan berbasis sumber daya terkelola.

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan seluruh akun atau IAM entitas di akun lain sebagai prinsipal dalam kebijakan berbasis sumber daya. Menambahkan prinsipal akun silang ke kebijakan berbasis sumber daya hanya setengah dari membangun hubungan kepercayaan. Ketika prinsipal dan sumber daya terpisah Akun AWS, Anda juga harus menggunakan kebijakan berbasis identitas untuk memberikan akses utama ke sumber daya. Namun, jika kebijakan berbasis sumber daya memberikan akses ke prinsipal dalam akun yang sama, tidak diperlukan kebijakan berbasis identitas tambahan. Untuk petunjuk langkah demi langkah untuk memberikan akses lintaslayanan, lihat IAMtutorial: Delegasikan akses di seluruh AWS akun menggunakan IAM peran.

IAMLayanan ini hanya mendukung satu jenis kebijakan berbasis sumber daya yang disebut kebijakan kepercayaan peran, yang melekat pada peran. IAM IAMPeran adalah identitas dan sumber daya yang mendukung kebijakan berbasis sumber daya. Untuk alasan itu, Anda harus melampirkan kebijakan kepercayaan dan kebijakan berbasis identitas ke suatu peran. IAM Kebijakan kepercayaan menentukan entitas prinsipal mana (akun, pengguna, peran, dan pengguna gabungan) yang dapat memegang peran tersebut. Untuk mempelajari perbedaan IAM peran dari kebijakan berbasis sumber daya lainnya, lihat. Akses sumber daya lintas akun di IAM

Untuk melihat mana layanan lainnya yang mendukung kebijakan berbasis sumber daya, lihat AWS layanan yang bekerja dengan IAM. Untuk mempelajari lebih lanjut tentang kebijakan berbasis sumber daya, lihat Kebijakan berbasis identitas dan kebijakan berbasis sumber daya. Untuk mengetahui apakah prinsipal di akun di luar zona kepercayaan Anda (organisasi atau akun tepercaya) memiliki akses untuk mengambil peran Anda, lihat Apa itu IAM Access Analyzer? .

Batas izin IAM

Batas izin adalah fitur lanjutan tempat Anda menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas. IAM Saat Anda menetapkan batas izin untuk suatu entitas, entitas hanya dapat melakukan tindakan yang diizinkan oleh kedua kebijakan berbasis identitas dan batas izinnya. Kebijakan berbasis sumber daya yang menentukan pengguna atau peran sebagai prinsipal tidak dibatasi oleh batas izin. Namun, jika kebijakan berbasis sumber daya menentukan peran sebagai prinsipal, maka kebijakan tersebut dibatasi oleh batas izin. Penolakan eksplisit dalam salah satu kebijakan ini akan menggantikan pemberian izin. Untuk informasi lebih lanjut tentang batas izin, lihat Batas izin untuk entitas IAM.

Kebijakan kontrol layanan (SCPs)

AWS Organizations adalah layanan untuk mengelompokkan dan mengelola secara terpusat Akun AWS yang dimiliki bisnis Anda. Jika Anda mengaktifkan semua fitur dalam organisasi, Anda dapat menerapkan kebijakan kontrol layanan (SCPs) ke salah satu atau semua akun Anda. SCPsadalah JSON kebijakan yang menentukan izin maksimum untuk organisasi atau unit organisasi (OU). SCPMembatasi izin untuk entitas di akun anggota, termasuk masing-masing Pengguna root akun AWS. Penolakan eksplisit dalam salah satu kebijakan ini akan menggantikan pemberian izin.

Untuk informasi selengkapnya tentang Organizations danSCPs, lihat Kebijakan kontrol layanan di Panduan AWS Organizations Pengguna.

Daftar kontrol akses (ACLs)

Access control lists (ACLs) adalah kebijakan layanan yang memungkinkan Anda mengontrol prinsipal mana di akun lain yang dapat mengakses sumber daya. ACLstidak dapat digunakan untuk mengontrol akses untuk prinsipal dalam akun yang sama. ACLsmirip dengan kebijakan berbasis sumber daya, meskipun mereka adalah satu-satunya jenis kebijakan yang tidak menggunakan format dokumen kebijakan. JSON Amazon S3, AWS WAF, dan Amazon VPC adalah contoh layanan yang mendukung. ACLs Untuk mempelajari selengkapnyaACLs, lihat Ringkasan Daftar Kontrol Akses (ACL) di Panduan Pengembang Layanan Penyimpanan Sederhana Amazon.

Kebijakan sesi

Kebijakan sesi adalah kebijakan lanjutan yang Anda teruskan sebagai parameter saat Anda membuat sesi sementara secara terprogram untuk peran atau pengguna gabungan. Izin untuk sesi adalah persimpangan kebijakan berbasis identitas untuk IAM entitas (pengguna atau peran) yang digunakan untuk membuat sesi dan kebijakan sesi. Izin juga bisa datang dari kebijakan berbasis sumber daya. Penolakan secara tegas dalam salah satu kebijakan ini membatalkan izin.

Anda dapat membuat sesi peran dan meneruskan kebijakan sesi secara terprogram menggunakanAssumeRole,AssumeRoleWithSAML, atau AssumeRoleWithWebIdentity API operasi. Anda dapat meneruskan satu dokumen kebijakan sesi JSON inline menggunakan Policy parameter. Anda dapat menggunakan parameter PolicyArns untuk menentukan hingga 10 kebijakan sesi terkelola. Untuk informasi selengkapnya tentang cara membuat sesi peran, lihat Izin untuk kredensial keamanan sementara.

Saat Anda membuat sesi pengguna federasi, Anda menggunakan kunci akses IAM pengguna untuk memanggil operasi secara terprogram. GetFederationToken API Anda juga harus memberikan kebijakan sesi. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas dan kebijakan sesi. Untuk informasi selengkapnya tentang cara membuat sesi pengguna gabungan, lihat Meminta kredensi melalui pialang identitas khusus.

Kebijakan berbasis sumber daya dapat menentukan pengguna atau peran sebagai prinsipal. ARN Dalam hal ini, izin dari kebijakan berbasis sumber daya ditambahkan ke peran atau kebijakan berbasis identitas pengguna sebelum sesi dibuat. Kebijakan sesi membatasi total izin yang diberikan oleh kebijakan berbasis sumber daya dan kebijakan berbasis identitas. Izin sesi yang dihasilkan adalah persimpangan kebijakan sesi dan kebijakan berbasis sumber daya ditambah persimpangan kebijakan sesi dan kebijakan berbasis identitas.

Evaluasi kebijakan sesi dengan kebijakan berbasis sumber daya yang menentukan entitas ARN

Kebijakan berbasis sumber daya dapat menentukan sesi sebagai ARN prinsipal. Dalam hal ini, izin dari kebijakan berbasis sumber daya ditambahkan setelah sesi dibuat. Izin kebijakan berbasis sumber daya tidak terbatas oleh kebijakan sesi. Izin sesi yang dihasilkan mempunyai semua izin dari kebijakan berbasis sumber daya ditambah titik pertemuan antara kebijakan berbasis identitas dan kebijakan sesi.

Evaluasi kebijakan sesi dengan kebijakan berbasis sumber daya yang menentukan sesi ARN

Batas izin dapat mengatur izin maksimum untuk pengguna atau peran yang digunakan untuk membuat sebuah sesi. Dalam kasus ini, Izin sesi yang dihasilkan adalah titik pertemuan antara kebijakan kebijakan sesi, batas izin, dan kebijakan berbasis identitas. Namun, batas izin tidak membatasi izin yang diberikan oleh kebijakan berbasis sumber daya yang menentukan sesi yang dihasilkan. ARN

Evaluasi kebijakan sesi dengan batas izin

Kebijakan dan pengguna root

Pengguna root akun AWS Ini dipengaruhi oleh beberapa jenis kebijakan tetapi tidak yang lain. Anda tidak dapat melampirkan kebijakan berbasis identitas ke pengguna root, dan Anda tidak dapat menetapkan batas izin bagi pengguna root. Namun, Anda dapat menentukan pengguna root sebagai prinsipal dalam kebijakan berbasis sumber daya atau file. ACL Pengguna root masih menjadi anggota akun. Jika akun itu adalah anggota organisasi di AWS Organizations, pengguna root dipengaruhi oleh akun apa punSCPs.

Ikhtisar JSON kebijakan

Sebagian besar kebijakan disimpan AWS sebagai JSON dokumen. Kebijakan dan kebijakan berbasis identitas yang digunakan untuk menetapkan batas izin adalah dokumen JSON kebijakan yang Anda lampirkan ke pengguna atau peran. Kebijakan berbasis sumber daya adalah dokumen JSON kebijakan yang Anda lampirkan ke sumber daya. SCPsadalah dokumen JSON kebijakan dengan sintaks terbatas yang Anda lampirkan ke unit AWS Organizations organisasi (OU). ACLsjuga melekat pada sumber daya, tetapi Anda harus menggunakan sintaks yang berbeda. Kebijakan sesi adalah JSON kebijakan yang Anda berikan saat Anda mengambil peran atau sesi pengguna gabungan.

Anda tidak perlu memahami JSON sintaksnya. Anda dapat menggunakan editor visual AWS Management Console untuk membuat dan mengedit kebijakan yang dikelola pelanggan tanpa pernah menggunakanJSON. Namun, jika Anda menggunakan kebijakan sebaris untuk grup atau kebijakan kompleks, Anda tetap harus membuat dan mengedit kebijakan tersebut di JSON editor menggunakan konsol. Untuk informasi lebih lanjut tentang cara menggunakan editor visual, lihat Tentukan IAM izin khusus dengan kebijakan terkelola pelanggan dan Edit IAM kebijakan.

Saat Anda membuat atau mengedit JSON kebijakan, IAM dapat melakukan validasi kebijakan untuk membantu Anda membuat kebijakan yang efektif. IAMmengidentifikasi kesalahan JSON sintaks, sementara IAM Access Analyzer menyediakan pemeriksaan kebijakan tambahan dengan rekomendasi untuk membantu Anda menyempurnakan kebijakan lebih lanjut. Untuk mempelajari selengkapnya tentang validasi kebijakan, lihat Validasi kebijakan IAM. Untuk mempelajari selengkapnya tentang pemeriksaan kebijakan IAM Access Analyzer dan rekomendasi yang dapat ditindaklanjuti, lihat Validasi kebijakan IAMAccess Analyzer.

JSONstruktur dokumen kebijakan

Seperti yang diilustrasikan pada gambar berikut, dokumen JSON kebijakan mencakup elemen-elemen ini:

  • Informasi opsional untuk seluruh kebijakan di bagian atas dokumen

  • Satu atau lebih pernyataan individu

Setiap pernyataan mencakup informasi tentang satu izin. Jika kebijakan mencakup beberapa pernyataan, AWS terapkan logis OR di seluruh pernyataan saat mengevaluasinya. Jika beberapa kebijakan berlaku untuk permintaan, AWS terapkan logika OR di semua kebijakan tersebut saat mengevaluasinya.

JSONstruktur dokumen kebijakan

Informasi dalam pernyataan terkandung di dalam rangkaian elemen.

  • Version – Tentukan versi bahasa kebijakan yang ingin Anda gunakan. Kami menyarankan Anda menggunakan 2012-10-17 versi terbaru. Untuk informasi selengkapnya, silakan lihat IAMJSONelemen kebijakan: Version

  • Statement – Gunakan elemen kebijakan utama ini sebagai wadah untuk elemen berikut. Anda dapat menyertakan lebih dari satu pernyataan dalam kebijakan.

  • Sid (Opsional) – Sertakan ID pernyataan opsional untuk membedakan antara pernyataan Anda.

  • Effect – Gunakan Allow atau Deny untuk menunjukkan apakah kebijakan mengizinkan atau menolak akses.

  • Principal (Diwajibkan hanya dalam beberapa situasi) – Jika Anda membuat kebijakan berbasis sumber daya, Anda harus mengindikasikan akun, pengguna, peran, atau pengguna gabungan yang ingin Anda izinkan atau tolak aksesnya. Jika Anda membuat kebijakan IAM izin untuk dilampirkan ke pengguna atau peran, Anda tidak dapat menyertakan elemen ini. Prinsipal tersirat sebagai pengguna atau peran tersebut.

  • Action – Sertakan daftar tindakan yang diperbolehkan atau ditolak oleh kebijakan.

  • Resource(Diperlukan hanya dalam beberapa keadaan) — Jika Anda membuat kebijakan IAM izin, Anda harus menentukan daftar sumber daya yang diterapkan tindakan tersebut. Jika Anda membuat kebijakan berbasis sumber daya, elemen ini bersifat opsional. Jika Anda tidak menyertakan elemen ini, maka sumber daya yang berlaku adalah sumber daya yang terkait dengan kebijakan tersebut.

  • Condition (Opsional) – Tentukan keadaan di mana kebijakan memberikan izin.

Untuk mempelajari tentang ini dan elemen kebijakan yang lebih maju lainnya, lihat IAMJSONreferensi elemen kebijakan.

Beberapa pernyataan dan beberapa kebijakan

Jika Anda ingin menetapkan lebih dari satu izin untuk suatu entitas (pengguna atau peran), Anda dapat menggunakan beberapa pernyataan dalam satu kebijakan. Anda juga dapat melampirkan beberapa kebijakan. Jika Anda mencoba untuk menentukan beberapa izin dalam satu pernyataan, kebijakan Anda mungkin tidak memberikan akses yang Anda harapkan. Kami menyarankan Anda memecah kebijakan berdasarkan jenis sumber daya.

Karena ukuran kebijakan yang terbatas, mungkin perlu menggunakan beberapa kebijakan untuk izin yang lebih kompleks. Ini juga merupakan ide bagus untuk membuat pengelompokan fungsional izin dalam kebijakan pengelolaan pelanggan yang terpisah. Misalnya, Buat satu kebijakan untuk manajemen IAM pengguna, satu untuk manajemen mandiri, dan kebijakan lain untuk manajemen bucket S3. Terlepas dari kombinasi beberapa pernyataan dan beberapa kebijakan, AWS evaluasi kebijakan Anda dengan cara yang sama.

Misalnya, kebijakan berikut memiliki tiga pernyataan, yang masing-masing mendefinisikan satu set izin secara terpisah dalam satu akun. Pernyataan tersebut menjelaskan hal berikut:

  • Pernyataan pertama, dengan sebuah Sid (ID Pernyataan) dari FirstStatement, memungkinkan pengguna dengan kebijakan terlampir untuk mengubah kata sandi milik mereka. Elemen Resource dalam pernyataan ini adalah “*“ (yang berarti “semua sumber daya”). Namun dalam praktiknya, ChangePassword API operasi (atau change-password CLI perintah yang setara) hanya memengaruhi kata sandi untuk pengguna yang membuat permintaan.

  • Pernyataan kedua memungkinkan pengguna mencantumkan semua ember Amazon S3 di dalamnya. Akun AWS Elemen Resource dalam pernyataan ini adalah "*" (yang berarti “semua sumber daya”). Tetapi karena kebijakan tidak memberikan akses ke sumber daya di akun lain, pengguna hanya dapat mencantumkan bucket di akun mereka sendiri Akun AWS.

  • Pernyataan ketiga memungkinkan pengguna membuat daftar dan mengambil objek apa pun yang ada di bucket bernamaamzn-s3-demo-bucket-confidential-data, tetapi hanya jika pengguna diautentikasi dengan otentikasi multi-faktor (). MFA ConditionElemen dalam kebijakan memberlakukan MFA otentikasi.

    Saat pernyataan kebijakan memuat elemen Condition, pernyataan hanya berlaku saat elemen Condition dievaluasi menjadi benar. Dalam hal ini, Condition mengevaluasi ke true ketika pengguna MFA -otentikasi. Jika pengguna tidak MFA diautentikasi, ini Condition dievaluasi menjadi false. Dalam hal ini, pernyataan ketiga dalam kebijakan ini tidak berlaku dan pengguna tidak memiliki akses ke bucket amzn-s3-demo-bucket-confidential-data.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FirstStatement", "Effect": "Allow", "Action": ["iam:ChangePassword"], "Resource": "*" }, { "Sid": "SecondStatement", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Sid": "ThirdStatement", "Effect": "Allow", "Action": [ "s3:List*", "s3:Get*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-confidential-data", "arn:aws:s3:::amzn-s3-demo-bucket-confidential-data/*" ], "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}} } ] }

Contoh sintaks JSON kebijakan

Kebijakan berbasis identitas berikut mengizinkan prinsipal tersirat untuk mencantumkan satu bucket Amazon S3 dengan nama amzn-s3-demo-bucket:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" } }

Kebijakan berbasis sumber daya berikut dapat dilampirkan ke bucket Amazon S3 Kebijakan ini memungkinkan anggota tertentu Akun AWS untuk melakukan tindakan Amazon S3 apa pun dalam bucket yang diberi nama. amzn-s3-demo-bucket Hal ini mengizinkan tindakan apa pun yang dapat dilakukan pada bucket atau objek di dalamnya. (Karena kebijakan tersebut hanya memberikan kepercayaan ke akun, pengguna individu dalam akun tersebut harus tetap diberikan izin untuk tindakan Amazon S3 yang ditentukan.)

{ "Version": "2012-10-17", "Statement": [{ "Sid": "1", "Effect": "Allow", "Principal": {"AWS": ["arn:aws:iam::account-id:root"]}, "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }] }

Untuk melihat contoh kebijakan untuk skenario umum, lihat Contoh kebijakan berbasis identitas IAM.

Berikan hak akses paling rendah

Saat Anda membuat IAM kebijakan, ikuti saran keamanan standar untuk memberikan hak istimewa paling sedikit, atau hanya memberikan izin yang diperlukan untuk melakukan tugas. Tentukan apa yang perlu dilakukan pengguna dan peran dan kemudian buat kebijakan yang memungkinkan mereka hanya melakukan tugas-tugas tersebut.

Mulai dengan satu set izin minimum dan berikan izin tambahan sesuai kebutuhan. Melakukan hal tersebut lebih aman daripada memulai dengan izin yang terlalu fleksibel, lalu mencoba memperketatnya nanti.

Sebagai alternatif dari hak istimewa terkecil, Anda dapat menggunakan kebijakan atau kebijakan AWS terkelola dengan * izin wildcard untuk memulai kebijakan. Pertimbangkan risiko keamanan memberikan izin kepada kepala sekolah Anda lebih banyak daripada yang mereka butuhkan untuk melakukan pekerjaan mereka. Pantau prinsipal tersebut untuk mempelajari izin mana yang mereka gunakan. Kemudian tulis kebijakan hak istimewa paling sedikit.

IAMmenyediakan beberapa opsi untuk membantu Anda memperbaiki izin yang Anda berikan.

  • Memahami pengelompokan tingkat akses — Anda dapat menggunakan pengelompokan tingkat akses untuk memahami tingkat akses yang diberikan kebijakan. Tindakan kebijakan diklasifikasikan sebagai List, Read, Write, Permissions management, atau Tagging. Misalnya, Anda dapat memilih tindakan dari tingkat akses List dan Read untuk memberikan akses hanya-baca kepada pengguna Anda. Untuk mempelajari cara menggunakan ringkasan kebijakan untuk memahami izin tingkat akses, lihat Tingkat akses dalam ringkasan kebijakan.

  • Validasi kebijakan Anda — Anda dapat melakukan validasi kebijakan menggunakan IAM Access Analyzer saat membuat dan mengedit kebijakan. JSON Sebaiknya Anda meninjau dan memvalidasi semua kebijakan yang ada. IAMAccess Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan untuk memvalidasi kebijakan Anda. Ini menghasilkan peringatan keamanan ketika pernyataan dalam kebijakan Anda memungkinkan akses yang kita anggap terlalu permisif. Anda dapat menggunakan rekomendasi yang dapat ditindaklanjuti yang disediakan melalui peringatan keamanan saat Anda berupaya memberikan hak istimewa paling rendah. Untuk mempelajari selengkapnya tentang pemeriksaan kebijakan yang disediakan oleh IAM Access Analyzer, lihat Validasi kebijakan IAM Access Analyzer.

  • Buat kebijakan berdasarkan aktivitas akses — Untuk membantu Anda menyaring izin yang Anda berikan, Anda dapat membuat IAM kebijakan yang didasarkan pada aktivitas akses untuk IAM entitas (pengguna atau peran). IAMAccess Analyzer meninjau AWS CloudTrail log Anda dan menghasilkan templat kebijakan yang berisi izin yang telah digunakan oleh entitas dalam jangka waktu yang ditentukan. Anda dapat menggunakan templat untuk membuat kebijakan terkelola dengan izin berbutir halus, lalu melampirkannya ke entitas. IAM Dengan begitu, Anda hanya memberikan izin yang dibutuhkan pengguna atau peran untuk berinteraksi dengan AWS sumber daya untuk kasus penggunaan spesifik Anda. Untuk mempelajari selengkapnya, lihat Pembuatan kebijakan IAM Access Analyzer.

  • Gunakan informasi yang diakses terakhir - Fitur lain yang dapat membantu dengan hak istimewa paling sedikit adalah informasi yang diakses terakhir. Lihat informasi ini di tab Access Advisor di halaman detail IAM konsol untuk IAM pengguna, grup, peran, atau kebijakan. Informasi yang diakses terakhir juga mencakup informasi tentang tindakan yang terakhir diakses untuk beberapa layanan, seperti Amazon,EC2, LambdaIAM, dan Amazon S3. Jika Anda masuk menggunakan kredensi akun AWS Organizations manajemen, Anda dapat melihat informasi layanan yang terakhir diakses di AWS Organizationsbagian IAM konsol. Anda juga dapat menggunakan AWS CLI atau AWS API untuk mengambil laporan untuk informasi yang terakhir diakses untuk entitas atau kebijakan di IAM atau Organizations. Anda dapat menggunakan informasi ini untuk mengidentifikasi izin yang tidak perlu sehingga Anda dapat menyempurnakan kebijakan Anda atau IAM Organizations agar lebih mematuhi prinsip hak istimewa yang paling rendah. Untuk informasi selengkapnya, lihat Memperbaiki izin dalam AWS menggunakan informasi yang terakhir diakses.

  • Tinjau peristiwa akun di AWS CloudTrail — Untuk mengurangi izin lebih lanjut, Anda dapat melihat peristiwa akun Anda di Riwayat AWS CloudTrail acara. CloudTrail log peristiwa mencakup informasi peristiwa terperinci yang dapat Anda gunakan untuk mengurangi izin kebijakan. Log hanya mencakup tindakan dan sumber daya yang dibutuhkan IAM entitas Anda. Untuk informasi selengkapnya, lihat Melihat CloudTrail Acara di CloudTrail Konsol di Panduan AWS CloudTrail Pengguna.

Untuk informasi selengkapnya, lihat topik kebijakan berikut untuk layanan individual, yang memberikan contoh cara menulis kebijakan untuk sumber daya khusus layanan.