Skriv på containernivå en gång, läs många (WORM)-principer för oföränderliga blobdata

En skrivprincip på containernivå en gång, read many (WORM) är en typ av oföränderlighetsprincip som kan anges på containernivå. Mer information om oföränderlig lagring för Azure Blob Storage finns i Lagra affärskritiska blobdata med oföränderlig lagring i ett skrivläge en gång, läs många (WORM) tillstånd

Tillgänglighet

CLW-principer (Container Level WORM) är tillgängliga för alla nya och befintliga containrar. Dessa principer stöds för generell användning v2, premiumblockblob, generell användning v1 (äldre) och bloblagringskonton (äldre).

Dricks

Microsoft rekommenderar att du uppgraderar konton för generell användning v1 till generell användning v2 så att du kan dra nytta av fler funktioner. Information om hur du uppgraderar ett befintligt v1-lagringskonto för generell användning finns i Uppgradera ett lagringskonto.

Den här funktionen stöds för hierarkiska namnområdeskonton. Om hierarkiskt namnområde är aktiverat kan du inte byta namn på eller flytta en blob när bloben är i oföränderligt tillstånd. Både blobnamnet och katalogstrukturen tillhandahåller viktiga data på containernivå som inte kan ändras när den oföränderliga principen har införts.

Det finns ingen aktiveringsprocess för den här funktionen. den är automatiskt tillgänglig för alla containrar. Mer information om hur du anger en princip för en ny eller befintlig container finns i Konfigurera worm-oföränderlighetsprinciper på containernivå.

Borttagning

En container med en WORM-principuppsättning på containernivå måste vara tom innan containern kan tas bort. Om det finns en principuppsättning på en container med hierarkiskt namnområde aktiverat måste en katalog vara tom innan den kan tas bort.

Diagram som visar ordningen på åtgärder vid borttagning av ett konto som har en WORM-princip på containernivå.

Scenarier

Scenario Otillåtna åtgärder Blobskydd Containerskydd Kontoskydd
En container skyddas av en aktiv tidsbaserad kvarhållningsprincip med containeromfång och/eller ett juridiskt undantag gäller Ta bort blob, placera blob1, ange blobmetadata, placera sida, ange blobegenskaper, ögonblicksbildblob, inkrementell kopieringsblob, tilläggsblock2 Alla blobar i containern är oföränderliga för innehåll och användarmetadata. Det går inte att ta bort containrar om en WORM-princip på containernivå är i kraft. Det går inte att ta bort lagringskontot om det finns en container med minst en blob.
En container skyddas av en tidsbaserad kvarhållningsprincip som har upphört att gälla med containeromfånget och inget juridiskt undantag gäller Placera blob1, ange blobmetadata, placera sida, ange blobegenskaper, ögonblicksbildblob, inkrementell kopieringsblob, tilläggsblock2 Borttagningsåtgärder tillåts. Skriv över åtgärder tillåts inte. Det går inte att ta bort containrar om det finns minst en blob i containern, oavsett om principen är låst eller olåst. Det går inte att ta bort lagringskontot om det finns minst en container med en låst tidsbaserad kvarhållningsprincip.
Olåsda principer ger inte borttagningsskydd.

1 Azure Storage tillåter put blob-åtgärden för att skapa en ny blob. Efterföljande överskrivningsåtgärder på en befintlig blobsökväg i en oföränderlig container tillåts inte.

2 Åtgärden Lägg till block tillåts endast för principer med egenskapen allowProtectedAppendWrites eller allowProtectedAppendWritesAll aktiverat.

Tillåt skrivning av skyddade tilläggsblobar

Tilläggsblobbar består av datablock och optimeras för databisättningsåtgärder som krävs av gransknings- och loggningsscenarier. Enligt design tillåter tilläggsblobar endast tillägg av nya block i slutet av blobben. Oavsett oföränderlighet tillåts inte ändringar eller borttagning av befintliga block i en tilläggsblob i grunden. Mer information om tilläggsblobar finns i Om tilläggsblobar.

Med egenskapsinställningen allowProtectedAppendWrites kan du skriva nya block till en tilläggsblob samtidigt som oföränderligt skydd och efterlevnad upprätthålls. Om den här inställningen är aktiverad kan du skapa en tilläggsblob direkt i den principskyddade containern och sedan fortsätta att lägga till nya datablock i slutet av tilläggsbloben med åtgärden Lägg till block. Det går bara att lägga till nya block. befintliga block kan inte ändras eller tas bort. Om du aktiverar den här inställningen påverkas inte oföränderlighetsbeteendet för blockblobar eller sidblobbar.

Egenskapsinställningen AllowProtectedAppendWritesAll ger samma behörigheter som egenskapen allowProtectedAppendWrites och lägger till möjligheten att skriva nya block till en blockblob. Blob Storage-API:et tillhandahåller inte något sätt för program att göra detta direkt. Program kan dock åstadkomma detta med hjälp av tilläggs- och tömningsmetoder som är tillgängliga i Data Lake Storage Gen2-API:et. Den här egenskapen gör det också möjligt för Microsoft-program som Azure Data Factory att lägga till datablock med hjälp av interna API:er. Om dina arbetsbelastningar är beroende av något av dessa verktyg kan du använda den här egenskapen för att undvika fel som kan visas när dessa verktyg försöker lägga till data i blobar.

Tilläggsblobar förblir i oföränderligt tillstånd under den effektiva kvarhållningsperioden. Eftersom nya data kan läggas till utöver det första skapandet av tilläggsbloben finns det en liten skillnad i hur kvarhållningsperioden bestäms. Den effektiva kvarhållningen är skillnaden mellan tilläggsblobens senaste ändringstid och det användardefinierade kvarhållningsintervallet. På samma sätt, när kvarhållningsintervallet utökas, använder oföränderlig lagring det senaste värdet för det användardefinierade kvarhållningsintervallet för att beräkna den effektiva kvarhållningsperioden.

Anta till exempel att en användare skapar en tidsbaserad kvarhållningsprincip med egenskapen allowProtectedAppendWrites aktiverad och ett kvarhållningsintervall på 90 dagar. En tilläggsblob, logblob1, skapas i containern idag, nya loggar fortsätter att läggas till i tilläggsbloben under de kommande 10 dagarna, så att den effektiva kvarhållningsperioden för logblob1 är 100 dagar från idag (tiden för dess senaste tillägg + 90 dagar).

Olåst tidsbaserade kvarhållningsprinciper tillåter att egenskapen allowProtectedAppendWrites och egenskapen AllowProtectedAppendWritesAlla aktiveras och inaktiveras när som helst. När den tidsbaserade kvarhållningsprincipen är låst kan inte allowProtectedAppendWrites och Egenskapen AllowProtectedAppendWritesAlla egenskapsinställningar ändras.

Gränser

  • För ett lagringskonto är det maximala antalet containrar med en oföränderlig princip (tidsbaserad kvarhållning eller bevarande av juridiska skäl) 10 000.

  • För en container är det maximala antalet juridiska undantagstaggar samtidigt 10.

  • Den minsta längden på en tagg för bevarande av juridiska skäl är tre alfanumeriska tecken. Den maximala längden är 23 alfanumeriska tecken.

  • För en container behålls högst 10 granskningsloggar för princip för bevarande av juridiska skäl under principens varaktighet.

Nästa steg