Udostępnij za pomocą


Zapis na poziomie wersji raz, odczyt wielu zasad (WORM) dla niezmiennych danych obiektów blob

Zasada niezmienności typu zapis raz, a odczyt wielokrotny (WORM) to rodzaj polityki, którą można ustawić na poziomie konta, kontenera lub wersji. Aby dowiedzieć się więcej na temat niezmiennych magazynów dla usługi Azure Blob Storage, zobacz Przechowywanie danych obiektów blob o krytycznym znaczeniu dla działania firmy z niezmiennym przechowywaniem w trybie jednokrotnego zapisu, wielokrotnego odczytu (WORM).

Dostępność

Zasady niezmienności na poziomie wersji (VLW) są obsługiwane na poziomie konta dla nowych kont oraz na poziomie kontenera i obiektu blob dla nowych i istniejących kont/kontenerów. Te zasady są obsługiwane zarówno dla kont obiektów blob ogólnego przeznaczenia w wersji 2, jak i dla kont premium typu block blob. Ta funkcja nie jest obsługiwana na kontach hierarchicznej przestrzeni nazw.

Zależność wersji

Zasady na poziomie wersji wymagają włączenia obsługi wersji obiektów blob dla konta magazynu. Aby dowiedzieć się, jak włączyć przechowywanie wersji obiektów blob, zobacz Włączanie przechowywania wersji obiektów blob i zarządzanie nimi. Należy pamiętać, że włączenie obsługi wersji może mieć wpływ na rozliczenia. Aby uzyskać więcej informacji, zobacz sekcję Cennik i rozliczenia dotyczącą wersjonowania Blob.

Po włączeniu obsługi wersji, po pierwszym przesłaniu obiektu blob, ta wersja obiektu blob staje się bieżącą wersją. Za każdym razem, gdy obiekt blob jest nadpisywany, tworzona jest nowa wersja, która zachowuje poprzedni stan obiektu blob. Po usunięciu bieżącej wersji obiektu blob bieżąca wersja stanie się poprzednią wersją i zostanie zachowana do momentu jawnego usunięcia. Poprzednia wersja blobu podlega zasadom przechowywania opartym na czasie, które obowiązywały w momencie, gdy bieżąca wersja stała się wersją poprzednią.

Jeśli zasady domyślne obowiązują dla konta magazynowego lub kontenera, to gdy operacja zastąpienia tworzy nową wcześniejszą wersję, nowa aktualna wersja dziedziczy domyślne zasady dla konta lub kontenera.

Każda wersja może mieć skonfigurowaną tylko jedną zasadę przechowywania opartą na czasie. Wersja może również mieć skonfigurowaną jedną blokadę prawną.

Aby dowiedzieć się, jak skonfigurować zasady zatrzymywania związane z czasem na poziomie wersji, zobacz Konfigurowanie zasad niezmienności dla wersji obiektów blob.

Umożliwienie i ustawianie polityki

Używanie niezmiennych zasad z funkcją WORM na poziomie wersji jest procesem dwuetapowym. Najpierw włącz niezmienność na poziomie wersji. Następnie można ustawić zasady niezmienności na poziomie wersji.

Aby ustawić zasady na poziomie konta magazynu, musisz najpierw włączyć WORM na poziomie wersji na koncie magazynu. Można to zrobić tylko w czasie tworzenia konta. Nie ma możliwości włączenia funkcji WORM na poziomie wersji dla istniejących kont.

Diagram przedstawiający ustalanie polityki niezmienialnego magazynu na poziomie wersji dla całego konta.

Aby ustawić zasady na poziomie kontenera, należy najpierw włączyć WORM na poziomie wersji na koncie LUB w kontenerze.

Jeśli planujesz włączyć WORM na poziomie wersji w kontenerze, firma Microsoft zaleca włączenie go w czasie tworzenia kontenera. Można jednak przeprowadzić migrację kontenera bez obsługi WORM na poziomie wersji do kontenera z obsługą WORM na poziomie wersji. Jeśli zdecydujesz się nie migrować kontenera, nadal możesz ustawić zasady WORM na poziomie kontenera dla tego kontenera, ale opcja ustawienia zasad na poziomie obiektów blob nie będzie dostępna w tym kontenerze.

Diagram przedstawiający ustawianie zasad niezmiennego magazynu na poziomie wersji na poziomie kontenera.

Aby ustawić zasady na poziomie obiektu blob, musisz włączyć WORM na poziomie wersji dla konta lub kontenera. Nie ma możliwości włączenia funkcji WORM na poziomie wersji dla obiektu blob; musi być odziedziczona.

Diagram przedstawiający ustawianie zasad niezmiennego magazynu na poziomie wersji na poziomie obiektu blob.

Migracja

Istniejące kontenery mogą obsługiwać niezmienność na poziomie wersji, ale najpierw muszą przejść proces migracji. Ten proces może zająć trochę czasu. Po włączeniu nie można usunąć obsługi WORM na poziomie wersji dla tego kontenera. Można migrować 10 kontenerów jednocześnie na każde konto magazynu. Czas migracji zależy przede wszystkim od liczby blobów w kontenerze. Migracja kontenerów z dużą liczbą obiektów blob zajmie znacznie więcej czasu. Aby uzyskać więcej informacji na temat migrowania kontenera do obsługi niezmienności na poziomie wersji, zobacz Migrowanie istniejącego kontenera w celu obsługi niezmienności na poziomie wersji.

Konfigurowanie zasad w bieżącej wersji

Po włączeniu obsługi niezmienności na poziomie wersji dla konta magazynu lub kontenera można skonfigurować domyślne zasady przechowywania na podstawie czasu dla konta lub kontenera. Podczas konfigurowania domyślnych zasad przechowywania opartych na czasie dla konta lub kontenera, a następnie przesyłania obiektu blob, obiekt ten dziedziczy te domyślne zasady. Możesz również zastąpić domyślną politykę dla dowolnego bloba podczas ładowania, konfigurując dla niego niestandardową politykę.

Jeśli domyślne zasady przechowywania na podstawie czasu dla konta lub kontenera zostaną odblokowane, aktualna wersja obiektu blob, która dziedziczy domyślne zasady, również będzie miała odblokowane zasady. Po załadowaniu indywidualnego bloba można skrócić lub przedłużyć okres przechowywania dla zasady bieżącej wersji bloba lub usunięcia bieżącej wersji. Można również zablokować zasady dla bieżącej wersji, nawet jeśli domyślne zasady na koncie lub kontenerze pozostają odblokowane.

Jeśli domyślne zasady przechowywania na podstawie czasu dla konta lub kontenera są zablokowane, to bieżąca wersja obiektu blob, która dziedziczy te zasady, również będzie miała zablokowane zasady. Jeśli jednak zasady domyślne zostają zastąpione podczas przekazywania obiektu blob przez ustawienie zasad tylko dla tego obiektu, to jego zasady pozostają odblokowane, dopóki nie zostaną one jawnie zablokowane. Gdy zasady w bieżącej wersji są zablokowane, można przedłużyć interwał przechowywania, ale nie można usunąć zasad ani skrócić interwału przechowywania.

Jeśli nie skonfigurowano domyślnych zasad dla konta magazynu lub kontenera, możesz załadować blob za pomocą zasad niestandardowych lub bez zasad.

Jeśli zasady domyślne na koncie magazynu lub kontenerze zostaną zmodyfikowane, zasady dotyczące obiektów w tym kontenerze pozostaną niezmienione, nawet jeśli te zasady zostały odziedziczone z zasad domyślnych.

W poniższej tabeli przedstawiono różne opcje ustawiania zasad przechowywania na podstawie czasu dla bloba podczas wysyłania.

Domyślny status polityki na koncie lub kontenerze Załaduj obiekt blob z domyślną polityką Prześlij obiekt blob z niestandardową polityką Przekaż obiekt blob bez polityki
Domyślne zasady dotyczące konta lub kontenera (odblokowane) Obiekt blob jest przesyłany z domyślnymi niezablokowanymi zasadami Obiekt blob jest przesyłany z niestandardową, odblokowaną polityką. Blob jest przesłany bez zasad
Domyślna polityka na koncie lub w kontenerze (zablokowana) Blob jest przesyłany z domyślnymi ustawieniami blokady. Obiekt blob jest przesyłany z niestandardową, odblokowaną polityką. Blob jest przesłany bez zasad
Brak domyślnych zasad dla konta lub kontenera N/A Obiekt blob jest przesyłany z niestandardową, odblokowaną polityką. Blob jest przesłany bez zasad

Konfigurowanie zasad w poprzedniej wersji

Po włączeniu obsługi wersji operacja zapisu lub usuwania obiektu blob tworzy nową poprzednią wersję tego obiektu blob, która zapisuje stan obiektu blob przed operacją. Domyślnie poprzednia wersja ma zasady przechowywania oparte na czasie, które obowiązywały dla bieżącej wersji, jeśli istnieje, gdy bieżąca wersja stała się poprzednią wersją. Najnowsza wersja dziedziczy politykę kontenera, jeśli taka istnieje.

Jeśli zasady dziedziczone przez poprzednią wersję są odblokowane, interwał przechowywania można skrócić lub wydłużyć lub usunąć zasady. Zasady w poprzedniej wersji można również zablokować dla tej wersji, nawet jeśli zasady w bieżącej wersji zostaną odblokowane.

Jeśli zasady dziedziczone przez poprzednią wersję są zablokowane, interwał przechowywania można wydłużyć. Nie można usunąć zasad ani skrócić interwału przechowywania. Jeśli w bieżącej wersji nie skonfigurowano żadnych zasad, poprzednia wersja nie dziedziczy żadnych zasad.

Można skonfigurować zasady niestandardowe dla wersji. Jeśli zasady dotyczące bieżącej wersji zostaną zmodyfikowane, zasady dotyczące istniejących poprzednich wersji pozostaną niezmienione, nawet jeśli zasady zostały odziedziczone z bieżącej wersji.

Usunięcie

Po włączeniu konta lub kontenera dla zasad niezmiennych nie można go usunąć, dopóki nie będzie on pusty. Najważniejsze jest to, że nie ma znaczenia, czy zasady niezmienne zostały ustawione na koncie WORM na poziomie wersji lub kontenerze, ma znaczenie, czy są włączone dla zasad. Po jego utworzeniu konto lub kontener muszą być puste, aby można je było usunąć.

Diagram przedstawiający kolejność operacji usuwania konta z zasadami niezmienności na poziomie wersji.

Kontener z włączoną polityką niezmienności można usunąć tylko przy użyciu operacji płaszczyzny sterowania. Wszystkie takie żądania są wysyłane do adresu URL usługi Azure Resource Manager. Na przykład polecenie programu PowerShell Remove-AzRmStorageContainer używa operacji płaszczyzny sterowania w celu usunięcia kontenera. Z kolei polecenie Remove-AzStorageContainer próbuje użyć operacji płaszczyzny danych, która nie powiedzie się. Podobnie komenda interfejsu wiersza polecenia Azure az storage container-rm delete używa operacji płaszczyzny sterowania, podczas gdy az storage container delete opiera się na operacji płaszczyzny danych. Kontener można również usunąć za pośrednictwem witryny Azure Portal, ponieważ wykonuje zadanie przy użyciu operacji płaszczyzny sterowania.

Scenariusze

Scenariusz Niedozwolone operacje Ochrona Blobów Ochrona kontenera Ochrona konta
Wersja obiektu blob jest chroniona przez aktywne zasady przechowywania oraz/lub obowiązuje blokada prawna. Usuwanie obiektu blob, ustawianie metadanych obiektu blob i umieszczanie strony Nie można usunąć wersji obiektu blob. Nie można zapisać metadanych użytkownika.
Nadpisywanie obiektu blob za pomocą polecenia Put Blob, Put Block List lub Copy Blob tworzy nową wersję1.
Usuwanie kontenera kończy się niepowodzeniem, jeśli w kontenerze istnieje co najmniej jeden blob, niezależnie od tego, czy zasada jest zablokowana, czy odblokowana. Usunięcie konta magazynu nie powiedzie się, jeśli istnieje co najmniej jeden kontener z włączoną niezmienną pamięcią na poziomie wersji, lub jeśli jest ona włączona dla konta.
Wersja obiektu blob jest chroniona przez wygasłe zasady przechowywania i nie obowiązuje żadna blokada prawna Ustaw metadane obiektu blob i zapisz stronę Wersja obiektu blob jest chroniona przez wygasłe zasady przechowywania i nie obowiązuje żadna blokada prawna Wersję obiektu blob można usunąć.
Nadpisywanie obiektu blob za pomocą polecenia Put Blob, Put Block List lub Copy Blob tworzy nową wersję1.
Usunięcie konta magazynu kończy się niepowodzeniem, jeśli istnieje co najmniej jeden kontener zawierający wersję obiektu blob z zablokowaną polityką retencji opartą na czasie.
Odblokowane zasady nie zapewniają ochrony przed usuwaniem.

1 Wersje obiektów blob są zawsze niezmienne pod względem zawartości. Jeśli dla konta magazynu włączono wersjonowanie, operacja zapisu w blokowym blobie tworzy nową wersję, z wyjątkiem operacji Put Block.

Limity

Na jednym koncie można ustawić tylko 10 000 kontenerów z unikatowymi zasadami przechowywania na podstawie czasu; Można jednak ustawić zasady na poziomie konta, które będą dziedziczone przez więcej niż 10 000 kontenerów.

Następne kroki