Elemen kebijakan IAM JSON: NotResource - 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.

Elemen kebijakan IAM JSON: NotResource

NotResource adalah elemen kebijakan tingkat lanjut yang secara eksplisit cocok dengan setiap sumber daya kecuali yang ditentukan. Menggunakan NotResource dapat menghasilkan kebijakan yang lebih pendek dengan mencantumkan hanya beberapa sumber yang seharusnya tidak sesuai, daripada menyertakan daftar panjang sumber daya yang sesuai. Ini khususnya berguna untuk kebijakan yang menerapkan satu layanan AWS .

Misalnya, bayangkan Anda memiliki grup bernama HRPayroll. Anggota tidak HRPayroll boleh mengakses sumber daya Amazon S3 apa pun kecuali Payroll folder di HRBucket bucket. Kebijakan berikut secara jelas menolak akses ke semua sumber daya Amazon S3 selain sumber daya yang tercantum. Namun demikian, harap diperhatikan bahwa kebijakan ini tidak memberikan akses ke sumber daya apa pun kepada pengguna.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "s3:*", "NotResource": [ "arn:aws:s3:::HRBucket/Payroll", "arn:aws:s3:::HRBucket/Payroll/*" ] } }

Biasanya, untuk secara eksplisit menolak akses ke sumber daya yang akan Anda tuliskan kebijakan yang menggunakan "Effect":"Deny" dan yang menyertakan elemen Resource yang mencantumkan setiap folder secara terpisah. Namun, dalam hal ini, setiap kali Anda menambahkan folder keHRBucket, atau menambahkan sumber daya ke Amazon S3 yang tidak boleh diakses, Anda harus menambahkan namanya ke daftar di. Resource Jika Anda menggunakan elemen NotResource sebagai gantinya, akses pengguna secara otomatis ditolak ke folder baru kecuali Anda menambahkan nama folder untuk elemen NotResource.

Saat menggunakan NotResource, Anda harus ingat bahwa sumber daya yang ditentukan dalam elemen ini hanya tindakan yang terbatas. Hal ini, pada gilirannya, membatasi semua sumber daya yang akan berlaku untuk tindakan tersebut. Dalam contoh di atas, kebijakan hanya memengaruhi tindakan Amazon S3 dan karena itu hanya sumber daya Amazon S3. Jika tindakan tersebut juga mencakup tindakan Amazon EC2, maka kebijakan ini tidak akan menolak akses ke sumber daya EC2. Untuk mempelajari tindakan dalam layanan yang memungkinkan menentukan ARN sumber daya, lihat Tindakan, Sumber Daya, dan Kunci AWS Kondisi untuk Layanan.

NotResource dengan elemen lain

Jangan pernah menggunakan elemen "Effect": "Allow", "Action": "*", dan "NotResource": "arn:aws:s3:::HRBucket" secara bersama-sama. Pernyataan ini sangat berbahaya, karena memungkinkan semua tindakan masuk AWS pada semua sumber daya kecuali bucket HRBucket S3. Ini bahkan memungkinkan pengguna menambahkan kebijakan yang memungkinkan mereka mengakses HRBucket. Jangan lakukan ini.

Hati-hati saat menggunakan elemen NotResource dan "Effect": "Allow" dalam pernyataan yang sama atau dalam pernyataan yang berbeda dalam kebijakan. NotResource memungkinkan semua layanan dan sumber daya yang tidak tercantum secara eksplist, dan dapat mengakibatkan pemberian izin kepada pengguna lebih dari yang Anda inginkan. Menggunakan elemen NotResource dan "Effect": "Deny" dalam pernyataan yang sama menolak layanan dan sumber daya yang secara tidak eksplisit tercantum.