Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menonaktifkan ACLs semua bucket baru dan menegakkan Kepemilikan Objek
Kami menyarankan Anda menonaktifkan ACLs bucket Amazon S3 Anda. Anda dapat melakukannya dengan menerapkan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan S3 Object. Ketika Anda menerapkan pengaturan ini, ACLs dinonaktifkan dan Anda secara otomatis memiliki dan memiliki kontrol penuh atas semua objek di bucket Anda. Untuk mewajibkan semua bucket baru dibuat dengan ACLs dinonaktifkan, gunakan kebijakan AWS Identity and Access Management (IAM) atau kebijakan kontrol AWS Organizations layanan (SCPs), seperti yang dijelaskan di bagian berikutnya.
Untuk menerapkan kepemilikan objek untuk objek baru tanpa menonaktifkan ACLs, Anda dapat menerapkan pengaturan pilihan pemilik Bucket. Saat menerapkan pengaturan ini, kami sangat menyarankan agar Anda memperbarui kebijakan bucket untuk bucket-owner-full-control
mewajibkan ACL yang terekam untuk semua permintaan PUT
ke bucket Anda. Pastikan Anda juga memperbarui klien Anda untuk mengirim ACL terekam bucket-owner-full-control
ke bucket Anda dari akun lain.
Topik
Menonaktifkan ACLs semua bucket baru (pemilik bucket diberlakukan)
Contoh berikut kebijakan IAM menolak izin s3:CreateBucket
untuk pengguna atau peran IAM tertentu kecuali pengaturan yang diberlakukan pemilik Bucket diterapkan untuk Kepemilikan Objek. Pasangan kunci-nilai di dalam blok Condition
menentukan s3:x-amz-object-ownership
sebagai kunci, dan pengaturan BucketOwnerEnforced
sebagai nilainya. Dengan kata lain, pengguna IAM hanya dapat membuat bucket jika mereka menyetel pengaturan yang diterapkan pemilik Bucket untuk Kepemilikan Objek dan menonaktifkan. ACLs Anda juga dapat menggunakan kebijakan ini sebagai SCP batas untuk organisasi Anda. AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireBucketOwnerFullControl", "Action": "s3:CreateBucket", "Effect": "Deny", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-object-ownership": "BucketOwnerEnforced" } } } ] }
Memerlukan ACL bucket-owner-full-control kalengan untuk operasi Amazon PUT
S3 (lebih disukai pemilik ember)
Dengan pengaturan pilihan pemilik Bucket untuk Kepemilikan Objek, Anda, sebagai pemilik bucket, memiliki dan memiliki kendali penuh atas objek baru yang ditulis akun lain ke bucket Anda dengan ACL terekam bucket-owner-full-control
. Namun, jika akun lain menulis objek ke bucket Anda tanpa ACL terekambucket-owner-full-control
, penulis objek mempertahankan akses kontrol penuh. Anda, sebagai pemilik bucket, dapat menerapkan kebijakan bucket yang mengizinkan penulisan hanya jika mereka menentukan ACL terekam bucket-owner-full-control
.
catatan
Jika Anda telah ACLs menonaktifkan pengaturan yang diberlakukan pemilik Bucket, Anda, sebagai pemilik bucket, secara otomatis memiliki dan memiliki kendali penuh atas semua objek di bucket Anda. Anda tidak perlu menggunakan bagian ini untuk memperbarui kebijakan bucket guna menegakkan kepemilikan objek bagi pemilik bucket.
Kebijakan bucket berikut ini menentukan akun tersebut
dapat unggah objek ke 111122223333
hanya ketika objek ACL diatur ke amzn-s3-demo-bucket
bucket-owner-full-control
. Pastikan untuk mengganti
dengan akun Anda, dan 111122223333
dengan nama bucket Anda.amzn-s3-demo-bucket
{ "Version": "2012-10-17", "Statement": [ { "Sid": "
Only allow writes to my bucket with bucket owner full control
", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333
:user/ExampleUser
" ] }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
Berikut ini adalah contoh operasi penyalinan yang menyertakan bucket-owner-full-control
ACL terekam dengan menggunakan AWS Command Line Interface
(AWS CLI).
aws s3 cp
file.txt
s3://amzn-s3-demo-bucket
--acl bucket-owner-full-control
Setelah kebijakan bucket diberlakukan, jika klien tidak menyertakan ACL terekam bucket-owner-full-control
, maka operasi akan gagal, dan pengunggah menerima kesalahan berikut:
Terjadi kesalahan (AccessDenied) saat memanggil PutObject operasi: Akses Ditolak
.
catatan
Jika klien perlu mengakses objek setelah mengunggah, maka Anda harus memberikan izin tambahan untuk akun pengunggah. Untuk informasi tentang bagaimana memberikan akun akses ke sumber daya Anda, lihat Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3.