Een beheerde toepassing maken voor het opslaan van blob-digests
Vereisten
- Een Azure Storage-account
- Azure CLI (optioneel)
- Python-versie die wordt ondersteund door de Azure SDK voor Python (optioneel)
Overzicht
De Blob Storage-samenvatting die wordt ondersteund door een beheerde toepassing met vertrouwelijk grootboek kan worden gebruikt om te garanderen dat de blobs in een blobcontainer worden vertrouwd en niet worden gemanipuleerd. Nadat de toepassing is verbonden met een opslagaccount, worden alle blobs bijgehouden die in realtime worden toegevoegd aan elke container in het opslagaccount, naast het berekenen en opslaan van de digests in Azure Confidential Ledger. Controles kunnen op elk gewenst moment worden uitgevoerd om de geldigheid van de blobs te controleren en ervoor te zorgen dat er niet met de blobcontainer wordt geknoeid.
De beheerde toepassing implementeren
De beheerde toepassing vindt u hier in Azure Marketplace: Blob Storage-samenvattingen ondersteund door vertrouwelijk grootboek (preview).
Resources die moeten worden gemaakt
Zodra de vereiste velden zijn ingevuld en de toepassing is geïmplementeerd, worden de volgende resources gemaakt onder een beheerde resourcegroep:
- Vertrouwelijk grootboek
- Service Bus-wachtrij waarvoor sessies zijn ingeschakeld
- Opslagaccount (opslagaccount in eigendom van Publisher dat wordt gebruikt voor het opslaan van samenvattingslogica en controlegeschiedenis)
- Functie-app
- Application Insights
Een opslagaccount verbinden met de beheerde toepassing
Zodra een beheerde toepassing is gemaakt, kunt u de beheerde toepassing verbinden met uw opslagaccount om te beginnen met het verwerken en opnemen van Blob Container-digests met Azure Confidential Ledger.
Een onderwerp en gebeurtenisabonnement maken voor het opslagaccount
De beheerde toepassing maakt gebruik van een Azure Service Bus-wachtrij om alle blob-gebeurtenissen bij te houden en vast te leggen. U gebruikt de wachtrij die is gemaakt in de beheerde resourcegroep door de beheerde toepassing en voegt deze toe als gebeurtenisabonnee voor elk opslagaccount waarvoor u blobs maakt.
In Azure Portal kunt u navigeren naar het opslagaccount waarvoor u blob-digests wilt maken en naar de Events
blade gaan. Daar kunt u een gebeurtenisabonnement maken en dit verbinden met het Azure Service Bus-wachtrijeindpunt.
In de wachtrij worden sessies gebruikt om de volgorde tussen meerdere opslagaccounts te behouden, zodat u ook naar het Delivery Properties
tabblad moet navigeren en een unieke sessie-id voor dit gebeurtenisabonnement moet invoeren.
Vereiste rol toevoegen aan opslagaccount
Voor de beheerde toepassing moet de Storage Blob Data Owner
rol hashes voor elke blob lezen en maken. Deze rol moet worden toegevoegd om de digest correct te kunnen berekenen.
Notitie
Meerdere opslagaccounts kunnen worden verbonden met één beheerd toepassingsexemplaren. We raden momenteel maximaal 10 opslagaccounts aan die blobcontainers met hoog gebruik bevatten.
Blobs en digest maken toevoegen
Zodra het opslagaccount correct is verbonden met de beheerde toepassing, kunnen blobs worden toegevoegd aan containers binnen het opslagaccount. De blobs worden in realtime bijgehouden en samenvattingen worden berekend en opgeslagen in Azure Confidential Ledger.
Transactie- en bloktabellen
Alle gebeurtenissen voor het maken van blobs worden bijgehouden in interne tabellen die zijn opgeslagen in de beheerde toepassing.
De transactietabel bevat informatie over elke blob en een unieke hash die wordt gegenereerd met behulp van een combinatie van de metagegevens en/of inhoud van de blob.
De bloktabel bevat informatie met betrekking tot elke digest die wordt gemaakt voor de blobcontainer en de bijbehorende transactie-id voor de digest wordt opgeslagen in Azure Confidential Ledger.
Samenvattingsinstellingen
Er zijn enkele samenvattingsinstellingen die kunnen worden geselecteerd bij het maken van de beheerde toepassing. U kunt kiezen welke Hashing Algorithm
bewerking wordt gebruikt om de samenvattingen te maken, ongeacht of het wel MD5
of SHA256
. U kunt ook het aantal blobs kiezen dat zich in elke digest of de Digest Size
. De digestgrootte varieert van 1-16
en is het aantal blobs dat in elk blok wordt gehasht. Ten slotte kunt u de Hash Contents
en wat er wordt gehasht bij het maken van elke digest. Dit kan de File Contents + Metadata
van elke blob zijn of alleen de File Contents
.
Samenvatting weergeven in Azure Confidential Ledger
U kunt de samenvattingen bekijken die rechtstreeks in Azure Confidential Ledger worden opgeslagen door naar de Ledger Explorer
blade te navigeren.
Een controle uitvoeren
Als u ooit de geldigheid wilt controleren van de blobs die aan een container worden toegevoegd om ervoor te zorgen dat er niet met deze blobs wordt geknoeid, kan er op elk moment een controle worden uitgevoerd. Met de controle wordt elke gebeurtenis voor het maken van een blob opnieuw afgespeeld en worden de samenvattingen herberekend met de blobs die tijdens de controle in de container zijn opgeslagen. Vervolgens worden de herberekende samenvattingen vergeleken met de samenvattingen die zijn opgeslagen in Azure Confidential en wordt een rapport weergegeven waarin alle samenvattingsvergelijkingen worden weergegeven en of er al dan niet met de blobcontainer wordt geknoeid.
Een controle activeren
Een controle kan worden geactiveerd door het volgende bericht op te geven aan de Service Bus-wachtrij die is gekoppeld aan uw beheerde toepassing:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Zorg ervoor dat een Session ID
sessie is ingeschakeld als de wachtrij is ingeschakeld.
Controleresultaten weergeven
Zodra een controle is uitgevoerd, zijn de resultaten van de controle te vinden onder een container met de naam gevonden <managed-application-name>-audit-records
in het respectieve opslagaccount. De resultaten bevatten de herberekende digest, de digest die is opgehaald uit Azure Confidential Ledger en of er al dan niet met de blobs wordt geknoeid.
Wanneer u de beheerde toepassing maakt, ontvangt u, als u kiest voor e-mailwaarschuwingen, een e-mail die tijdens een Audit Failure
of een Audit Success and Failure
van de geselecteerde opties naar uw e-mail wordt verzonden.
Logboekregistratie en fouten
Foutlogboeken vindt u onder een container die is gevonden <managed-application-name>-error-logs
in het respectieve opslagaccount. Als een gebeurtenis of controleproces voor het maken van een blob mislukt, wordt de oorzaak van de fout vastgelegd en opgeslagen in deze container. Als er vragen zijn over de foutenlogboeken of toepassingsfunctionaliteit, neemt u contact op met het ondersteuningsteam van Azure Confidential Ledger in de details van de beheerde toepassing.
Beheerde toepassing opschonen
U kunt de beheerde toepassing verwijderen om alle gekoppelde resources op te schonen en te verwijderen. Als u de beheerde toepassing verwijdert, worden alle blobtransacties niet meer bijgehouden en worden alle digests niet meer gemaakt. Controlerapporten blijven geldig voor de blobs die vóór de verwijdering zijn toegevoegd.
Meer resources
Zie de volgende koppelingen voor meer informatie over beheerde toepassingen en de geïmplementeerde resources: