Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- Un compte de stockage Azure.
- Azure CLI (facultatif).
- Version de Python prise en charge par le Kit de développement logiciel (SDK) Azure pour Python (facultatif).
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é :
- Registre confidentiel
- File d’attente Azure Service Bus avec sessions activées
- Compte de stockage (compte de stockage appartenant à l’éditeur utilisé pour stocker la logique de synthèse et l’historique d’audit)
- Application Azure Functions
- Application Insights
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.
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.
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.
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.
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.
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
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 .
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>"
}
Veillez à inclure un ID de session lorsque la file d’attente active les sessions.
Afficher les résultats de l’audit
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.
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
- Accédez à votre compte de stockage et sélectionnez Paramètres de diagnostic de surveillance>.
- Ajoutez un nouveau paramètre pour le service blob.
- Activez les options suivantes :
- Écriture de données
- Suppression du stockage
- 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 :