Créer une application managée pour stocker des synthèses d’objets blob
Prérequis
- Compte Stockage Azure
- Azure CLI (facultatif)
- Version de Python prise en charge par le kit de développement logiciel (SDK) Azure pour Python (facultatif)
Vue d’ensemble
L’application managée Blob Storage Digest by Confidential Ledger peut être utilisée pour garantir que les objets blob au sein d’un conteneur d’objets blob sont approuvés et non falsifiés. L’application, une fois connectée à un compte de stockage, suit tous les objets blob ajoutés à chaque conteneur du compte de stockage en temps réel, en plus de calculer et de stocker les synthèses dans le registre confidentiel Azure. Des audits peuvent être effectués à tout moment pour vérifier la validité des objets blob et s’assurer que le conteneur d’objets blob n’est pas falsifié.
Déployer l’application managée
L’application managée se trouve dans la Place de marché Azure ici : Blob Storage Digest by Confidential Ledger (préversion).
Ressources à créer
Une fois les champs obligatoires remplis et que l’application est déployée, les ressources suivantes sont créées sous un groupe de ressources managé :
- Registre confidentiel
- File d’attente Service Bus avec Sessions activé
- Compte de stockage (compte de stockage appartenant au serveur de publication utilisé pour stocker la logique de synthèse et l’historique d’audit)
- Application de fonction
- Application Insights
Connecter un compte de stockage à l’application managée
Une fois qu’une application managée est créée, vous pouvez ensuite la connecter à votre compte de stockage pour démarrer le traitement et l’enregistrement des synthèses de conteneur d’objets blob dans le registre confidentiel Azure.
Créer une rubrique et un abonnement aux évènements pour le compte de stockage
L’application managée utilise une file d’attente Azure Service Bus pour suivre et enregistrer tous les évènements Create Blob. Vous utiliserez la file d’attente créée dans le groupe de ressources managé par l’application managée et vous l’ajouterez en tant qu’Abonné aux événements pour tout compte de stockage pour lequel vous créez des objets blob.
Sur le Portail Azure, vous pouvez accéder au compte de stockage pour lequel vous souhaitez commencer à créer des synthèses d’objets blob et accéder au panneau Events
. De là, vous pouvez créer un Abonnement aux évènements et le connecter au point de terminaison de la file d’attente Azure Service Bus.
La file d’attente utilise des sessions pour faire respecter l’ordre sur plusieurs comptes de stockage. Vous devez donc également accéder à l’onglet Delivery Properties
et entrer un ID de session unique pour cet abonnement aux évènements.
Ajouter un rôle requis au compte de stockage
L’application managée nécessite que le rôle Storage Blob Data Owner
lise et crée des hachages pour chaque objet blob et ce rôle doit être ajouté pour que la synthèse soit calculée correctement.
Remarque
Plusieurs comptes de stockage peuvent être connectés à une seule instance d’application managée. Nous recommandons actuellement un maximum de 10 comptes de stockage contenant des conteneurs d’objets blob à utilisation élevée.
Ajouter des objets blob et créer la synthèse
Une fois que le compte de stockage est correctement connecté à l’application managée, les objets blob peuvent commencer à être ajoutés aux conteneurs au sein du compte de stockage. Les objets blob sont suivis en temps réel et les synthèses sont calculées et stockées dans le registre confidentiel Azure.
Tables de transactions et de blocs
Tous les évènements de création d’objets blob sont suivis dans des tables internes stockées dans l’application managée.
La table de transactions contient des informations sur chaque objet blob et un hachage unique généré à l’aide d’une combinaison des métadonnées et/ou du contenu de l’objet blob.
La table de blocs contient des informations relatives à chaque synthèse créée pour le conteneur d’objets blob et l’ID de transaction associé de la synthèse est stocké dans le registre confidentiel Azure.
Paramètres de synthèse
Il existe quelques paramètres de synthèse qui peuvent être sélectionnés lors de la création de l’application managée. Vous pouvez choisir le Hashing Algorithm
utilisé pour créer les synthèses, qu’il s’agisse de MD5
ou de SHA256
. Vous pouvez également choisir le nombre d’objets blob contenus dans chaque synthèse ou le Digest Size
. La taille de synthèse est comprise entre 1-16
et correspond au nombre d’objets blob qui seront hachés ensemble dans chaque bloc. Enfin, vous pouvez sélectionner le Hash Contents
et ce qui sera haché lors de la création de chaque synthèse. Il peut s’agir du File Contents + Metadata
de chaque objet blob ou simplement du File Contents
.
Afficher la synthèse sur le registre confidentiel Azure
Vous pouvez afficher les synthèses stockées directement dans le registre confidentiel Azure en accédant au panneau Ledger Explorer
.
Exécuter un audit
Si vous souhaitez vérifier la validité des objets blob ajoutés à un conteneur pour vous assurer qu’ils ne sont pas falsifiés, un audit peut être exécuté à tout moment. L’audit relit chaque évènement de création d’objet blob et recalcule les synthèses avec les objets blob stockés dans le conteneur pendant l’audit. Il compare ensuite les synthèses recalculées aux synthèses stockées dans Azure Confidentiel et fournit un rapport affichant toutes les comparaisons de synthèses et si le conteneur d’objets blob est falsifié ou non.
Déclencher un audit
Un audit peut être déclenché en incluant le message suivant dans la file d’attente Service Bus associée à votre application managée :
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Veillez à inclure une Session ID
car des sessions sont activées sur la file d’attente.
Afficher les résultats d’audit
Une fois qu’un audit a été effectué avec succès, ses résultats peuvent être consultés sous un conteneur nommé <managed-application-name>-audit-records
dans le compte de stockage correspondant. Les résultats contiennent la synthèse recalculée, la synthèse récupérée depuis le registre confidentiel Azure et indique si les objets blob sont falsifiés ou non.
Lorsque vous créez l’application managée, si vous optez pour les alertes par e-mail, vous recevez un e-mail lors d’un Audit Failure
ou d’une Audit Success and Failure
en fonction de l’option sélectionnée.
Journalisation et erreurs
Les journaux des erreurs se trouvent sous un conteneur nommé <managed-application-name>-error-logs
dans le compte de stockage correspondant. Si un évènement de création d’objet blob ou un processus d’audit échoue, la cause de l’échec est enregistrée et stockée dans ce conteneur. S’il existe des questions sur les journaux des erreurs ou la fonctionnalité de l’application, contactez le support technique du registre confidentiel Azure indiqué dans les détails de l’application managée.
Nettoyer une application managée
Vous pouvez supprimer une application managée pour nettoyer et supprimer toutes les ressources associées. Supprimer une application managée arrête le suivi de toutes les transactions d’objet blob et arrête la création de toutes les synthèses. Les rapports d’audit restent valides pour les objets blob qui ont été ajoutés avant la suppression.
Plus de ressources
Pour plus d’informations sur les applications managées et les ressources déployées, consultez les liens suivants :