Kebijakan pemberian tag dan kontrol akses - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kebijakan pemberian tag dan kontrol akses

Anda juga dapat menggunakan kebijakan izin (bucket dan kebijakan pengguna) untuk mengelola izin terkait pemberian tag objek. Untuk tindakan kebijakan, lihat topik berikut:

Tag objek memungkinkan kontrol akses yang detail untuk mengelola izin. Anda dapat memberikan izin bersyarat berdasarkan tag objek. Amazon S3 mendukung kunci kondisi berikut yang dapat Anda gunakan untuk memberikan izin bersyarat berdasarkan tag objek:

  • s3:ExistingObjectTag/<tag-key> – Gunakan kunci kondisi ini untuk memverifikasi bahwa tag objek yang ada memiliki kunci dan nilai tag spesifik.

    catatan

    Saat memberikan izin untuk operasi PUT Object dan DELETE Object, kunci kondisi ini tidak didukung. Artinya, Anda tidak dapat membuat kebijakan memberikan atau menolak izin pengguna untuk menghapus atau menimpa objek berdasarkan tag yang ada.

  • s3:RequestObjectTagKeys – Gunakan kunci kondisi ini untuk membatasi kunci tag yang ingin Anda izinkan pada objek. Ini berguna saat menambahkan tag ke objek menggunakan permintaan objek PutObjectTagging dan PutObject, dan POST.

  • s3:RequestObjectTag/<tag-key> – Gunakan kunci kondisi ini untuk membatasi kunci dan nilai tag yang ingin Anda izinkan pada objek. Ini berguna saat menambahkan tag ke objek menggunakan permintaan PutObjectTagging dan PutObject, dan POST Bucket.

Untuk daftar lengkap kunci kondisi Amazon S3, lihat Contoh kebijakan bucket menggunakan tombol kondisi. Kebijakan izin berikut menggambarkan cara pemberian tag objek yang memungkinkan manajemen izin akses yang detail.

contoh 1: Mengizinkan pengguna untuk membaca hanya objek yang memiliki tag dan nilai kunci tertentu

Kebijakan izin berikut membatasi pengguna agar hanya membaca objek yang memiliki kunci dan nilai tag environment: production. Kebijakan ini menggunakan kunci kondisi s3:ExistingObjectTag untuk menentukan kunci tag dan nilai.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/JohnDoe" ] }, "Effect": "Allow", "Action": ["s3:GetObject", "s3:GetObjectVersion"], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": {"s3:ExistingObjectTag/environment": "production"} } } ] }
contoh 2: Batasi kunci tag objek mana yang dapat ditambahkan pengguna

Kebijakan izin berikut memberikan izin pengguna untuk melakukan tindakan s3:PutObjectTagging, yang memungkinkan pengguna menambahkan tag ke objek yang sudah ada. Kondisi ini menggunakan kunci kondisi s3:RequestObjectTagKeys untuk menentukan kunci tag yang diizinkan, seperti Owner atauCreationDate. Untuk informasi selengkapnya, lihat Membuat Syarat yang Menguji Beberapa Nilai Kunci dalam Panduan Pengguna IAM.

Kebijakan ini memastikan bahwa setiap kunci tag yang ditentukan dalam permintaan adalah kunci tag yang diotorisasi. Pengualifikasi ForAnyValue dalam kondisi tersebut memastikan setidaknya ada satu kunci yang ditentukan dalam permintaan.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:role/JohnDoe" ] }, "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": {"ForAnyValue:StringEquals": {"s3:RequestObjectTagKeys": [ "Owner", "CreationDate" ] } } } ] }
contoh 3: Memerlukan kunci dan nilai tag tertentu saat mengizinkan pengguna menambahkan tag objek

Kebijakan berikut memberikan izin pengguna untuk melakukan tindakan s3:PutObjectTagging, yang memungkinkan pengguna menambahkan tag ke objek yang sudah ada. Kondisi ini mengharuskan pengguna untuk menyertakan kunci tag tertentu (seperti Project) dengan set nilai keX.

{ "Version": "2012-10-17", "Statement": [ {"Principal":{"AWS":[ "arn:aws:iam::111122223333:user/JohnDoe" ] }, "Effect": "Allow", "Action": [ "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": {"StringEquals": {"s3:RequestObjectTag/Project": "X" } } } ] }