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.
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.