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é.
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 et Delete 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. Vérifiez également que le System Topic Name associé au compte de stockage dont vous effectuez le suivi est affecté au Azure Service Bus Data Sender pour la file d’attente Azure Service Bus créée par l’application managée.
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. Veillez à marquer Managed identity type comme System Assigned.
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.
system-topic-name - Nom de la rubrique pour laquelle l’abonnement est créé (doit être identique à la rubrique nouvellement créée)
resource-group - Groupe de ressources où l’abonnement doit être créé
delivery-attribute-mapping - Mappage du champ sessionId requis. Entrer un ID de session unique
endpoint - ID de ressource de la file d’attente Service Bus qui s’abonne à la rubrique du compte de stockage
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.
az role assignment create \
--role "Storage Blob Data Owner" \
--assignee-object-id {function_oid} \
--assignee-principal-type ServicePrincipal\
--scope /subscriptions/{subscription}/resourceGroups/{resource_group}/providers/Microsoft.Storage/storageAccounts/{storage_account_name}
assignee-object-id - OID de la fonction Azure créée avec l’application managée. Se trouve sous le panneau « Identité »
scope - ID de ressource du compte de stockage pour lequel créer le rôle
Notes
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 :
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 :
Découvrez comment créer une application qui stocke des fichiers utilisateur avec le stockage Blob Azure, comment utiliser le stockage d’objets blob dans une application web et comment utiliser le kit de développement logiciel (SDK) du stockage Azure.
Expliquez les principes de base de la sécurité des données, de la gestion de cycle de vie, de la sécurité des informations et de la conformité pour protéger un déploiement Microsoft 365.