Kondisi, Wildcard, dan Variabel Kebijakan
Sesuaikan akses secara mendetail dengan kunci konteks dan nilai dinamis.
Kondisi, Wildcard, dan Variabel Kebijakan adalah pelajaran AWS Security Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Security Academy mencakup 4 pelajaran total.
Menyempurnakan Akses
Selain tindakan dan sumber daya, IAM menyediakan alat yang ampuh untuk membuat kebijakan menjadi tepat dan dinamis: kondisi, karakter pengganti, dan variabel kebijakan. Dengan menguasainya, Anda dapat memberikan akses yang benar-benar diperlukan dalam keadaan yang benar-benar tepat, yang merupakan inti dari hak akses minimum dan tema yang sering muncul dalam ujian.
Elemen Condition
Blok Condition berisi satu atau beberapa pengujian yang semuanya harus benar agar pernyataan berlaku. Setiap pengujian memasangkan sebuah operator dengan kunci kondisi dan nilai, misalnya StringEquals pada aws:PrincipalTag. Beberapa kunci dalam satu blok digabungkan dengan AND; beberapa nilai untuk satu kunci digabungkan dengan OR.
Kunci Condition yang Umum
Kunci kondisi global sering muncul dalam ujian:
- aws:SourceIp — membatasi berdasarkan rentang IP pemanggil.
- aws:SecureTransport — mewajibkan TLS.
- aws:MultiFactorAuthPresent — mewajibkan MFA.
- aws:PrincipalOrgID — membatasi ke organisasi Anda.
Kunci khusus layanan (seperti s3:prefix) memberikan kendali yang lebih terperinci.
Mewajibkan Enkripsi Saat Transit
Pola klasik menolak akses kecuali permintaan menggunakan TLS. Kondisi dalam kebijakan bucket ini memblokir panggilan non-HTTPS apa pun, sehingga data saat transit selalu terenkripsi. Ujian sering menggunakan pola ini sebagai jawaban untuk "mewajibkan enkripsi saat transit untuk S3".
"Condition": {
"Bool": { "aws:SecureTransport": "false" }
}Operator Condition
Operator menentukan cara nilai dibandingkan: StringEquals, StringLike (mendukung karakter pengganti), IpAddress, DateGreaterThan, Bool, dan Null, serta operator lainnya. Menambahkan IfExists ke operator membuatnya berhasil saat kunci tidak ada. Memilih operator yang tepat sangat penting untuk mendapatkan logika yang diinginkan.
Karakter Pengganti dalam Tindakan
Karakter pengganti (* untuk urutan apa pun, ? untuk satu karakter) membuat kebijakan menjadi ringkas, tetapi dapat memberikan izin berlebihan. s3:Get* mencakup semua operasi bergaya baca; s3:* mencakup semua hal di S3. Gunakan karakter pengganti paling terbatas yang memenuhi kebutuhan, dan waspadai karakter pengganti yang luas dalam kebijakan apa pun yang Anda tinjau.
Karakter Pengganti dalam Sumber Daya
ARN sumber daya juga menerima karakter pengganti, misalnya arn:aws:s3:::logs/2024/* untuk membatasi cakupan ke satu awalan. Dengan demikian, kebijakan dapat menargetkan folder atau pola tanpa mencantumkan setiap objek. Namun, Resource yang hanya berisi "*" memberikan jangkauan ke seluruh akun, jadi selalu pertanyakan apakah cakupan seluas itu benar-benar diperlukan.
Variabel Kebijakan
Variabel kebijakan menyisipkan konteks permintaan saat evaluasi menggunakan sintaks ${...}. Variabel yang paling berguna adalah ${aws:username}, yang memungkinkan satu kebijakan memberikan akses kepada setiap pengguna hanya ke sumber dayanya sendiri. Variabel membuat satu kebijakan yang dapat digunakan ulang berperilaku berbeda untuk setiap prinsipal, sehingga penerapan hak akses minimum dapat dilakukan secara elegan dan berskala.
Contoh Sumber Daya per Pengguna
Pernyataan ini memungkinkan setiap pengguna hanya mengelola objek di bawah folder yang diberi nama sesuai nama pengguna mereka, sebuah pola satu kebijakan untuk semua orang yang sangat ampuh.
"Resource": "arn:aws:s3:::team-bucket/${aws:username}/*"Akses Berbasis Tag (ABAC)
Attribute-Based Access Control (ABAC) menggunakan tag dalam kondisi, dengan membandingkan tag prinsipal (aws:PrincipalTag) dengan tag sumber daya (aws:ResourceTag). Jika keduanya cocok, akses diberikan. ABAC memiliki skalabilitas yang sangat baik: Anda memberikan akses berdasarkan tag, bukan menulis kebijakan baru untuk setiap proyek, sebuah praktik terbaik modern yang ditekankan dalam ujian.
Menggabungkan Semuanya
Gabungkan alat-alat ini secara sengaja: gunakan kondisi untuk mengendalikan akses berdasarkan MFA, IP, TLS, atau keanggotaan organisasi; gunakan karakter pengganti secara hemat dan terbatas; gunakan variabel kebijakan dan tag untuk hak akses minimum yang dapat diskalakan bagi setiap prinsipal. Secara bersama-sama, semuanya memungkinkan satu kebijakan yang dirancang dengan baik untuk memberlakukan akses yang tepat dan sadar konteks pada banyak identitas dan sumber daya.
Pemeriksaan Singkat
Uji kondisi dan variabel.
Rangkuman
Kondisi mengendalikan pernyataan berdasarkan kunci konteks (aws:SourceIp, aws:SecureTransport, aws:MultiFactorAuthPresent, aws:PrincipalOrgID) menggunakan operator seperti StringLike dan Bool. Karakter pengganti (* dan ?) membuat kebijakan tetap ringkas, tetapi dapat memberikan izin berlebihan. Variabel kebijakan seperti ${aws:username} dan ABAC berbasis tag memberikan hak akses minimum yang dapat diskalakan bagi setiap prinsipal.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Kondisi, Wildcard, dan Variabel Kebijakan” gratis?
Ya — teks lengkap “Kondisi, Wildcard, dan Variabel Kebijakan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Security Academy, upgrade ke CoddyKit PRO. Kursus AWS Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Kondisi, Wildcard, dan Variabel Kebijakan”?
Sesuaikan akses secara mendetail dengan kunci konteks dan nilai dinamis. Kamu berlatih AWS Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AWS Security Academy?
Tidak diperlukan pengalaman sebelumnya. AWS Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Kondisi, Wildcard, dan Variabel Kebijakan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Security Academy ini?
Ya. Setiap pelajaran AWS Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Anatomi Dokumen Kebijakan IAM
- Kebijakan Berbasis Identitas dan Berbasis Sumber Daya
- Alur Keputusan Evaluasi Kebijakan
- Kondisi, Wildcard, dan Variabel Kebijakan