Azure Blob Depolama için sabit depolama özelliği kullanıcıların iş açısından kritik verileri WORM (Bir Kez Yazma Çok Kez Okuma) durumunda depolamasını sağlar. WORM durumundayken, kullanıcı tarafından belirtilen bir aralık için veriler değiştirilemez veya silinemez. Blob verileri için değişmezlik ilkelerini yapılandırarak verilerinizi üzerine yazma ve silme işlemlerine karşı koruyabilirsiniz. Değişmezlik ilkeleri, zamana bağlı saklama ilkelerini ve yasal tutmaları içerir. Blob Depolama için değişmezlik ilkeleri hakkında daha fazla bilgi için bkz . İş açısından kritik blob verilerini sabit depolama ile depolama.
Değiştirilemezlik ilkesinin kapsamı tek bir blob sürümü veya kapsayıcı olarak belirlenmiş olabilir. Bu makalede kapsayıcı düzeyinde değişmezlik ilkesinin nasıl yapılandırıldığı açıklanmaktadır. Sürüm düzeyinde değişmezlik ilkelerini yapılandırmayı öğrenmek için bkz . Blob sürümleri için değişmezlik ilkelerini yapılandırma.
Not
Ağ Dosya Sistemi (NFS) 3.0 protokolü veya SSH Dosya Aktarım Protokolü (SFTP) etkinleştirilmiş hesaplarda değişmezlik ilkeleri desteklenmez.
Kapsayıcıda zamana dayalı saklama ilkesi yapılandırmak için Azure portalını, PowerShell'i veya Azure CLI'yı kullanın. Kapsayıcı düzeyinde saklama ilkesini 1 ile 146.000 gün arasında yapılandırabilirsiniz.
Azure portalıyla bir kapsayıcıda zamana dayalı bekletme ilkesi yapılandırmak için şu adımları izleyin:
İstediğiniz kapsayıcıya gidin.
Sağ taraftaki Diğer düğmesini ve ardından Erişim ilkesi'ni seçin.
Sabit blob depolama bölümünde İlke ekle'yi seçin.
İlke türü alanında Zamana bağlı saklama'yı seçin ve bekletme süresini gün cinsinden belirtin.
Kapsayıcı kapsamına sahip bir ilke oluşturmak için Sürüm düzeyinde değişmezliği etkinleştir kutusunu işaretlemeyin.
Korumalı ekleme yazmalarına izin verilip verilmeyeceğini seçin.
Ekleme blobları seçeneği, ekleme bloğunun sonuna Ekleme Bloğu işlemini kullanarak iş yüklerinizin yeni veri blokları eklemesini sağlar.
Blok ve ekleme blobları seçeneği, Blobları ekle seçeneğiyle aynı izinleri sağlar, ancak blok bloblarına yeni bloklar yazma özelliği ekler. Blob Depolama API'si, uygulamaların bunu doğrudan yapması için bir yol sağlamaz. Ancak, uygulamalar bunu Data Lake Storage API'sinde kullanılabilen ekleme ve temizleme yöntemlerini kullanarak gerçekleştirebilir. Ayrıca, bazı Microsoft uygulamaları blok blobları oluşturmak ve bunlara eklemek için iç API'leri kullanır. İş yükleriniz bu araçlardan herhangi birine bağımlıysa, bu araçlar blokları bir blok bloba eklemeye çalıştığında oluşabilecek hataları önlemek için bu özelliği kullanabilirsiniz.
Bu seçenekler hakkında daha fazla bilgi edinmek için bkz . Korumalı ekleme blobları yazmalarına izin verme.
Değişmezlik ilkesini yapılandırdıktan sonra kapsamı kapsayıcı olarak belirlenmiştir:
PowerShell ile bir kapsayıcıda zamana dayalı bekletme ilkesi yapılandırmak için, gün cinsinden bekletme aralığını sağlayarak Set-AzRmStorageContainerImmutabilityPolicy komutunu çağırın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
Set-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-ContainerName <container> `
-ImmutabilityPeriod 10
Korumalı ekleme yazmalarına izin vermek için veya -AllowProtectedAppendWriteAll parametresini -AllowProtectedAppendWrite olarak trueayarlayın.
AllowProtectedAppendWrite seçeneği, ekleme bloğunun sonuna Ekleme Bloğu işlemini kullanarak iş yüklerinizin yeni veri blokları eklemesini sağlar.
AllowProtectedAppendWriteAll seçeneği, AllowProtectedAppendWrite seçeneğiyle aynı izinleri sağlar, ancak blok bloba yeni bloklar yazma özelliği ekler. Blob Depolama API'si, uygulamaların bunu doğrudan yapması için bir yol sağlamaz. Ancak, uygulamalar bunu Data Lake Storage API'sinde kullanılabilen ekleme ve temizleme yöntemlerini kullanarak gerçekleştirebilir. Ayrıca, bazı Microsoft uygulamaları blok blobları oluşturmak ve bunlara eklemek için iç API'leri kullanır. İş yükleriniz bu araçlardan herhangi birine bağımlıysa, bu araçlar blokları bir blok bloba eklemeye çalıştığında oluşabilecek hataları önlemek için bu özelliği kullanabilirsiniz.
Bu seçenekler hakkında daha fazla bilgi edinmek için bkz . Korumalı ekleme blobları yazmalarına izin verme.
Azure CLI ile bir kapsayıcıda zamana dayalı bekletme ilkesi yapılandırmak için az storage container immutability-policy create komutunu çağırarak bekletme aralığını gün cinsinden sağlayın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
az storage container immutability-policy create \
--resource-group <resource-group> \
--account-name <storage-account> \
--container-name <container> \
--period 10
Korumalı ekleme yazmalarına izin vermek için veya --allow-protected-append-writes-all parametresini --allow-protected-append-writes olarak trueayarlayın.
--allow-protected-append-writes seçeneği, ekleme bloğu işlemini kullanarak iş yüklerinizin ekleme blobunun sonuna yeni veri blokları eklemesini sağlar.
--allow-protected-append-writes-all seçeneği size --allow-protected-append-writes seçeneğiyle aynı izinleri sağlar, ancak blok bloba yeni bloklar yazma özelliği ekler. Blob Depolama API'si, uygulamaların bunu doğrudan yapması için bir yol sağlamaz. Ancak, uygulamalar bunu Data Lake Storage API'sinde kullanılabilen ekleme ve temizleme yöntemlerini kullanarak gerçekleştirebilir. Ayrıca, bazı Microsoft uygulamaları blok blobları oluşturmak ve bunlara eklemek için iç API'leri kullanır. İş yükleriniz bu araçlardan herhangi birine bağımlıysa, bu araçlar blokları bir blok bloba eklemeye çalıştığında oluşabilecek hataları önlemek için bu özelliği kullanabilirsiniz.
Bu seçenekler hakkında daha fazla bilgi edinmek için bkz . Korumalı ekleme blobları yazmalarına izin verme.
Kilitsiz saklama ilkesini değiştirme
Bekletme aralığını kısaltmak veya uzatmak ve kapsayıcıdaki blobları eklemek için ek yazma işlemlerine izin vermek için kilidi açılmış zamana bağlı saklama ilkesini değiştirebilirsiniz. Kilidi açılmış bir ilkeyi de silebilirsiniz.
Azure portalında kilitsiz zaman tabanlı saklama ilkesini değiştirmek için şu adımları izleyin:
İstediğiniz kapsayıcıya gidin.
Diğer düğmesini seçin ve Erişim ilkesi'ni seçin.
Sabit blob sürümleri bölümünde, mevcut kilidi açılmış ilkeyi bulun. Diğer düğmesini ve ardından menüden Düzenle'yi seçin.
İlke için yeni bir bekletme aralığı sağlayın. Korumalı ekleme bloblarına yazmalara izin vermek için Ek korumalı eklemelere izin ver'i de seçebilirsiniz.
Kilidi açılmış bir ilkeyi silmek için Diğer düğmesini ve ardından Sil'i seçin.
Not
Sürüm düzeyinde değişmezliği etkinleştir onay kutusunu seçerek sürüm düzeyinde değişmezlik ilkelerini etkinleştirebilirsiniz. Sürüm düzeyinde değişmezlik ilkelerini etkinleştirme hakkında daha fazla bilgi için bkz . Blob sürümleri için değişmezlik ilkelerini yapılandırma.
Kilidi açılmış bir ilkeyi değiştirmek için önce Get-AzRmStorageContainerImmutabilityPolicy komutunu çağırarak ilkeyi alın. Ardından, ilkeyi güncelleştirmek için Set-AzRmStorageContainerImmutabilityPolicy komutunu çağırın. Yeni bekletme aralığını gün olarak ve parametresine -ExtendPolicy ekleyin. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
$policy = Get-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container>
Set-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-ContainerName <container> `
-ImmutabilityPeriod 21 `
-AllowProtectedAppendWriteAll true `
-Etag $policy.Etag `
-ExtendPolicy
Kilidi açılmış bir ilkeyi silmek için Remove-AzRmStorageContainerImmutabilityPolicy komutunu çağırın.
Remove-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container>
-Etag $policy.Etag
Azure CLI ile kilitsiz bir zaman tabanlı saklama ilkesini değiştirmek için az storage container immutability-policy extend komutunu çağırarak gün cinsinden yeni bekletme aralığını sağlayın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
etag=$(az storage container immutability-policy show \
--account-name <storage-account> \
--container-name <container> \
--query etag \
--output tsv)
az storage container immutability-policy extend \
--resource-group <resource-group> \
--account-name <storage-account> \
--container-name <container> \
--period 21 \
--if-match $etag \
--allow-protected-append-writes-all true
Kilidi açılmış bir ilkeyi silmek için az storage container immutability-policy delete komutunu çağırın.
Zamana bağlı saklama ilkesini kilitleme
Zamana bağlı saklama ilkesini test etme işlemini tamamladığınızda, ilkeyi kilitleyebilirsiniz. Kilitli bir ilke SEC 17a-4(f) ve diğer mevzuat uyumluluğu ile uyumludur. Kilitli bir ilke için bekletme aralığını beş kata kadar uzatabilirsiniz, ancak kısaltamazsınız.
İlke kilitlendikten sonra silemezsiniz. Ancak, saklama aralığı dolduktan sonra blobu silebilirsiniz.
Azure portalı ile bir ilkeyi kilitlemek için şu adımları izleyin:
- Kilidi açılmış ilke içeren bir kapsayıcıya gidin.
- Sabit blob sürümleri bölümünde, mevcut kilidi açılmış ilkeyi bulun. Diğer düğmesini ve ardından menüden İlkeyi kilitle'yi seçin.
- İlkeyi kilitlemek istediğinizi onaylayın.
PowerShell ile bir ilkeyi kilitlemek için, ilkenin ETag'ini almak için önce Get-AzRmStorageContainerImmutabilityPolicy komutunu çağırın. Ardından Lock-AzRmStorageContainerImmutabilityPolicy komutunu çağırın ve ilkeyi kilitlemek için ETag değerini geçirin. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
$policy = Get-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container>
Lock-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName <resource-group> `
-AccountName <storage-account> `
-ContainerName <container> `
-Etag $policy.Etag
Azure CLI ile bir ilkeyi kilitlemek için önce ilkenin ETag'ini almak için az storage container immutability-policy show komutunu çağırın. Ardından az storage container immutability-policy lock komutunu çağırın ve ilkeyi kilitlemek için ETag değerini geçirin. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
etag=$(az storage container immutability-policy show \
--account-name <storage-account> \
--container-name <container> \
--query etag \
--output tsv)
az storage container immutability-policy lock \
--resource-group <resource-group> \
--account-name <storage-account> \
--container-name <container> \
--if-match $etag
Yasal tutma, yasal tutma açıkça temizlenene kadar sabit verileri depolar. Yasal tutma ilkeleri hakkında daha fazla bilgi edinmek için bkz . Sabit blob verileri için yasal tutmalar.
Azure portalıyla bir kapsayıcıda yasal tutma yapılandırmak için şu adımları izleyin:
İstediğiniz kapsayıcıya gidin.
Diğer düğmesini seçin ve Erişim ilkesi'ni seçin.
Sabit blob sürümleri bölümünde İlke ekle'yi seçin.
İlke türü olarak Yasal tutma'yı seçin.
Bir veya daha fazla yasal tutma etiketi ekleyin.
Korumalı ekleme yazmalarına izin verilip verilmeyeceğini seçin ve ardından Kaydet'i seçin.
Ekleme blobları seçeneği, ekleme bloğunun sonuna Ekleme Bloğu işlemini kullanarak iş yüklerinizin yeni veri blokları eklemesini sağlar.
Bu ayar, blok blobuna yeni bloklar yazma özelliği de ekler. Blob Depolama API'si, uygulamaların bunu doğrudan yapması için bir yol sağlamaz. Ancak, uygulamalar bunu Data Lake Storage API'sinde kullanılabilen ekleme ve temizleme yöntemlerini kullanarak gerçekleştirebilir. Ayrıca bu özellik, Azure Data Factory gibi Microsoft uygulamalarının iç API'leri kullanarak veri bloklarını eklemesini sağlar. İş yükleriniz bu araçlardan herhangi birine bağımlıysa, bu araçlar bloblara veri eklemeye çalıştığında oluşabilecek hataları önlemek için bu özelliği kullanabilirsiniz.
Bu seçenekler hakkında daha fazla bilgi edinmek için bkz . Korumalı ekleme blobları yazmalarına izin verme.
Değişmezlik ilkesini yapılandırdıktan sonra kapsamı kapsayıcı olarak belirlenmiştir:
Aşağıdaki görüntüde, hem zamana dayalı saklama ilkesi hem de yasal saklama yapılandırmasının yapılandırıldığı bir kapsayıcı gösterilmektedir.
Yasal saklamayı temizlemek için Erişim ilkesi iletişim kutusuna gidin ve ilkenin bağlam menüsünde Düzenle'yi seçin. Ardından, bekletmeyi temizlemek için ilkenin tüm etiketlerini silin.
PowerShell ile bir kapsayıcıda yasal tutma yapılandırmak için Add-AzRmStorageContainerLegalHold komutunu çağırın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
Add-AzRmStorageContainerLegalHold -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-Name <container> `
-Tag <tag1>,<tag2>,...`
-AllowProtectedAppendWriteAll true
Yasal bir saklamayı temizlemek için Remove-AzRmStorageContainerLegalHold komutunu çağırın :
Remove-AzRmStorageContainerLegalHold -ResourceGroupName <resource-group> `
-StorageAccountName <storage-account> `
-Name <container> `
-Tag <tag1>,<tag2>,...
PowerShell ile bir kapsayıcıda yasal tutma yapılandırmak için az storage container legal-hold set komutunu çağırın. Köşeli ayraçlardaki yer tutucu değerleri kendi değerlerinizle değiştirmeyi unutmayın:
az storage container legal-hold set \
--tags tag1 tag2 \
--container-name <container> \
--account-name <storage-account> \
--resource-group <resource-group> \
--allow-protected-append-writes-all true
Yasal bir saklamayı temizlemek için az storage container legal-hold clear komutunu çağırın:
az storage container legal-hold clear \
--tags tag1 tag2 \
--container-name <container> \
--account-name <storage-account> \
--resource-group <resource-group> \
Sonraki adımlar