IAMJSONelemen kebijakan: Resource - 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.

IAMJSONelemen kebijakan: Resource

ResourceElemen dalam pernyataan IAM kebijakan mendefinisikan objek atau objek yang berlaku untuk pernyataan tersebut. Pernyataan harus menyertakan elemen Resource atau NotResource.

Anda menentukan sumber daya menggunakan Amazon Resource Name (ARN). Format ARN tergantung pada Layanan AWS dan sumber daya spesifik yang Anda maksud. Meskipun ARN formatnya bervariasi, Anda selalu menggunakan ARN untuk mengidentifikasi sumber daya. Untuk informasi selengkapnya tentang formatARNs, lihatIAM ARNs. Untuk informasi tentang cara menentukan sumber daya, lihat dokumentasi untuk layanan yang ingin Anda tulis pernyataan.

catatan

Beberapa Layanan AWS tidak memungkinkan Anda untuk menentukan tindakan untuk sumber daya individu. Dalam kasus ini, tindakan apa pun yang Anda cantumkan di NotAction elemen Action atau berlaku untuk semua sumber daya dalam layanan tersebut. Ketika ini terjadi, Anda menggunakan karakter wildcard (*) dalam Resource elemen.

Contoh berikut mengacu pada SQS antrian Amazon tertentu.

"Resource": "arn:aws:sqs:us-east-2:account-ID-without-hyphens:queue1"

Contoh berikut mengacu pada IAM pengguna bernama Bob dalam file Akun AWS.

catatan

Dalam Resource elemen, nama IAM pengguna peka huruf besar/kecil.

"Resource": "arn:aws:iam::account-ID-without-hyphens:user/Bob"

Menggunakan wildcard di sumber daya ARNs

Anda dapat menggunakan karakter wildcard (*dan?) dalam segmen individu ARN (bagian yang dipisahkan oleh titik dua) untuk mewakili:

  • Setiap kombinasi karakter (*)

  • Setiap karakter tunggal (?)

Anda dapat menggunakan beberapa * atau ? karakter di setiap segmen. Jika * wildcard adalah karakter terakhir dari ARN segmen sumber daya, itu dapat diperluas untuk mencocokkan di luar batas titik dua. Kami menyarankan Anda menggunakan wildcard (*dan?) dalam ARN segmen yang dipisahkan oleh titik dua.

catatan

Anda tidak dapat menggunakan wildcard di segmen layanan yang mengidentifikasi produk. AWS Untuk informasi selengkapnya tentang ARN segmen, lihat Identifikasi AWS sumber daya dengan Nama Sumber Daya Amazon (ARNs)

Contoh berikut mengacu pada semua IAM pengguna yang jalurnya/accounting.

"Resource": "arn:aws:iam::account-ID-without-hyphens:user/accounting/*"

Contoh berikut mengacu pada semua item dalam bucket Amazon S3 spesifik.

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"

Karakter asterisk (*) dapat diperluas untuk menggantikan segala sesuatu di dalam segmen, termasuk karakter seperti garis miring maju (/) yang mungkin tampak sebagai pembatas dalam namespace layanan tertentu. Misalnya, pertimbangkan Amazon S3 berikut ARN sebagai logika ekspansi wildcard yang sama berlaku untuk semua layanan.

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*/test/*"

Wildcard ARN berlaku untuk semua objek berikut di bucket, tidak hanya objek pertama yang terdaftar.

amzn-s3-demo-bucket/1/test/object.jpg amzn-s3-demo-bucket/1/2/test/object.jpg amzn-s3-demo-bucket/1/2/test/3/object.jpg amzn-s3-demo-bucket/1/2/3/test/4/object.jpg amzn-s3-demo-bucket/1///test///object.jpg amzn-s3-demo-bucket/1/test/.jpg amzn-s3-demo-bucket//test/object.jpg amzn-s3-demo-bucket/1/test/

Pertimbangkan dua objek terakhir dalam daftar sebelumnya. Nama objek Amazon S3 dapat dimulai atau diakhiri dengan karakter pembatas garis miring () pembatas konvensional. / Sementara / bekerja sebagai pembatas, tidak ada signifikansi khusus ketika karakter ini digunakan dalam sumber daya. ARN Hal ini diperlakukan sama dengan karakter valid lainnya. Tidak ARN akan cocok dengan objek berikut:

amzn-s3-demo-bucket/1-test/object.jpg amzn-s3-demo-bucket/test/object.jpg amzn-s3-demo-bucket/1/2/test.jpg

Menentukan beberapa sumber daya

Anda dapat menentukan beberapa sumber daya dalam Resource elemen dengan menggunakan arrayARNs. Contoh berikut mengacu pada dua tabel DynamoDB.

"Resource": [ "arn:aws:dynamodb:us-east-2:account-ID-without-hyphens:table/books_table", "arn:aws:dynamodb:us-east-2:account-ID-without-hyphens:table/magazines_table" ]

Menggunakan variabel kebijakan dalam sumber daya ARNs

Dalam Resource elemen, Anda dapat menggunakan variabel JSON kebijakan di bagian ARN yang mengidentifikasi sumber daya tertentu (yaitu, di bagian belakangARN). Misalnya, Anda dapat menggunakan kunci {aws:username} sebagai bagian dari sumber daya ARN untuk menunjukkan bahwa nama pengguna saat ini harus disertakan sebagai bagian dari nama sumber daya. Contoh berikut menunjukkan bagaimana Anda dapat menggunakan tombol {aws:username} di elemen Resource. Kebijakan ini mengizinkan akses ke tabel Amazon DynamoDB yang cocok dengan nama pengguna saat ini.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:account-id:table/${aws:username}" } }

Untuk informasi selengkapnya tentang variabel JSON kebijakan, lihatElemen kebijakan IAM: Variabel dan tanda.