Kunci Bucket

Penyiapan

Halaman ini membahas fitur Penguncian Bucket yang memungkinkan Anda mengonfigurasi kebijakan retensi bucket Cloud Storage. Kebijakan ini mengatur berapa lama objek di dalam bucket harus dipertahankan. Fitur ini juga memungkinkan Anda mengunci kebijakan retensi bucket, yang secara permanen mencegah kebijakan dikurangi atau dihapus.

Fitur ini dapat menyediakan penyimpanan yang tidak dapat diubah di Cloud Storage. Dalam kaitannya dengan Mode logging audit mendetail, yang mencatat detail permintaan dan respons Cloud Storage ke dalam log, Kunci Bucket dapat membantu persyaratan peraturan dan kepatuhan, seperti persyaratan yang terkait dengan FINRA, SEC, dan CFTC. Penguncian Bucket juga dapat membantu Anda menangani peraturan retensi industri layanan kesehatan tertentu.

Ringkasan

  • Anda dapat menambahkan kebijakan retensi ke bucket untuk menentukan periode retensi data.

    • Saat kebijakan retensi bucket disetel, objek dalam bucket hanya dapat dihapus atau diganti jika usianya lebih besar dari periode retensi data.

    • Kebijakan ini berlaku secara surut untuk objek yang ada di bucket serta objek baru yang ditambahkan ke bucket. Fitur ini berbeda dengan fitur Kunci Retensi Objek, yang memungkinkan Anda menentukan persyaratan retensi data per objek.

  • Anda dapat mengunci kebijakan retensi bucket untuk menetapkannya secara permanen di bucket.

    • Setelah mengunci kebijakan, Anda tidak dapat menghapusnya atau mengurangi periode retensi yang dimiliki.

    • Anda tidak dapat menghapus bucket dengan kebijakan terkunci kecuali jika setiap objek dalam bucket telah memenuhi periode retensi data.

    • Anda dapat meningkatkan periode retensi data dari kebijakan yang terkunci.

    • Mengunci kebijakan dapat membantu data Anda mematuhi peraturan retensi catatan.

Kebijakan retensi bucket

Anda dapat menyertakan kebijakan retensi saat membuat bucket baru, atau Anda dapat menambahkan kebijakan retensi ke bucket yang ada. Menempatkan kebijakan retensi pada bucket akan memastikan bahwa semua objek saat ini dan yang akan datang dalam bucket tidak dapat dihapus atau diganti hingga mencapai usia yang Anda tentukan dalam kebijakan. Upaya menghapus atau mengganti objek yang usianya kurang dari periode retensi akan gagal dengan error 403 - retentionPolicyNotMet.

Misalnya, Anda memiliki bucket dengan dua objek di dalamnya: Objek A yang Anda tambahkan sebulan yang lalu, dan Objek B yang Anda tambahkan dua tahun lalu. Jika Anda menerapkan kebijakan retensi ke bucket yang memiliki periode retensi data 1 tahun, Anda tidak dapat menghapus atau mengganti Objek A selama 11 bulan berikutnya: Objek tersebut saat ini sudah berusia 1 bulan, namun harus berusia minimal 1 tahun untuk dihapus atau diganti. Di sisi lain, objek B dapat segera dihapus atau diganti, karena usianya lebih besar dari periode retensi data. Jika Anda memutuskan untuk mengganti Objek B, versi baru Objek B ini memiliki usia yang dimulai ulang di 0 tahun.

Untuk membantu melacak kapan setiap objek memenuhi syarat untuk dihapus, objek dalam bucket dengan kebijakan retensi masing-masing memiliki metadata waktu habis masa berlaku retensi. Potongan metadata ini menunjukkan tanggal dan waktu saat objek memenuhi periode retensi data.

Pertimbangan umum

Saat menggunakan kebijakan retensi, perhatikan hal berikut:

  • Kecuali jika kebijakan retensi bucket dikunci, Anda dapat meningkatkan, menurunkan, atau menghapus kebijakan tersebut.

  • Metadata yang dapat diedit objek tidak tunduk pada kebijakan retensi bucket dan dapat diubah meskipun objek itu sendiri tidak bisa.

  • Kebijakan retensi bucket berisi waktu efektif, yaitu waktu setelah semua objek dalam bucket dijamin mematuhi periode retensi.

  • Untuk mengetahui tanggal paling awal saat objek tertentu memenuhi syarat untuk dihapus di bucket dengan kebijakan retensi, lihat bagian tanggal habis masa berlaku retensi dari metadata objek ini.

Pertimbangan dengan fitur lainnya

Berikut adalah interaksi yang dimiliki kebijakan retensi dengan fitur Cloud Storage lainnya:

  • Kebijakan retensi bucket dan Pembuatan Versi Objek adalah fitur yang saling eksklusif di Cloud Storage: untuk bucket tertentu, hanya salah satu yang dapat diaktifkan dalam satu waktu. Setiap objek berversi yang tersisa di dalam bucket saat Anda menerapkan kebijakan retensi juga akan dilindungi oleh kebijakan tersebut.

  • Objek yang tunduk pada penangguhan berbasis peristiwa tidak dapat dihapus saat pembekuan berlaku untuk objek tersebut. Setelah penangguhan berbasis peristiwa dihapus dari objek, periode retensi objek akan direset.

  • Setiap objek dapat tunduk pada kebijakan retensi bucket dan konfigurasi retensi individualnya sendiri. Jika objek tunduk pada keduanya, objek tersebut akan dipertahankan hingga kedua retensi terpenuhi.

  • Anda tidak dapat menghancurkan versi kunci Cloud Key Management Service yang mengenkripsi objek dalam bucket terkunci jika objek belum memenuhi waktu habis masa berlaku retensinya. Untuk mengetahui informasi selengkapnya, lihat Versi kunci yang digunakan untuk mengenkripsi objek terkunci.

  • Anda dapat menggunakan Object Lifecycle Management untuk menghapus objek di bucket secara otomatis, termasuk dalam bucket dengan kebijakan terkunci. Aturan siklus proses tidak akan menghapus objek sampai objek tersebut memenuhi kebijakan retensi.

  • Anda tidak boleh melakukan upload komposit paralel jika bucket memiliki kebijakan retensi, karena setiap bagian komponen tidak dapat dihapus sampai masing-masing telah memenuhi periode retensi data minimum bucket.

  • Upaya untuk menyelesaikan upload multibagian XML API akan gagal jika objek yang dihasilkan akan menimpa objek yang belum memenuhi periode retensi datanya.

  • Anda dapat menggunakan batasan kebijakan retensi dalam kebijakan organisasi untuk mewajibkan kebijakan retensi bucket dengan periode retensi tertentu disertakan sebagai bagian dari pembuatan bucket baru atau sebagai bagian dari penambahan/pembaruan kebijakan retensi di bucket yang sudah ada.

Periode retensi data

Periode retensi data diukur dalam detik; namun, beberapa alat, seperti Konsol Google Cloud dan Google Cloud CLI memungkinkan Anda menetapkan dan melihat periode retensi data dengan satuan waktu lain demi kemudahan. Konversi berikut berlaku dalam kasus tersebut:

  • Sehari dianggap 86.400 detik.
  • Satu bulan dianggap 31 hari, yaitu 2.678.400 detik.
  • Setahun dianggap 365,25 hari, yaitu 31.557.600 detik.

Anda dapat menetapkan periode retensi data maksimum selama 3.155.760.000 detik (100 tahun).

Untuk gcloud CLI, saat menentukan periode retensi, Anda menentukan integer dan unit, di mana unit berupa s, d, m, atau y untuk menandakan detik, hari, bulan, atau tahun. Misalnya, 1d43200s menetapkan periode retensi data 1 hari dan 43.200 detik (satu setengah hari).

Kunci kebijakan retensi

Saat mengunci kebijakan retensi bucket, Anda dapat mencegah kebijakan dihapus atau periode retensi data dikurangi (meskipun Anda masih dapat meningkatkan periode retensi data). Jika Anda mencoba menghapus atau mengurangi durasi kebijakan bucket terkunci, Anda akan mendapatkan error 400 BadRequestException. Setelah kebijakan retensi dikunci, Anda tidak dapat menghapus bucket hingga setiap objek dalam bucket memenuhi periode retensi data.

Mengunci kebijakan retensi bucket tidak dapat dibatalkan, dan Anda harus memahami implikasi dari tindakan tersebut sebelum menggunakan fitur ini. Jika menggunakan kebijakan tidak terkunci, Anda dapat menghapus kebijakan tersebut, sehingga Anda tetap dapat menghapus objek jika diinginkan. Saat mengunci kebijakan, Anda harus menghapus seluruh bucket untuk "menghapus" kebijakan. Namun, Anda tidak dapat menghapus bucket jika ada objek di dalamnya yang belum memenuhi periode retensi datanya. Oleh karena itu, untuk "menghapus" kebijakan yang terkunci, Anda harus menunggu hingga setiap objek dalam bucket memenuhi periode retensinya. Pada saat itu, Anda dapat menghapus bucket.

Selain itu, ketika Anda mengunci kebijakan retensi, Cloud Storage akan otomatis menerapkan lien ke izin projects.delete untuk project yang berisi bucket. Saat ada, lien mencegah project dihapus. Untuk menghapus project, Anda harus menghapus semua lien tersebut terlebih dahulu. Perhatikan bahwa menghapus lien memerlukan izin resourcemanager.projects.updateLiens, yang merupakan bagian dari peran roles/owner dan roles/resourcemanager.lienModifier.

Untuk mengetahui informasi tentang bagaimana penguncian kebijakan retensi dapat membantu data Anda mematuhi peraturan retensi catatan, lihat halaman kepatuhan.

Langkah selanjutnya