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

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

Mengontrol kepemilikan objek dan menonaktifkan ACLs bucket

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 pengaturan 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.

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, 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.