Partager via


Créer une application managée pour stocker des synthèses d’objets blob

Vous pouvez utiliser la synthèse de Stockage Blob Azure prise en charge par l’application managée du registre confidentiel Azure afin de vous assurer que les objets blob contenus au sein d’un conteneur d’objets blob sont fiables et non falsifiés. Une fois l’application connectée à un compte de stockage, elle effectue le suivi de tous les objets blob ajoutés à chaque conteneur du compte de stockage en temps réel. Il calcule et stocke également les synthèses dans le registre confidentiel. Vous pouvez effectuer des audits à tout moment pour vérifier la validité des objets blob et garantir que le conteneur d’objets blob n’a pas été falsifié.

Prérequis

Déployer l’application managée

Pour rechercher l’application managée dans Azure Marketplace, consultez Synthèses du Stockage Blob prises en charge par le registre confidentiel (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é :

Connecter un compte de stockage à l’application managée

Une fois l’application managée déployée avec succès, vous pouvez la connecter à un compte de stockage Azure pour activer le traitement et l’enregistrement des synthèses de conteneurs d’objets blob dans le registre confidentiel.

L’application managée prend actuellement en charge les types de comptes de stockage suivants :

  • Comptes de stockage standard General-Purpose v2, y compris les comptes configurés pour les niveaux chaud, froid ou archive.
  • Comptes Azure Data Lake Storage Gen2, avec l'espace de noms hiérarchique activé.
  • Comptes de stockage avec des configurations de points de terminaison publics ou privés, si les autorisations réseau et d’identité appropriées sont accordées.
  • Niveaux de performances Standard ou Premium si le service Blob est activé.

Seul le stockage Blob est pris en charge. D'autres services (par exemple, Azure Files, Stockage de table ou Stockage de file d'attente) ne s'appliquent pas à une utilisation avec l'application gérée.

Créer une rubrique et un abonnement aux évènements pour le compte de stockage

L’application managée utilise une file d’attente Service Bus pour suivre et enregistrer tous les événements Create Blob et Delete Blob . Vous utilisez la file d’attente créée dans le groupe de ressources managé par l’application managée et l'ajoutez comme abonné aux événements pour n’importe quel compte de stockage pour lesquels vous créez des blobs. Vérifiez également que la valeur Nom de la rubrique système associée au compte de stockage que vous suivez est affectée au rôle Expéditeur de données Azure Service Bus pour la file d’attente Service Bus créée par l’application managée.

Capture d’écran montrant comment configurer un rôle Service Bus.

Capture d’écran montrant comment configurer un abonnement aux événements de stockage.

Dans 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 volet Événements . Vous pouvez créer un abonnement aux événements et le connecter au point de terminaison de file d’attente Service Bus. Pour le type d’identité managée, sélectionnez Affectée par le système.

Capture d’écran montrant comment configurer un ID de session d’abonnement aux événements de stockage.

La file d’attente utilise des sessions pour maintenir l’ordre sur plusieurs comptes de stockage, vous devez également accéder à l’onglet Propriétés de remise pour entrer un ID de session unique pour cet abonnement d’événements.

Ajouter un rôle requis à un compte de stockage

L’application managée requiert le rôle Propriétaire des données Blob du stockage pour lire et créer des hachages pour chaque objet blob. Vous devez ajouter ce rôle afin que le digest soit calculé correctement.

Capture d’écran montrant comment configurer une identité managée pour l’application managée.

Remarque

Vous pouvez connecter plusieurs comptes de stockage à 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 des synthèses

Une fois que le compte de stockage est correctement connecté à l’application managée, vous pouvez commencer à ajouter des objets blob aux conteneurs au sein du compte de stockage. Les objets blob sont suivis en temps réel. Les synthèses sont calculées et stockées dans le registre confidentiel.

Tables de transactions et de blocs

Tous les événements de création d’objets blob sont suivis dans les tables internes stockées dans l’application managée.

Capture d’écran montrant la table de transactions où les hachages de BLOB sont stockés.

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 ou du contenu de l’objet blob.

Capture d’écran montrant la table de blocs dans laquelle les informations de synthèse sont stockées.

La table de blocs contient les informations relatives à chaque synthèse créée pour le conteneur d’objets blob. L’ID de transaction associé à la synthèse est stocké dans le registre confidentiel.

Paramètres de synthèse

Capture d’écran de l’approvisionnement d’applications managées qui affiche les paramètres de synthèse.

Vous pouvez sélectionner quelques paramètres de synthèse lorsque vous créez l’application managée :

  • Algorithme de hachage : sélectionnez MD5 ou SHA256 pour l’algorithme utilisé pour créer les synthèses.
  • Contenu de hachage : sélectionnez Contenu du fichier + Métadonnées ou Contenu du fichier pour identifier la valeur de chaque objet blob et ce qui est haché lors de la création de chaque synthèse.
  • Taille du résumé : sélectionnez le nombre d’objets blob contenus dans chaque résumé. La taille de synthèse est comprise entre 1 et 16 et correspond au nombre d’objets blob qui sont hachés ensemble dans chaque bloc.

Afficher la synthèse dans le registre confidentiel

Vous pouvez afficher les synthèses stockées directement dans le registre confidentiel en accédant au volet Explorateur du registre .

Capture d’écran montrant le volet Explorateur de la Ledger avec des transactions de résumé.

Effectuer un audit

Pour vérifier la validité des blobs ajoutés à un conteneur et s'assurer qu'ils n'ont pas été falsifiés, vous pouvez exécuter un audit à tout moment. L’audit réexécute 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 le registre confidentiel. L’audit fournit un rapport qui affiche toutes les comparaisons de synthèses et indique si le conteneur d’objets blob a été falsifié ou non.

Déclencher un audit

Vous pouvez déclencher un audit 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>"
}

Capture d’écran montrant comment déclencher un audit en ajoutant un message à la file d’attente.

Veillez à inclure un ID de session lorsque la file d’attente active les sessions.

Afficher les résultats de l’audit

Capture d’écran montrant un exemple d’enregistrement d’audit avec des synthèses correspondantes.

Une fois qu’un audit est effectué avec succès, vous pouvez trouver les résultats de l’audit sous un conteneur nommé <managed-application-name>-audit-records dans le compte de stockage respectif. Les résultats contiennent la synthèse recalculée, la synthèse récupérée à partir du registre confidentiel, et précisent si les objets blob ont été falsifiés.

Capture d’écran du provisionnement de l’application managée qui affiche les paramètres d’alerte par e-mail de l’audit.

Si vous optez pour les alertes par e-mail lorsque vous créez l’application managée, vous recevez une alerte envoyée à votre adresse e-mail. Vous pouvez sélectionner Échec d’audit ou Échec d’audit et réussite de l’audit.

Activer les audits de suivi des utilisateurs

Vous pouvez suivre les utilisateurs qui ont téléchargé ou supprimé des objets blob en utilisant les journaux de diagnostic envoyés vers le compte de stockage interne qui est créé par l'application gérée.

1. Activer les paramètres de diagnostic

  1. Accédez à votre compte de stockage et sélectionnez Paramètres de diagnostic de surveillance>.
  2. Ajoutez un nouveau paramètre pour le service blob.
  3. Activez les options suivantes :
    • Écriture de données
    • Suppression du stockage
  4. Définissez la destination sur le compte de stockage d’archivage interne créé par l’application managée.

2. Envoyez le message suivant à la file d’attente Service Bus (avec un ID de session)

Une fois les journaux de diagnostic transmis dans le compte de stockage, vous pouvez ajouter le champ getUsers lorsqu’un événement d’audit est déclenché :

{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>",
"getUsers": true
}

3. Vérifier les résultats de l’audit

Une fois qu’un audit est correctement traité, chaque entrée inclut l’utilisateur qui a effectué l’opération avec son OID, s’il est trouvé :

"user": {
  "upn": "user@example.com",
  "oid": "<object-id>"
}

Journalisation et erreurs

Vous pouvez consulter les journaux d'erreurs dans un conteneur nommé <managed-application-name>-error-logs que vous trouverez 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. Si vous avez des questions sur les journaux d’erreurs ou la fonctionnalité d’application, contactez l’équipe du support technique du registre confidentiel Azure. Les informations de contact sont fournies dans les détails de l’application managée.

Nettoyer l’application managée

Vous pouvez supprimer l’application managée pour nettoyer et supprimer toutes les ressources associées. La suppression de l’application managée arrête le suivi de toutes les transactions d’objets blob. Il empêche également 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 articles suivants :