Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan Masalah
Saat Anda menerapkan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan S3 Object, daftar kontrol akses (ACL) dinonaktifkan dan Anda, sebagai pemilik bucket, secara otomatis memiliki semua objek di bucket Anda. ACL tidak lagi memengaruhi izin untuk objek di bucket Anda. Anda dapat menggunakan kebijakan untuk memberikan izin. Semua permintaan PUT
S3 harus menentukan ACL terekam bucket-owner-full-control
atau tidak menentukan ACL sama sekali, atau permintaan ini akan gagal. Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan ACL untuk bucket Anda.
Jika ACL yang tidak valid ditentukan atau izin ACL bucket memberikan akses di luar Akun AWS Anda, Anda mungkin melihat respons kesalahan berikut.
AccessControlListNotSupported
Setelah Anda menerapkan pengaturan diberlakukan pemilik Bucket untuk Kepemilikan Objek, ACL akan dinonaktifkan. Permintaan untuk mengatur ACL atau memperbarui ACL gagal dengan 400
kesalahan dan mengembalikan kode AccessControlListNotSupported
kesalahan. Permintaan untuk membaca ACL masih didukung. Permintaan untuk membaca ACL selalu menampilkan respons yang menunjukkan kontrol penuh untuk pemilik bucket. Dalam operasi PUT
Anda, Anda harus menentukan ACL kontrol penuh pemilik bucket atau tidak menentukan ACL. Jika tidak, operasi PUT
Anda gagal.
Contoh put-object
AWS CLI perintah berikut termasuk ACL public-read
kalengan.
aws s3api put-object --bucket
DOC-EXAMPLE-BUCKET
--keyobject-key-name
--bodydoc-example-body
--acl public-read
Jika bucket menggunakan pengaturan yang diberlakukan pemilik bucket untuk menonaktifkan ACL, maka operasi ini gagal, dan pengunggah menerima pesan galat berikut:
Terjadi kesalahan (AccessControlListNotSupported) saat memanggil PutObject operasi: Bucket tidak mengizinkan ACL
InvalidBucketAclWithObjectOwnership
Jika Anda ingin menerapkan pengaturan yang diberlakukan pemilik Bucket untuk menonaktifkan ACL, ACL bucket Anda harus memberikan kontrol penuh hanya kepada pemilik bucket. Bucket ACL Anda tidak dapat memberikan akses ke grup eksternal Akun AWS atau grup lainnya. Misalnya, jika CreateBucket
permintaan Anda menetapkan diberlakukan pemilik Bucket dan menentukan ACL bucket yang menyediakan akses ke eksternal Akun AWS, permintaan Anda gagal dengan 400
kesalahan dan mengembalikan kode kesalahan. InvalidBucketAclWithObjectOwnership
Demikian pula, jika permintaan PutBucketOwnershipControls
Anda menetapkan pemilik Bucket yang diberlakukan pada bucket yang memiliki bucket ACL yang memberikan izin kepada orang lain, permintaan tersebut gagal.
contoh : Bucket ACL yang ada memberikan akses baca publik
Misalnya, jika ACL bucket yang ada memberikan akses baca publik, Anda tidak dapat menerapkan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek hingga Anda memigrasikan izin ACL ini ke kebijakan bucket dan mengatur ulang ACL bucket Anda ke ACL pribadi default. Untuk informasi selengkapnya, lihat Prasyarat untuk menonaktifkan ACL.
Contoh bucket ACL ini memberikan akses baca publik:
{ "Owner": { "ID": "
852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
put-bucket-ownership-controls
AWS CLI Perintah contoh berikut menerapkan setelan diberlakukan pemilik Bucket untuk Kepemilikan Objek:
aws s3api put-bucket-ownership-controls --bucket
DOC-EXAMPLE-BUCKET
--ownership-controls Rules=[{ObjectOwnership=BucketOwnerEnforced}]
Karena bucket ACL memberikan akses baca publik, permintaan gagal dan mengembalikan kode kesalahan berikut:
Terjadi kesalahan (InvalidBucketAclWithObjectOwnership) saat memanggil PutBucketOwnershipControls operasi: Bucket tidak dapat mengatur ACL dengan ObjectOwnership pengaturan BucketOwnerEnforced