Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda

Mode fokus
Mengontrol kepemilikan objek dan menonaktifkan bucket ACLs Anda - Amazon Simple Storage Service

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

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

S3 Object Ownership adalah setelan tingkat ember Amazon S3 yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan daftar kontrol akses (). ACLs Secara default, Kepemilikan Objek disetel ke setelan diberlakukan pemilik Bucket dan semuanya ACLs dinonaktifkan. Saat ACLs dinonaktifkan, pemilik bucket memiliki semua objek di bucket dan mengelola akses ke data secara eksklusif menggunakan kebijakan manajemen akses.

Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan ACLs, dan kami menyarankan Anda tetap ACLs dinonaktifkan kecuali dalam keadaan yang tidak biasa di mana Anda harus mengontrol akses untuk setiap objek secara individual. Dengan ACLs dinonaktifkan, Anda dapat menggunakan kebijakan untuk mengontrol akses ke setiap objek di bucket dengan lebih mudah, terlepas dari siapa yang mengunggah objek di bucket Anda.

Object Ownership memiliki tiga pengaturan yang dapat Anda gunakan untuk mengontrol kepemilikan objek yang diunggah ke bucket Anda dan untuk menonaktifkan atau mengaktifkan ACLs:

ACLs dinonaktifkan
  • Pemilik bucket diberlakukan (default) — ACLs dinonaktifkan, dan pemilik bucket secara otomatis memiliki dan memiliki kontrol penuh atas setiap objek di bucket. ACLs tidak lagi memengaruhi izin ke data di bucket S3. Bucket tersebut menggunakan kebijakan untuk menentukan kontrol akses.

ACLs diaktifkan
  • Pemilik bucket yang dipilih—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL bucket-owner-full-control yang dibatasi.

  • Penulis objek — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui. ACLs

Untuk sebagian besar kasus penggunaan modern di S3, sebaiknya Anda tetap ACLs dinonaktifkan dengan menerapkan pengaturan yang diberlakukan oleh pemilik Bucket dan menggunakan kebijakan bucket Anda untuk berbagi data dengan pengguna di luar akun Anda sesuai kebutuhan. Pendekatan ini menyederhanakan manajemen izin. Anda dapat menonaktifkan ACLs pada bucket yang baru dibuat dan yang sudah ada. Untuk bucket yang baru dibuat, dinonaktifkan ACLs secara default. Dalam kasus bucket yang sudah ada yang sudah memiliki objek di dalamnya, setelah Anda menonaktifkan ACLs, objek dan bucket ACLs tidak lagi menjadi bagian dari evaluasi akses, dan akses diberikan atau ditolak berdasarkan kebijakan. Untuk bucket yang ada, Anda dapat mengaktifkan kembali ACLs kapan saja setelah menonaktifkannya, dan bucket serta objek ACLs yang sudah ada sebelumnya dipulihkan.

Sebelum menonaktifkan ACLs, kami sarankan Anda meninjau kebijakan bucket untuk memastikan kebijakan tersebut mencakup semua cara yang ingin Anda berikan akses ke bucket di luar akun Anda. Setelah Anda menonaktifkan ACLs, bucket Anda hanya menerima PUT permintaan yang tidak menentukan ACL atau PUT permintaan dengan kontrol penuh pemilik bucket ACLs, misalnya, ACL bucket-owner-full-control kalengan atau bentuk setara ACL ini yang dinyatakan dalam XHTML. Aplikasi yang ada yang mendukung kontrol penuh pemilik bucket ACLs tidak akan berdampak. PUTpermintaan yang berisi lainnya ACLs (misalnya, hibah khusus untuk tertentu Akun AWS) gagal dan mengembalikan 400 kesalahan dengan kode AccessControlListNotSupported kesalahan.

Sebaliknya, ember dengan pengaturan pilihan pemilik Bucket terus menerima dan menghormati ember dan objek ACLs. Dengan pengaturan ini, objek baru yang ditulis dengan ACL terekam bucket-owner-full-control secara otomatis dimiliki oleh pemilik bucket daripada penulis objek. Semua perilaku ACL lainnya tetap sama. Agar semua operasi PUT Amazon S3 menyertakan ACL bucket-owner-full-control yang terekam, Anda dapat menambahkan kebijakan bucket yang hanya mengizinkan unggahan objek menggunakan ACL ini.

Untuk melihat pengaturan Kepemilikan Objek yang diterapkan ke bucket, Anda dapat menggunakan metrik Lensa Penyimpanan Amazon S3. Lensa Penyimpanan S3 adalah fitur analisis penyimpanan cloud yang dapat Anda gunakan untuk mendapatkan visibilitas seluruh organisasi ke dalam penggunaan dan aktivitas penyimpanan objek. Untuk informasi lebih lanjut, lihat Menggunakan Lensa Penyimpanan S3 untuk menemukan pengaturan Kepemilikan Objek.

catatan

Untuk informasi selengkapnya tentang menggunakan kelas penyimpanan Amazon S3 Express One Zone dengan bucket direktori, lihat S3 Express One Zone dan Bekerja dengan bucket direktori.

Pengaturan Kepemilikan Objek

Tabel ini menunjukkan dampak yang dimiliki setiap setelan Kepemilikan Objek pada ACLs, objek, kepemilikan objek, dan unggahan objek.

Pengaturan Berlaku untuk Efek pada kepemilikan objek Efek pada ACLs Unggahan diterima
Pemilik bucket diberlakukan (default) Semua objek baru dan yang sudah ada Pemilik bucket memiliki setiap objek.

ACLs dinonaktifkan dan tidak lagi memengaruhi izin akses ke bucket Anda. Permintaan untuk mengatur atau memperbarui ACLs gagal. Namun, permintaan untuk membaca ACLs didukung.

Pemilik bucket memiliki kepemilikan dan kontrol penuh.

Penulis objek tidak lagi memiliki kepemilikan dan kontrol penuh.

Unggahan dengan kontrol penuh pemilik bucket ACLs atau unggahan yang tidak menentukan ACL
bucket lebih disukai pemilik bucket Objek baru Jika unggahan objek menyertakan ACL bucket-owner-full-control terekam, pemilik bucket memiliki objek tersebut.

Objek yang diunggah dengan ACLs yang lain dimiliki oleh akun penulisan.

ACLs dapat diperbarui dan dapat memberikan izin.

Jika unggahan objek menyertakan ACL bucket-owner-full-control terekam, pemilik bucket memiliki akses kontrol penuh, dan penulis objek tidak lagi memiliki akses kontrol penuh.

Semua unggahan
Penulis objek Objek baru Penulis objek memiliki objek.

ACLs dapat diperbarui dan dapat memberikan izin.

Penulis objek memiliki akses kontrol penuh.

Semua unggahan

Perubahan diperkenalkan dengan menonaktifkan ACLs

Ketika pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek ACLs diterapkan, akan dinonaktifkan dan Anda secara otomatis memiliki dan mengambil kendali penuh atas setiap objek di bucket tanpa mengambil tindakan tambahan apa pun. Pemilik bucket diberlakukan adalah pengaturan default untuk semua bucket yang baru dibuat. Setelah pengaturan diberlakukan pemilik Bucket diterapkan, Anda akan melihat tiga perubahan:

Diagram yang menunjukkan apa yang terjadi ketika Anda menerapkan pengaturan yang diberlakukan pemilik Bucket untuk menonaktifkan ACLs.

Jika Anda menggunakan Pembuatan Penentuan Versi S3, pemilik bucket memiliki dan memiliki kontrol penuh atas semua versi objek di bucket Anda. Menerapkan pengaturan yang diberlakukan pemilik Bucket tidak akan menambahkan versi baru objek.

Objek baru dapat diunggah ke bucket Anda hanya jika mereka menggunakan kontrol penuh pemilik bucket ACLs atau tidak menentukan ACL. Unggahan objek gagal jika mereka menentukan ACL lainnya. Untuk informasi selengkapnya, lihat Pemecahan Masalah.

Karena contoh PutObject operasi berikut menggunakan AWS Command Line Interface (AWS CLI) menyertakan ACL bucket-owner-full-control kalengan, objek dapat diunggah ke bucket dengan dinonaktifkan. ACLs

aws s3api put-object --bucket amzn-s3-demo-bucket --key key-name --body path-to-file --acl bucket-owner-full-control

Karena PutObject operasi berikut tidak menentukan ACL, operasi ini juga berhasil untuk bucket dengan dinonaktifkan. ACLs

aws s3api put-object --bucket amzn-s3-demo-bucket --key key-name --body path-to-file
catatan

Jika orang lain Akun AWS memerlukan akses ke objek setelah mengunggah, Anda harus memberikan izin tambahan ke akun tersebut melalui kebijakan bucket. Untuk informasi selengkapnya, lihat Panduan yang menggunakan kebijakan untuk mengelola akses ke sumber daya Amazon S3.

Mengaktifkan kembali ACLs

Anda dapat mengaktifkan kembali ACLs dengan mengubah dari setelan yang diberlakukan pemilik Bucket ke setelan Kepemilikan Objek lain kapan saja. Jika Anda menggunakan objek ACLs untuk manajemen izin sebelum menerapkan setelan diberlakukan pemilik Bucket dan Anda tidak memigrasikan izin ACL objek ini ke kebijakan bucket, setelah Anda mengaktifkan kembali ACLs, izin ini akan dipulihkan. Selain itu, objek yang ditulis ke bucket saat pengaturan yang diberlakukan pemilik Bucket diterapkan masih dimiliki oleh pemilik bucket.

Misalnya, jika Anda mengubah dari pengaturan yang diberlakukan pemilik Bucket kembali ke pengaturan Object writer, Anda, sebagai pemilik bucket, tidak lagi memiliki dan memiliki kontrol penuh atas objek yang sebelumnya dimiliki oleh orang lain Akun AWS. Sebaliknya, akun pengunggahan kembali memiliki objek-objek ini. Objek yang dimiliki oleh akun lain digunakan ACLs untuk izin, sehingga Anda tidak dapat menggunakan kebijakan untuk memberikan izin ke objek tersebut. Namun, Anda, sebagai pemilik bucket, masih memiliki objek apa pun yang ditulis ke bucket saat pengaturan yang diberlakukan oleh pemilik Bucket diterapkan. Objek ini tidak dimiliki oleh penulis objek, bahkan jika Anda mengaktifkan kembali ACLs.

Untuk petunjuk tentang mengaktifkan dan mengelola ACLs menggunakan AWS Management Console, AWS Command Line Interface (CLI), REST API, AWS SDKs atau, lihat. Mengkonfigurasi ACLs

Prasyarat untuk menonaktifkan ACLs

Sebelum Anda menonaktifkan ACLs bucket yang sudah ada, selesaikan prasyarat berikut.

Tinjau bucket dan objek ACLs dan migrasi izin ACL

Saat Anda menonaktifkan ACLs, izin yang diberikan oleh bucket dan objek ACLs tidak lagi memengaruhi akses. Sebelum menonaktifkan ACLs, tinjau bucket dan objek Anda ACLs.

Jika bucket Anda ACLs memberikan izin baca atau tulis kepada orang lain di luar akun, Anda harus memigrasikan izin ini ke kebijakan bucket sebelum dapat menerapkan pengaturan yang diberlakukan pemilik Bucket. Jika Anda tidak memigrasikan bucket ACLs yang memberikan akses baca atau tulis di luar akun, permintaan Anda untuk menerapkan setelan yang diberlakukan pemilik Bucket gagal dan mengembalikan InvalidBucketAclWithObjectOwnershipkode kesalahan.

Misalnya, jika Anda ingin menonaktifkan ACLs bucket yang menerima log akses server, Anda harus memigrasikan izin ACL bucket untuk grup pengiriman log S3 ke prinsipal layanan logging dalam kebijakan bucket. Untuk informasi selengkapnya, lihat Berikan akses ke grup pengiriman log S3 untuk pencatatan akses server.

Jika Anda ingin penulis objek mempertahankan kontrol penuh dari objek yang mereka unggah, penulis objek adalah pengaturan Kepemilikan Objek terbaik untuk kasus penggunaan Anda. Jika Anda ingin mengontrol akses pada tingkat objek individual, pemilik bucket lebih disukai adalah pilihan terbaik. Kasus penggunaan ini jarang terjadi.

Untuk meninjau ACLs dan memigrasikan izin ACL ke kebijakan bucket, lihat. Prasyarat untuk menonaktifkan ACLs

Identifikasi permintaan yang memerlukan ACL untuk otorisasi

Untuk mengidentifikasi permintaan Amazon S3 yang diperlukan ACLs untuk otorisasi, Anda dapat menggunakan aclRequired nilai di log akses server Amazon S3 atau. AWS CloudTrail Jika permintaan memerlukan ACL untuk otorisasi atau jika Anda memiliki permintaan PUT yang menentukan ACL, string adalah Yes. Jika tidak ACLs diperlukan, atau jika Anda menyetel ACL yang bucket-owner-full-control dikalengkan, atau jika permintaan diizinkan oleh kebijakan bucket Anda, string aclRequired nilainya adalah "-" di log akses server Amazon S3 dan tidak ada di dalamnya. CloudTrail Untuk informasi selengkapnya tentang nilai aclRequired yang diharapkan, lihat Nilai aclRequired untuk permintaan Amazon S3 umum.

Jika Anda memiliki PutBucketAcl atau PutObjectAcl meminta dengan header yang memberikan izin berbasis ACL, kecuali ACL yang bucket-owner-full-control dikalengkan, Anda harus menghapus header tersebut sebelum dapat menonaktifkannya. ACLs Jika tidak, permintaan Anda akan gagal.

Untuk semua permintaan lain yang memerlukan ACL untuk otorisasi, migrasi izin ACL tersebut ke kebijakan bucket. Kemudian, lepaskan bucket apa pun ACLs sebelum Anda mengaktifkan pengaturan yang diberlakukan pemilik bucket.

catatan

Jangan hapus objek ACLs. Jika tidak, aplikasi yang mengandalkan objek ACLs untuk izin akan kehilangan akses.

Jika Anda melihat bahwa tidak ada permintaan yang memerlukan ACL untuk otorisasi, Anda dapat melanjutkan untuk menonaktifkan. ACLs Untuk informasi selengkapnya tentang mengidentifikasi permintaan, lihat Menggunakan log akses server Amazon S3 untuk mengidentifikasi permintaan danMengidentifikasi permintaan Amazon S3 menggunakan CloudTrail.

Meninjau dan memperbarui kebijakan bucket yang menggunakan kunci kondisi terkait ACL

Setelah Anda menerapkan pengaturan diberlakukan pemilik Bucket untuk menonaktifkan ACLs, objek baru dapat diunggah ke bucket Anda hanya jika permintaan menggunakan kontrol penuh pemilik bucket ACLs atau tidak menentukan ACL. Sebelum menonaktifkan ACLs, tinjau kebijakan bucket Anda untuk kunci kondisi terkait ACL.

Jika kebijakan bucket Anda menggunakan kunci kondisi terkait ACL untuk mewajibkan ACL yang terekam bucket-owner-full-control (misalnya, s3:x-amz-acl), Anda tidak perlu memperbarui kebijakan bucket. Kebijakan bucket berikut menggunakan s3:x-amz-acl untuk mewajibkan ACL yang terekam bucket-owner-full-control untuk permintaan PutObject S3. Kebijakan ini masih mengharuskan penulis objek untuk menentukan ACL terekam bucket-owner-full-control. Namun, bucket dengan ACLs dinonaktifkan masih menerima ACL ini, sehingga permintaan terus berhasil tanpa perlu perubahan sisi klien.

{ "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" } } } ] }

Namun, jika kebijakan bucket Anda menggunakan kunci kondisi terkait ACL yang memerlukan ACL berbeda, Anda harus menghapus kunci kondisi ini. Contoh kebijakan bucket ini memerlukan public-read ACL untuk PutObject permintaan S3 dan karenanya harus diperbarui sebelum menonaktifkan. ACLs

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Only allow writes to my bucket with public read access", "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": "public-read" } } } ] }

Izin Kepemilikan Objek

Untuk menerapkan, memperbarui, atau menghapus pengaturan Kepemilikan Objek untuk bucket, Anda memerlukan izin s3:PutBucketOwnershipControls tersebut. Untuk mengembalikan pengaturan Kepemilikan Objek untuk bucket, Anda memerlukan izin s3:GetBucketOwnershipControls. Untuk informasi selengkapnya, silakan lihat Mengatur Kepemilikan Objek saat membuat bucket dan Melihat pengaturan Kepemilikan Objek untuk bucket S3.

Menonaktifkan ACLs untuk semua bucket baru

Secara default, semua bucket baru dibuat dengan pengaturan diberlakukan pemilik Bucket diterapkan dan ACLs dinonaktifkan. Kami merekomendasikan agar tetap ACLs dinonaktifkan. Sebagai aturan umum, sebaiknya gunakan kebijakan berbasis sumber daya S3 (kebijakan bucket dan kebijakan jalur akses) atau kebijakan IAM untuk kontrol akses, bukan. ACLs Kebijakan adalah opsi kontrol akses yang disederhanakan dan lebih fleksibel. Dengan kebijakan bucket dan kebijakan titik akses, Anda dapat menentukan aturan yang berlaku secara luas di semua permintaan ke sumber daya Amazon S3 Anda.

Replikasi dan Kepemilikan Object

Bila Anda menggunakan replikasi S3 dan bucket sumber dan tujuan dimiliki oleh berbeda Akun AWS, Anda dapat menonaktifkan ACLs (dengan pengaturan yang diberlakukan pemilik Bucket untuk Kepemilikan Objek) untuk mengubah kepemilikan replika menjadi bucket Akun AWS yang memiliki tujuan. Pengaturan ini meniru perilaku override pemilik yang ada tanpa memerlukan izin s3:ObjectOwnerOverrideToBucketOwner. Semua objek yang direplikasi ke bucket tujuan dengan pengaturan yang diberlakukan pemilik Bucket dimiliki oleh pemilik bucket tujuan. Untuk informasi selengkapnya tentang opsi penggantian pemilik untuk konfigurasi replikasi, lihat Mengubah pemilik replika.

Mengatur Kepemilikan Objek

Anda dapat menerapkan setelan Kepemilikan Objek dengan menggunakan konsol Amazon S3, AWS CLI AWS SDKs, Amazon S3 REST API, atau. AWS CloudFormation API REST dan AWS CLI perintah berikut mendukung Kepemilikan Objek:

API REST AWS CLI Deskripsi
PutBucketOwnershipControls put-bucket-ownership-controls Membuat atau memodifikasi pengaturan Kepemilikan Objek untuk bucket S3 yang ada.
CreateBucket create-bucket Membuat bucket menggunakan header permintaan x-amz-object-ownership untuk menentukan pengaturan Kepemilikan Objek.
GetBucketOwnershipControls get-bucket-ownership-controls Mengambil pengaturan Kepemilikan Objek untuk bucket Amazon S3.
DeleteBucketOwnershipControls delete-bucket-ownership-controls Menghapus pengaturan Kepemilikan Objek untuk bucket Amazon S3.

Untuk informasi tentang menerapkan dan bekerja dengan pengaturan Kepemilikan Objek, lihat topik-topik berikut.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.