Kebijakan retensi berbasis waktu untuk data blob yang tidak dapat diubah

Kebijakan penyimpanan berbasis waktu menyimpan data blob dalam format Write-Once, Read-Many (WORM) selama interval tertentu. Ketika kebijakan penyimpanan berbasis waktu telah diatur, klien dapat membuat dan membaca blob, tetapi tidak dapat mengubah atau menghapusnya. Setelah interval retensi kedaluwarsa, blob dapat dihapus tetapi tidak ditimpa.

Untuk informasi selengkapnya tentang kebijakan imutabilitas untuk Blob Storage, lihat Menyimpan data blob yang penting bagi bisnis dengan penyimpanan yang tidak dapat diubah.

Interval retensi untuk kebijakan berbasis waktu

Interval retensi minimum untuk kebijakan penyimpanan berbasis waktu adalah satu hari, sedangkan maksimumnya adalah 146.000 hari (400 tahun).

Saat Anda mengonfigurasi kebijakan penyimpanan berbasis waktu, objek yang terdampak akan tetap dalam status tidak dapat diubah selama periode retensi yang berlaku. Periode retensi yang berlaku untuk objek sama dengan selisih waktu pembuatan blob dan interval retensi yang ditentukan pengguna. Karena interval retensi kebijakan dapat diperpanjang, penyimpanan yang tidak dapat diubah menggunakan nilai terbaru dari interval retensi yang ditentukan pengguna untuk menghitung periode retensi yang berlaku.

Contohnya, misalkan pengguna membuat kebijakan penyimpanan berbasis waktu dengan interval penyimpanan lima tahun. Blob yang ada dalam kontainer tersebut, testblob1, dibuat satu tahun yang lalu, sehingga periode retensi yang berlaku untuk testblob1 adalah empat tahun. Jika blob baru, testblob2, diunggah ke kontainer, maka periode retensi yang berlaku untuk testblob2 adalah lima tahun sejak waktu pembuatannya.

Kebijakan terkunci versus tidak terkunci

Saat pertama kali mengonfigurasi kebijakan penyimpanan berbasis waktu, kebijakan tersebut tidak terkunci untuk tujuan pengujian. Setelah selesai pengujian, Anda dapat mengunci kebijakan agar secara penuh sesuai dengan SEC 17a-4 (f) dan kepatuhan peraturan lainnya.

Kebijakan terkunci dan tidak terkunci melindungi terhadap penghapusan dan penimpaan. Namun, Anda dapat mengubah kebijakan tidak terkunci dengan mempersingkat atau memperpanjang periode retensi. Anda juga dapat menghapus kebijakan yang tidak terkunci.

Anda tidak dapat menghapus kebijakan penyimpanan berbasis waktu yang terkunci. Anda dapat memperpanjang periode retensi, tetapi tidak dapat menguranginya. Maksimal lima peningkatan ke periode retensi yang berlaku diperbolehkan selama masa kebijakan terkunci yang ditentukan di tingkat kontainer. Untuk kebijakan yang dikonfigurasi untuk versi blob, tidak ada batasan jumlah peningkatan ke periode efektif.

Penting

Kebijakan penyimpanan berbasis waktu harus dikunci agar blob berada dalam status tidak dapat diubah (tulis dan hapus dilindungi) yang sesuai dengan SEC 17a-4(f) dan kepatuhan terhadap peraturan lainnya. Microsoft menyarankan agar Anda mengunci kebijakan dalam waktu yang wajar, biasanya kurang dari 24 jam. Meskipun status tidak dikunci memberikan perlindungan imutabilitas, penggunaan status tidak dikunci untuk tujuan apa pun selain uji coba fitur jangka pendek tidak disarankan.

Cakupan kebijakan penyimpanan berbasis waktu

Kebijakan penyimpanan berbasis waktu dapat dikonfigurasi di salah satu cakupan berikut:

  • Kebijakan tingkat versi (pratinjau): Kebijakan penyimpanan berbasis waktu dapat dikonfigurasi untuk diterapkan ke versi blob untuk pengelolaan granular data sensitif. Anda dapat menetapkan kebijakan ke versi individual, atau mengonfigurasi kebijakan default untuk kontainer yang akan berlaku secara default ke semua blob yang diunggah ke kontainer tersebut.
  • Kebijakan tingkat kontainer: kebijakan penyimpanan berbasis waktu yang dikonfigurasi di level kontainer berlaku untuk semua objek dalam kontainer tersebut. Objek individual tidak dapat dikonfigurasi dengan kebijakannya yang tidak dapat diubah.

Log audit tersedia pada kontainer untuk kebijakan retensi berbasis waktu tingkat versi dan tingkat kontainer. Log audit tidak tersedia untuk kebijakan yang tercakup dalam versi blob.

Lingkup kebijakan tingkat versi (pratinjau)

Untuk mengonfigurasi kebijakan retensi tingkat versi, Anda harus terlebih dahulu mengaktifkan imutabilitas tingkat versi di kontainer induk. Imutabilitas tingkat versi tidak dapat dinonaktifkan setelah pengaktifannya, meskipun kebijakan yang tidak terkunci dapat dihapus. Untuk informasi selengkapnya, lihat Mengaktifkan dukungan untuk imutabilitas tingkat versi pada kontainer.

Anda dapat mengaktifkan dukungan untuk imutabilitas tingkat versi saat Anda membuat kontainer. Kontainer yang ada juga dapat mendukung imutabilitas tingkat versi, namun harus melalui proses migrasi terlebih dahulu. Proses ini memerlukan waktu dan tidak dapat dibatalkan. Untuk informasi selengkapnya tentang memigrasikan kontainer untuk mendukung imutabilitas tingkat versi, lihat Memigrasikan kontainer yang ada untuk mendukung imutabilitas tingkat versi.

Kebijakan retensi berbasis waktu tingkat versi mengharuskan penerapan versi blob diaktifkan untuk akun penyimpanan. Untuk mempelajari cara mengaktifkan penerapan versi blob, lihat Mengaktifkan dan mengelola penerapan versi blob. Perlu diingat bahwa mengaktifkan versi dapat berdampak pada penagihan. Untuk informasi lebih lanjut, lihat bagian Harga dan tagihan dalam Penerapan versi blob.

Setelah penerapan versi diaktifkan, saat blob pertama kali diunggah, maka versi blob tersebut merupakan versi saat ini. Setiap kali blob ditimpa, versi baru akan dibuat. Versi tersebut menyimpan status blob sebelumnya. Ketika menghapus versi blob saat ini, maka versi saat ini akan menjadi versi sebelumnya dan dipertahankan hingga terhapus secara eksplisit. Versi blob sebelumnya memiliki kebijakan penyimpanan berbasis waktu yang berlaku ketika versi saat ini menjadi versi sebelumnya.

Ketika kebijakan default berlaku untuk kontainer, kemudian operasi penimpaan membuat versi sebelumnya, maka versi saat ini yang baru mewarisi kebijakan default kontainer tersebut.

Setiap versi hanya boleh memiliki satu kebijakan penyimpanan berbasis waktu yang dikonfigurasi. Suatu versi juga dapat memiliki satu pengamanan dokumen hukum yang dikonfigurasi. Untuk detail konfigurasi kebijakan imutabilitas yang didukung berdasarkan cakupan, lihat cakupan kebijakan imutabilitas.

Untuk mempelajari cara mengonfigurasi kebijakan retensi berbasis waktu tingkat versi, lihat Mengonfigurasi kebijakan imutabilitas untuk versi blob (pratinjau).

Penting

Kebijakan retensi berbasis waktu tingkat versi saat ini ada di PRATINJAU. Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum. Memerlukan waktu hingga 30 detik setelah imutabilitas tingkat versi diaktifkan sebelum Anda dapat mengonfigurasi kebijakan retensi berbasis waktu tingkat versi

Mengonfigurasi kebijakan pada versi saat ini

Setelah Anda mengaktifkan dukungan untuk imutabilitas tingkat versi untuk kontainer, Anda memiliki opsi untuk mengonfigurasi kebijakan retensi berbasis waktu default untuk kontainer. Saat Anda mengonfigurasi kebijakan retensi berbasis waktu default untuk kontainer dan kemudian mengunggah blob, maka blob mewarisi kebijakan tersebut secara default. Anda juga dapat memilih untuk mengambil alih kebijakan default untuk setiap blob pada pengunggahan dengan mengonfigurasi kebijakan kustom untuk blob tersebut.

Jika kebijakan penyimpanan berbasis waktu default untuk kontainer tidak terkunci, maka versi blob saat ini yang mewarisi kebijakan default akan memiliki kebijakan yang tidak terkunci pula. Setelah blob individu diunggah, Anda dapat mempersingkat atau memperpanjang periode retensi untuk kebijakan pada versi blob saat ini, atau menghapus versi saat ini. Anda juga dapat mengunci kebijakan untuk versi saat ini, bahkan jika kebijakan default dalam kontainer tetap tidak terkunci.

Jika kebijakan penyimpanan berbasis waktu default untuk kontainer terkunci, maka versi blob saat ini yang mewarisi kebijakan default akan memiliki kebijakan yang terkunci pula. Namun, jika Anda mengambil alih kebijakan default saat mengunggah blob dengan mengatur kebijakan hanya untuk blob tersebut, maka kebijakan blob akan tetap tidak terkunci hingga Anda secara eksplisit menguncinya. Jika kebijakan pada versi saat ini terkunci, Anda dapat memperpanjang interval retensi, tetapi Anda tidak dapat menghapus kebijakan atau mempersingkat interval retensi.

Jika tidak ada kebijakan default yang dikonfigurasi untuk kontainer, maka Anda dapat mengunggah blob dengan kebijakan kustom maupun tanpa kebijakan.

Jika kebijakan default pada kontainer diubah, kebijakan pada objek dalam kontainer tersebut tetap tidak berubah, meskipun kebijakan tersebut diwarisi dari kebijakan default.

Tabel berikut menampilkan berbagai opsi yang tersedia untuk pengaturan kebijakan penyimpanan berbasis waktu pada blob di pengunggahan:

Status kebijakan default pada kontainer Mengunggah blob dengan kebijakan default Mengunggah blob dengan kebijakan kustom Mengunggah blob tanpa kebijakan
Kebijakan default pada kontainer (tidak terkunci) Blob diunggah dengan kebijakan default yang tidak terkunci Blob diunggah dengan kebijakan kustom yang tidak terkunci Blob diunggah tanpa kebijakan
Kebijakan default pada kontainer (terkunci) Blob diunggah dengan kebijakan default terkunci Blob diunggah dengan kebijakan kustom yang tidak terkunci Blob diunggah tanpa kebijakan
Kebijakan default pada kontainer tidak ditemukan T/A Blob diunggah dengan kebijakan kustom yang tidak terkunci Blob diunggah tanpa kebijakan

Mengonfigurasi kebijakan pada versi sebelumnya

Saat penerapan versi diaktifkan, operasi tulis atau hapus pada blob akan membuat versi baru blob sebelumnya yang menyimpan status blob sebelum operasi. Secara default, versi sebelumnya memiliki kebijakan penyimpanan berbasis waktu yang berlaku untuk versi saat ini, jika ada, ketika versi saat ini menjadi versi sebelumnya. Versi saat ini yang baru mewarisi kebijakan kontainer, apabila ada.

Jika kebijakan yang diwarisi oleh versi sebelumnya tidak terkunci, maka interval retensi dapat dipersingkat, diperpanjang, atau kebijakan dapat dihapus. Kebijakan pada versi sebelumnya juga dapat dikunci untuk versi tersebut, bahkan jika kebijakan pada versi saat ini tidak terkunci.

Jika kebijakan yang diwarisi oleh versi sebelumnya dikunci, maka interval retensi dapat diperpanjang. Kebijakan tidak dapat dihapus, interval retensi juga tidak dapat dipersingkat.

Jika kebijakan yang dikonfigurasi tidak ditemukan pada versi saat ini, maka versi sebelumnya tidak mewarisi kebijakan apa pun. Anda dapat mengonfigurasi kebijakan kustom versi tersebut.

Jika kebijakan pada versi saat ini diubah, maka kebijakan yang terdapat pada versi sebelumnya tetap tidak berubah, bahkan jika kebijakan diwarisi dari versi saat ini.

Cakupan kebijakan tingkat kontainer

Kebijakan retensi berbasis waktu tingkat kontainer berlaku di semua objek dalam kontainer, baik yang baru maupun yang telah ada. Untuk akun dengan namespace layanan hierarkis, kebijakan tingkat kontainer juga berlaku untuk semua direktori dalam kontainer.

Jika kebijakan penyimpanan berbasis waktu berlaku untuk suatu kontainer, maka semua blob yang ada berpindah ke status WORM yang tidak dapat diubah dalam kurun waktu kurang dari 30 detik. Semua blob baru yang diunggah ke kontainer yang dilindungi kebijakan juga akan berpindah ke status yang tidak dapat diubah. Setelah semua blob memiliki status yang tidak dapat diubah, operasi penimpaan atau penghapusan tidak diizinkan dalam kontainer yang tidak dapat diubah. Untuk kasus akun dengan namespace layanan hierarkis, blob tidak dapat diubah namanya atau dipindahkan ke direktori berbeda.

Batasan berikut berlaku untuk kebijakan retensi tingkat kontainer:

  • Untuk akun penyimpanan, jumlah maksimum kontainer dengan kebijakan yang tidak dapat dihapus berbasis waktu yang dikunci adalah 10.000.
  • Untuk kontainer, jumlah maksimum pengeditan untuk memperpanjang interval retensi untuk kebijakan yang berbasis waktu yang dikunci adalah lima.
  • Untuk kontainer, maksimal tujuh log audit kebijakan penyimpanan berbasis waktu disimpan untuk kebijakan yang dikunci.

Untuk mempelajari cara mengonfigurasi kebijakan penyimpanan berbasis waktu pada kontainer, lihat Mengonfigurasi kebijakan imutabilitas untuk kontainer.

Mengizinkan penulisan blob penambahan terlindungi

Blob penambahan terdiri dari blok data dan dioptimalkan untuk operasi penambahan data yang diperlukan oleh skenario audit dan pembuatan log. Secara desain, blob penambahan hanya memungkinkan penambahan blok baru ke akhir blob. Terlepas dari imutabilitas, modifikasi, atau penghapusan blok yang ada dalam blob penambahan pada dasarnya tidak diizinkan. Untuk mempelajari selengkapnya tentang blob penambahan, lihat Tentang Blob Penambahan.

Hanya kebijakan retensi berbasis waktu yang memiliki pengaturan properti AllowProtectedAppendWrites yang mengizinkan penulisan blok baru pada blob penambahan selagi mempertahankan proteksi dan kepatuhan imutabilitas. Jika pengaturan ini diaktfikan, Anda dapat membuat blob penambahan secara langsung dalam kontainer yang dilindungi kebijakan, kemudian menambahkan blok baru data ke akhir blob penambahan yang ada menggunakan operasi Append Block. Hanya blok baru yang dapat ditambahkan; blok yang ada tidak dapat diubah atau dihapus. Perlindungan imutabilitas penyimpanan waktu tetap berlaku, mencegah penghapusan blob penambahan hingga periode penyimpanan yang berlaku telah berlalu. Mengaktifkan pengaturan ini tidak mempengaruhi perilaku imutabilitas dari blob blok atau blob halaman.

Karena pengaturan ini merupakan bagian dari kebijakan penyimpanan berbasis waktu, maka blob penambahan tetap berstatus imutabilitas selama periode penyimpanan yang berlaku. Karena data baru dapat ditambahkan di luar pembuatan awal blob penambahan, ada sedikit perbedaan dalam cara periode penyimpanan ditentukan. Penyimpanan yang berlaku adalah selisih antara waktu perubahan terakhir blob penambahan dan interval penyimpanan yang ditentukan pengguna. Demikian juga jika interval retensi diperpanjang, penyimpanan yang tidak dapat diubah akan menggunakan nilai terbaru dari interval penyimpanan yang ditentukan pengguna untuk menghitung periode penyimpanan yang berlaku.

Misalnya, pengguna membuat kebijakan penyimpanan berbasis waktu dengan properti AllowProtectedAppendWrites diaktifkan dan interval retensi selama 90 hari. Blob penambahan, yakni logblob1, dibuat dalam kontainer hari ini. Log baru terus ditambahkan ke blob penambahan selama 10 hari ke depan; sehingga, periode penyimpanan yang berlaku untuk logblob1 adalah 100 hari sejak hari ini (waktu penambahan terakhir + 90 hari).

Kebijakan penyimpanan berbasis waktu yang tidak dikunci memungkinkan pengaturan properti AllowProtectedAppendWrites untuk diaktifkan dan dinonaktifkan kapan saja. Setelah kebijakan penyimpanan berbasis waktu dikunci, pengaturan properti AllowProtectedAppendWrites tidak dapat diubah.

Pengelogan audit

Setiap kontainer dengan kebijakan retensi berbasis waktu yang diaktifkan menyediakan log audit kebijakan. Log audit mencakup hingga tujuh perintah retensi berbasis waktu untuk kebijakan retensi berbasis waktu yang terkunci. Entri log berisi ID pengguna, jenis perintah, tanda waktu, dan interval retensi. Log audit ini disimpan selama masa berlaku kebijakan, sesuai dengan pedoman peraturan SEC 17a-4(f).

Log Azure Activity menyediakan log yang lebih komprehensif dari semua aktivitas layanan pengelolaan. Log sumber daya Azure menyimpan informasi operasi data. Pengguna bertanggung jawab untuk menyimpan log secara terus-menerus, karena mungkin diperlukan untuk tujuan peraturan atau lainnya.

Perubahan ke kebijakan retensi berbasis waktu di tingkat versi tidak diaudit.

Langkah berikutnya