Skapa ett hanterat program för att lagra blobsammandrag
Förutsättningar
- Ett Azure Storage-konto
- Azure CLI (valfritt)
- Python-version som stöds av Azure SDK för Python (valfritt)
Översikt
Blob Storage Digest Backed by Confidential Ledger Managed Application kan användas för att garantera att blobarna i en blobcontainer är betrodda och inte manipulerade. Programmet, som en gång var anslutet till ett lagringskonto, spårar alla blobar som läggs till i varje container i lagringskontot i realtid förutom att beräkna och lagra sammandragen i Azure Confidential Ledger. Granskningar kan utföras när som helst för att kontrollera blobarnas giltighet och för att säkerställa att blobcontainern inte manipuleras.
Distribuera det hanterade programmet
Det hanterade programmet finns på Azure Marketplace här: Blob Storage Digests Backed by Confidential Ledger (förhandsversion).
Resurser som ska skapas
När de obligatoriska fälten har fyllts i och programmet har distribuerats skapas följande resurser under en hanterad resursgrupp:
- Konfidentiellt transaktionsregister
- Service Bus-kö med sessioner aktiverade
- Lagringskonto (Publisher-ägt lagringskonto som används för att lagra sammanfattad logik och granskningshistorik)
- Funktionsapp
- Application Insights
Anslut ett lagringskonto till det hanterade programmet
När ett hanterat program har skapats kan du sedan ansluta det hanterade programmet till ditt lagringskonto för att börja bearbeta och registrera blobcontainersammandrag till Azure Confidential Ledger.
Skapa ett ämne och en händelseprenumeration för lagringskontot
Det hanterade programmet använder en Azure Service Bus-kö för att spåra och registrera alla Create Blob-händelser . Du använder kön som skapats i den hanterade resursgruppen av det hanterade programmet och lägger till den som händelseprenumerant för alla lagringskonton som du skapar blobar för.
På Azure-portalen kan du gå till det lagringskonto som du vill börja skapa blobsammandrag för och gå till Events
bladet. Där kan du skapa en händelseprenumeration och ansluta den till Azure Service Bus-köslutpunkten.
Kön använder sessioner för att upprätthålla ordningen över flera lagringskonton, så du måste också gå till fliken Delivery Properties
och ange ett unikt sessions-ID för den här händelseprenumerationen.
Lägga till nödvändig roll i lagringskontot
Det hanterade programmet kräver Storage Blob Data Owner
att rollen läser och skapar hashar för varje blob och den här rollen måste läggas till för att sammanfattningen ska kunna beräknas korrekt.
Kommentar
Flera lagringskonton kan anslutas till en enda hanterad programinstans. Vi rekommenderar för närvarande högst 10 lagringskonton som innehåller blobcontainrar med hög användning.
Lägga till blobar och skapa sammandrag
När lagringskontot är korrekt anslutet till det hanterade programmet kan blobar börja läggas till i containrar i lagringskontot. Blobarna spåras i realtid och sammandrag beräknas och lagras i Azure Confidential Ledger.
Transaktions- och blocktabeller
Alla händelser för att skapa blobar spåras i interna tabeller som lagras i det hanterade programmet.
Transaktionstabellen innehåller information om varje blob och en unik hash som genereras med hjälp av en kombination av blobens metadata och/eller innehåll.
Blocktabellen innehåller information om varje sammandrag som skapas för blobcontainern och det associerade transaktions-ID:t för sammandraget lagras i Azure Confidential Ledger.
Sammanfattade inställningar
Det finns några sammanfattade inställningar som kan väljas när du skapar det hanterade programmet. Du kan välja den Hashing Algorithm
som används för att skapa sammanfattningarna oavsett om det är MD5
eller SHA256
. Du kan också välja antalet blobar som finns i varje sammandrag eller Digest Size
. Sammandragsstorleken sträcker sig från 1-16
och är antalet blobar som ska hashas ihop inom varje block. Slutligen kan du välja Hash Contents
och vad som ska hashas när du skapar varje sammandrag. Detta kan vara för File Contents + Metadata
varje blob eller bara File Contents
.
Visa sammanfattning i Azure Confidential Ledger
Du kan visa sammanfattningarna som lagras direkt i Azure Confidential Ledger genom att navigera till Ledger Explorer
bladet.
Utföra en granskning
Om du någonsin vill kontrollera giltigheten för de blobar som läggs till i en container för att säkerställa att de inte manipuleras kan en granskning köras när som helst. Granskningen spelar upp varje blobgenereringshändelse och beräknar om sammandragen med de blobar som lagras i containern under granskningen. Den jämför sedan de omberäknade sammandragen med de sammandrag som lagras i Azure Confidential och innehåller en rapport som visar alla sammandragsjämförelser och huruvida blobcontainern har manipulerats eller inte.
Utlösa en granskning
En granskning kan utlösas genom att inkludera följande meddelande till Service Bus-kön som är associerad med ditt hanterade program:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Se till att inkludera en Session ID
eftersom det finns sessioner aktiverade i kön.
Visa granskningsresultat
När en granskning har utförts kan resultatet av granskningen hittas under en container med namnet som finns <managed-application-name>-audit-records
i respektive lagringskonto. Resultatet innehåller den omberäknade sammandraget, sammanfattningen som hämtats från Azure Confidential Ledger och huruvida blobarna manipuleras eller inte.
Om du väljer e-postaviseringar när du skapar det hanterade programmet får du ett e-postmeddelande som skickas till din e-post under ett Audit Failure
eller ett Audit Success and Failure
beroende på vilket alternativ som väljs.
Loggning och fel
Felloggar finns under en container med namnet <managed-application-name>-error-logs
som finns i respektive lagringskonto. Om en blobgenereringshändelse eller granskningsprocess misslyckas registreras orsaken till felet och lagras i den här containern. Om det finns några frågor om felloggarna eller programfunktionerna kontaktar du supportteamet för Azure Confidential Ledger som anges i information om hanterat program.
Rensa hanterat program
Du kan ta bort det hanterade programmet för att rensa och ta bort alla associerade resurser. Om du tar bort det hanterade programmet hindras alla blobtransaktioner från att spåras och förhindrar att alla sammandrag skapas. Granskningsrapporterna är fortfarande giltiga för de blobar som lades till före borttagningen.
Fler resurser
Mer information om hanterade program och distribuerade resurser finns i följande länkar: