Kunci Bucket

Penyiapan

Halaman ini membahas fitur Penguncian Bucket, yang memungkinkan Anda mengonfigurasi kebijakan retensi bucket Cloud Storage. Kebijakan ini mengatur berapa lama objek dalam bucket harus dipertahankan. Fitur ini juga memungkinkan Anda mengunci kebijakan retensi bucket, sehingga 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.

    • Jika kebijakan retensi bucket ditetapkan, objek dalam bucket hanya dapat dihapus atau diganti setelah usianya lebih besar dari periode retensi data.

    • Kebijakan ini berlaku surut untuk objek yang ada di bucket serta objek baru yang ditambahkan ke bucket. Hal ini berbeda dengan fitur Object Retention Lock, yang memungkinkan Anda menentukan persyaratan retensi data berdasarkan per objek.

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

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

    • 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 kebijakan yang terkunci.

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 di bucket akan memastikan bahwa semua objek saat ini dan mendatang di bucket tidak dapat dihapus atau diganti hingga mencapai usia yang Anda tentukan dalam kebijakan. Percobaan untuk menghapus atau mengganti objek yang usianya kurang dari periode retensi data akan gagal dengan menampilkan 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 milik objek tidak tunduk pada kebijakan retensi bucket dan dapat diubah meskipun objek itu sendiri tidak dapat mengubahnya.

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

  • 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:

  • Di bucket yang menggunakan Pembuatan Versi Objek, versi objek aktif yang memiliki tanggal habis masa berlaku retensi pada masa mendatang masih dapat dibuat menjadi versi lama, dan setiap objek berversi yang ada di bucket pada saat Anda menerapkan kebijakan retensi juga dilindungi oleh kebijakan tersebut.

  • Objek yang tunduk pada penangguhan berbasis peristiwa tidak dapat dihapus selama penangguhan 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-nya 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 agar kebijakan retensi bucket dengan periode retensi data tertentu disertakan sebagai bagian dari pembuatan bucket baru atau sebagai bagian dari penambahan/pembaruan kebijakan retensi di bucket yang 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

Jika Anda mengunci kebijakan retensi bucket, Anda akan 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 diurungkan, dan Anda harus mengetahui implikasi dari tindakan tersebut sebelum menggunakan fitur ini. Saat menggunakan kebijakan yang tidak terkunci, Anda dapat menghapus kebijakan, 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. Dengan demikian, untuk "menghapus" kebijakan yang terkunci, Anda harus menunggu hingga setiap objek dalam bucket telah memenuhi periode retensi datanya, dan pada saat itu Anda dapat menghapus bucket tersebut.

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 berikutnya