Creare un'applicazione gestita per archiviare i digest BLOB
Prerequisiti
- Un account di archiviazione di Azure
- Interfaccia della riga di comando di Azure (facoltativo)
- Versione di Python supportata da Azure SDK per Python (facoltativo)
Panoramica
Il blob Archiviazione digest supportato dall'applicazione gestita di contabilità riservata può essere usato per garantire che i BLOB all'interno di un contenitore BLOB siano attendibili e non manomessi. L'applicazione, una volta connessa a un account di archiviazione, tiene traccia di tutti i BLOB aggiunti a ogni contenitore nell'account di archiviazione in tempo reale, oltre a calcolare e archiviare i digest nel libro mastro riservato di Azure. I controlli possono essere eseguiti in qualsiasi momento per verificare la validità dei BLOB e per assicurarsi che il contenitore BLOB non venga manomesso.
Distribuzione dell'applicazione gestita
L'applicazione gestita è disponibile in Azure Marketplace qui: BLOB Archiviazione digest supportati da Libro mastro riservato (anteprima).
Risorse da creare
Dopo aver compilato i campi obbligatori e aver distribuito l'applicazione, le risorse seguenti vengono create in un gruppo di risorse gestite:
- Libro mastro riservato
- bus di servizio Coda con sessioni abilitate
- Archiviazione Account (account di archiviazione di proprietà dell'editore usato per archiviare la logica di digest e la cronologia di controllo)
- App per le funzioni
- Application Insights
Connessione un account di archiviazione all'applicazione gestita
Dopo aver creato un'applicazione gestita, è possibile connettere l'applicazione gestita all'account Archiviazione per avviare l'elaborazione e la registrazione dei digest del contenitore BLOB al libro mastro riservato di Azure.
Creare un argomento e una sottoscrizione di eventi per l'account di archiviazione
L'applicazione gestita usa una coda bus di servizio di Azure per tenere traccia e registrare tutti gli eventi Create BLOB. Si userà la coda creata nel gruppo di risorse gestite dall'applicazione gestita e la si aggiungerà come Sottoscrittore eventi per qualsiasi account di archiviazione per cui si stanno creando BLOB.
Nella portale di Azure è possibile passare all'account di archiviazione per cui si vogliono iniziare a creare digest BLOB e passare al Events
pannello. È possibile creare una sottoscrizione di eventi e connetterla all'endpoint della coda bus di servizio di Azure.
La coda usa le sessioni per mantenere l'ordinamento tra più account di archiviazione, quindi sarà anche necessario passare alla Delivery Properties
scheda e immettere un ID sessione univoco per questa sottoscrizione di eventi.
Aggiungere il ruolo necessario all'account di archiviazione
L'applicazione gestita richiede il Storage Blob Data Owner
ruolo per leggere e creare hash per ogni BLOB e questo ruolo deve essere aggiunto affinché il digest venga calcolato correttamente.
Nota
È possibile connettere più account di archiviazione a una singola istanza dell'applicazione gestita. È attualmente consigliabile un massimo di 10 account di archiviazione che contengono contenitori BLOB con utilizzo elevato.
Aggiunta di BLOB e creazione del digest
Dopo che l'account di archiviazione è connesso correttamente all'applicazione gestita, i BLOB possono iniziare ad essere aggiunti ai contenitori all'interno dell'account di archiviazione. I BLOB vengono rilevati in tempo reale e i digest vengono calcolati e archiviati nel libro mastro riservato di Azure.
Tabelle transazioni e blocchi
Tutti gli eventi di creazione di BLOB vengono rilevati nelle tabelle interne archiviate nell'applicazione gestita.
La tabella delle transazioni contiene informazioni su ogni BLOB e un hash univoco generato usando una combinazione dei metadati e del contenuto del BLOB.
La tabella di blocchi contiene informazioni correlate a ogni digest creato per il contenitore BLOB e l'ID transazione associato per il digest viene archiviato in Registro dati riservati di Azure.
Nota
Ogni evento di creazione di BLOB non comporterà la creazione di un digest. I digest vengono creati dopo il raggiungimento di una determinata dimensione del blocco. Attualmente, verrà creato un digest per ogni 4 eventi di creazione di BLOB.
Visualizzazione del digest nel libro mastro riservato di Azure
È possibile visualizzare i digest archiviati direttamente nel libro mastro riservato di Azure passando al Ledger Explorer
pannello.
Esecuzione di un controllo
Se si vuole verificare la validità dei BLOB aggiunti a un contenitore per assicurarsi che non vengano manomessi, è possibile eseguire un controllo in qualsiasi momento. Il controllo riproduce ogni evento di creazione di BLOB e ricalcola i digest con i BLOB archiviati nel contenitore durante il controllo. Confronta quindi i digest ricalcolati con i digest archiviati in Riservato di Azure e fornisce un report che visualizza tutti i confronti di digest e se il contenitore BLOB viene manomesso o meno.
Attivazione di un controllo
Un controllo può essere attivato includendo il messaggio seguente alla coda di bus di servizio associata all'applicazione gestita:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Assicurarsi di includere un oggetto Session ID
perché nella coda sono abilitate le sessioni.
Visualizzazione dei risultati del controllo
Una volta eseguito correttamente un controllo, i risultati del controllo sono disponibili in un contenitore denominato <managed-application-name>-audit-records
trovato all'interno del rispettivo account di archiviazione. I risultati contengono il digest ricalcolato, il digest recuperato dal libro mastro riservato di Azure e se i BLOB vengono manomessi o meno.
Registrazione ed errori
I log degli errori sono disponibili in un contenitore denominato <managed-application-name>-error-logs
trovato all'interno dell'account di archiviazione corrispondente. Se un evento di creazione blob o un processo di controllo ha esito negativo, la causa dell'errore viene registrata e archiviata in questo contenitore. In caso di domande sui log degli errori o sulle funzionalità dell'applicazione, contattare il team di supporto di Azure Confidential Ledger fornito nei dettagli dell'applicazione gestita.
Pulire l'applicazione gestita
È possibile eliminare l'applicazione gestita per pulire e rimuovere tutte le risorse associate. L'eliminazione dell'applicazione gestita impedisce la registrazione di tutte le transazioni BLOB e impedisce la creazione di tutti i digest. I report di controllo rimangono validi per i BLOB aggiunti prima dell'eliminazione.
Altre risorse
Per altre informazioni sulle applicazioni gestite e sulle risorse distribuite, vedere i collegamenti seguenti: