Mengunci objek dengan Object Lock - Amazon Simple Storage Service

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

Mengunci objek dengan Object Lock

Kunci Objek S3 dapat membantu Anda mencegah penghapusan atau penimpaan objek Amazon S3 selama jangka waktu tertentu atau tanpa batas waktu. Object Lock menggunakan model write-once-read-many(WORM) untuk menyimpan objek. Anda dapat menggunakan Object Lock untuk membantu memenuhi persyaratan peraturan yang memerlukan WORM penyimpanan, atau untuk menambahkan lapisan perlindungan lain terhadap perubahan atau penghapusan objek.

catatan

Kunci Objek S3 telah dinilai oleh Cohasset Associates untuk digunakan di lingkungan yang tunduk pada SEC 17a-4,CFTC, dan FINRA peraturan. Untuk informasi selengkapnya tentang bagaimana Object Lock berhubungan dengan peraturan ini, lihat Cohasset Associates Penilaian Kepatuhan.

Kunci Objek menyediakan dua cara untuk mengelola retensi objek: periode retensi dan penahanan legal. Versi objek dapat memiliki periode retensi, penahanan legal, atau keduanya.

  • Periode retensi–Periode retensi menentukan periode waktu tetap selama objek tetap terkunci. Anda dapat mengatur periode retensi unik untuk objek individual. Selain itu, Anda dapat mengatur periode retensi default pada bucket S3. Anda juga dapat membatasi periode retensi minimum dan maksimum yang diizinkan dengan kunci s3:object-lock-remaining-retention-days kondisi dalam kebijakan bucket. Ini membantu Anda menetapkan rentang periode retensi dan dengan membatasi periode retensi yang mungkin lebih pendek atau lebih lama dari rentang ini.

  • Penahanan legal—Penahanan legal memberikan perlindungan yang sama dengan periode retensi, tetapi tidak memiliki tanggal kedaluwarsa. Penahanan legal akan tetap berlaku sampai Anda menghapusnya secara eksplisit. Penahanan hukum independen dari periode retensi dan ditempatkan pada versi objek individual.

Kunci Objek hanya berfungsi di bucket yang mengaktifkan Penentuan Versi S3. Saat Anda mengunci versi objek, Amazon S3 menyimpan informasi kunci di metadata untuk versi objek tersebut. Menempatkan periode retensi atau penahanan legal pada objek hanya melindungi versi yang ditentukan dalam permintaan. Periode retensi dan penahanan hukum tidak mencegah versi baru objek dibuat, atau menghapus penanda untuk ditambahkan di atas objek. Untuk informasi tentang Penentuan Versi S3, lihat Mempertahankan beberapa versi objek dengan S3 Versioning.

Jika Anda memasukkan objek ke dalam bucket yang sudah berisi objek terproteksi dengan nama kunci objek yang sama, Amazon S3 akan membuat versi baru dari objek tersebut. Versi objek yang diproteksi saat ini tetap terkunci sesuai dengan konfigurasi retensinya.

Cara kerja Kunci Objek S3

Periode retensi

Periode retensi melindungi versi objek untuk jangka waktu tertentu. Saat Anda menempatkan periode retensi pada versi objek, Amazon S3 menyimpan stempel waktu dalam metadata versi objek untuk menunjukkan waktu berakhirnya periode retensi. Setelah periode retensi berakhir, versi objek dapat ditimpa atau dihapus.

Anda dapat menempatkan periode retensi secara eksplisit pada versi objek individual atau pada properti bucket sehingga berlaku untuk semua objek di dalam bucket secara otomatis. Saat Anda menerapkan periode retensi ke versi objek secara eksplisit, Anda menentukan Simpan Hingga Tanggal untuk versi objek. Amazon S3 menyimpan tanggal ini di metadata versi objek.

Anda juga dapat mengatur periode retensi di properti bucket. Saat menetapkan periode retensi pada suatu bucket, Anda menentukan durasi, baik dalam jumlah hari atau tahun, untuk melindungi setiap versi objek yang ditempatkan di dalam bucket tersebut. Saat Anda menempatkan objek di dalam bucket, Amazon S3 menghitung Simpan Hingga Tanggal untuk versi objek dengan menambahkan durasi yang ditentukan ke stempel waktu Penentuan Versi objek. Kemudian versi objek akan dilindungi persis seperti saat Anda memasang kunci individual dengan periode retensi tersebut pada versi objek.

catatan

Jika Anda memiliki versi objek PUT yang memiliki mode dan periode retensi individual eksplisit dalam bucket, pengaturan Kunci Objek individual versi objek akan menimpa pengaturan retensi properti bucket apa pun.

Seperti semua pengaturan Kunci Objek lainnya, periode retensi berlaku untuk versi objek individu. Berbagai versi dari suatu objek dapat memiliki mode dan periode retensi yang berbeda-beda.

Misalkan, Anda memiliki suatu objek yang sudah berada pada periode retensi selama 15 hari dari total 30 hari, dan Anda PUT objek tersebut ke dalam Amazon S3 dengan nama yang sama dan periode retensi selama 60 hari. Dalam hal ini, permintaan PUT Anda berhasil, dan Amazon S3 akan membuat versi baru objek dengan periode retensi 60 hari. Versi terdahulu akan mempertahankan periode retensi aslinya dan dapat dihapus dalam 15 hari.

Setelah menerapkan pengaturan retensi ke versi objek, Anda dapat memperpanjang periode retensi. Caranya, kirimkan permintaan Kunci Objek baru untuk versi objek dengan Simpan Hingga Tanggal yang lebih lama dari yang saat ini dikonfigurasi untuk versi objek. Amazon S3 menggantikan periode retensi yang ada dengan periode baru yang lebih lama. Setiap pengguna yang mempunyai izin untuk menempatkan periode retensi objek dapat memperpanjang periode retensi untuk versi objek. Untuk menetapkan periode retensi, Anda harus memiliki izin s3:PutObjectRetention.

Saat menetapkan periode retensi pada objek atau bucket S3, Anda harus memilih salah satu dari dua mode retensi: kepatuhan atau tata kelola.

Mode retensi

Kunci Objek S3 menyediakan dua mode retensi yang menerapkan tingkat perlindungan berbeda pada objek Anda:

  • Mode kepatuhan

  • Mode tata kelola

Di mode kepatuhan, versi objek terlindungi tidak dapat ditimpa atau dihapus oleh pengguna mana pun, termasuk pengguna root di Akun AWS Anda. Ketika sebuah objek dikunci dalam mode kepatuhan, mode retensinya tidak dapat diubah, dan periode retensinya tidak dapat disingkat. Mode kepatuhan membantu memastikan bahwa versi objek tidak dapat ditimpa atau dihapus selama periode retensi.

catatan

Satu-satunya cara untuk menghapus objek di bawah mode kepatuhan sebelum tanggal retensi berakhir adalah dengan menghapus yang terkait Akun AWS.

Di mode tata kelola, pengguna tidak dapat menimpa atau menghapus versi objek atau mengubah pengaturan kuncinya kecuali memiliki izin khusus. Dengan mode tata kelola, Anda melindungi objek agar tidak dihapus oleh sebagian besar pengguna, tetapi Anda masih dapat memberikan izin kepada beberapa pengguna untuk mengubah pengaturan penyimpanan atau menghapus objek jika diperlukan. Anda juga dapat menggunakan mode tata kelola untuk menguji pengaturan periode retensi sebelum membuat periode retensi mode kepatuhan.

Untuk menimpa atau menghapus pengaturan retensi mode tata kelola, Anda harus memiliki izin s3:BypassGovernanceRetention dan harus secara eksplisit menyertakan x-amz-bypass-governance-retention:true sebagai header permintaan dengan permintaan apa pun yang memerlukan penimpaan mode tata kelola.

catatan

Secara default, konsol Amazon S3 menyertakan header x-amz-bypass-governance-retention:true. Jika Anda mencoba menghapus objek yang dilindungi oleh mode tata kelola dan memiliki izin s3:BypassGovernanceRetention, operasi akan berhasil.

Dengan Kunci Objek Anda juga dapat menempatkan penahanan legal pada versi objek. Seperti periode retensi, penahanan legal mencegah penimpaan atau penghapusan versi objek. Namun, penahanan legal tidak memiliki jangka waktu tertentu dan tetap berlaku sampai penahanan tersebut dihapus. Penahanan legal dapat ditempatkan dan dihapus dengan bebas oleh pengguna mana pun yang memiliki izin s3:PutObjectLegalHold.

Penahanan legal terpisah dari periode retensi. Menempatkan penahanan legal pada versi objek tidak memengaruhi mode retensi atau periode retensi untuk versi objek tersebut.

Misalnya, Anda menempatkan penahanan legal pada versi objek dan versi objek juga dilindungi oleh periode retensi. Jika periode retensi berakhir, objek tidak kehilangan WORM perlindungannya. Bahkan, penahanan legal akan terus melindungi objek hingga pengguna yang berwenang secara eksplisit menghapus penahanan legal. Demikian halnya, jika Anda menghapus penahanan legal saat periode retensi versi objek masih berlaku, versi objek akan tetap terlindungi hingga periode retensi berakhir.

Praktik terbaik untuk menggunakan S3 Object Lock

Pertimbangkan untuk menggunakan mode Tata Kelola jika Anda ingin melindungi objek agar tidak dihapus oleh sebagian besar pengguna selama periode retensi yang telah ditentukan sebelumnya, tetapi pada saat yang sama ingin beberapa pengguna dengan izin khusus memiliki fleksibilitas untuk mengubah pengaturan retensi atau menghapus objek.

Pertimbangkan untuk menggunakan mode Kepatuhan jika Anda tidak ingin pengguna mana pun, termasuk pengguna root di Anda Akun AWS, dapat menghapus objek selama periode retensi yang telah ditentukan sebelumnya. Anda dapat menggunakan mode ini jika Anda memiliki persyaratan untuk menyimpan data yang sesuai.

Anda dapat menggunakan Legal Hold ketika Anda tidak yakin berapa lama Anda ingin objek Anda tetap tidak berubah. Ini bisa jadi karena Anda memiliki audit eksternal data Anda yang akan datang dan ingin menjaga objek tetap tidak berubah sampai audit selesai. Sebagai alternatif, Anda mungkin memiliki proyek yang sedang berlangsung menggunakan kumpulan data yang ingin Anda pertahankan hingga proyek selesai.

Izin yang diperlukan

Operasi Kunci Objek memerlukan izin khusus. Tergantung pada operasi yang sedang dijalankan, Anda mungkin memerlukan salah satu izin berikut ini:

  • s3:BypassGovernanceRetention

  • s3:GetBucketObjectLockConfiguration

  • s3:GetObjectLegalHold

  • s3:GetObjectRetention

  • s3:PutBucketObjectLockConfiguration

  • s3:PutObjectLegalHold

  • s3:PutObjectRetention

Untuk daftar lengkap izin Amazon S3 dengan deskripsi, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon S3 di Referensi Otorisasi Layanan.

Untuk informasi selengkapnya tentang izin API operasi S3 menurut jenis sumber daya S3, lihat. Izin yang diperlukan untuk operasi Amazon API S3

Untuk informasi tentang menggunakan ketentuan dengan izin, lihat Contoh kebijakan bucket menggunakan tombol kondisi.