Modifier

Partager via


Utiliser Azure IoT Hub pour charger en privé des fichiers dans un compte Stockage Azure

Azure IoT Hub
Stockage Azure
Pare-feu Azure
Réseau virtuel Azure
Azure Application Gateway

Cet article explique comment utiliser un réseau privé pour charger des fichiers dans un compte Stockage Azure.

Pour les déploiements Azure IoT classiques, les appareils clients IoT doivent communiquer directement avec le compte de stockage pour charger des fichiers. Les appareils clients IoT sont généralement distribués à des emplacements disparates et ne font pas partie d’un réseau privé, de sorte qu’ils se connectent via l’Internet public. Vous ne pouvez pas intégrer ces appareils dans un réseau privé. Par conséquent, le compte de stockage nécessite que vous autorisez le trafic Internet entrant.

Toutefois, si vous avez des exigences de segmentation réseau plus strictes, vous pouvez restreindre l’accès au compte de stockage à partir d’un réseau privé. Cette solution bloque le trafic Internet direct vers le compte de stockage afin que le compte de stockage accepte uniquement le trafic qui transite par l’instance Azure Application Gateway entrante. Si vous implémentez une topologie de réseau hub-spoke, Pare-feu Azure doit généralement inspecter le trafic, ce qui fournit une couche supplémentaire de sécurité.

Architecture

Diagramme montrant l’architecture de chargement de fichiers privés Azure IoT Hub.

Téléchargez un fichier Visio de cette architecture.

Workflow

Le workflow suivant correspond au diagramme précédent.

  1. Une topologie de réseau hub-spoke a un réseau virtuel hub qui correspond à chaque réseau virtuel de ressources, également appelé spoke. Tout le trafic passe par Pare-feu Azure pour l’inspection du trafic.

  2. Un compte Stockage Blob Azure refuse l’accès à Internet public. Il autorise uniquement les connexions à partir d’autres réseaux virtuels. Une règle d’instance de ressource permet à un service Azure IoT Hub choisi de se connecter via une identité managée. Le compte Stockage Blob prend uniquement en charge le contrôle d’accès en fonction du rôle Azure (RBAC) pour l’accès au plan de données.

  3. La passerelle d’application a un système DNS (Domain Name System) personnalisé et met fin au trafic TLS (Transport Layer Security). Il réside dans un réseau virtuel. Ce réseau virtuel est associé au réseau virtuel que le compte de stockage Blob utilise. Un tunnel forcé via le réseau virtuel hub établit la connexion.

  4. L’appareil client IoT qui utilise le Kit de développement logiciel (SDK) IoT Hub demande un URI de signature d’accès partagé (SAP) pour les chargements de fichiers sur IoT Hub. L’appareil client IoT envoie la requête via l’Internet public.

  5. IoT Hub gère cette demande pour l’appareil. Il se connecte directement au compte de stockage d’objets blob via l’authentification d’identité managée, qui dispose des autorisations contributeur aux données blob de stockage pour les demandes de clé de délégation d’utilisateur.

    IoT Hub demande une clé de délégation d’utilisateur au compte de stockage Blob. Un jeton SAP de courte durée accorde l’autorisation d’écriture en lecture-écriture de l’appareil sur l’objet blob demandé dans le conteneur d’objets blob.

  6. IoT Hub envoie l’URI du compte de stockage Blob public et le jeton SAP à l’appareil client IoT, ainsi qu’un ID de corrélation.

  7. L’appareil client IoT a une logique pour remplacer l’URI de stockage Blob public par un domaine personnalisé, par exemple un jumeau d’appareil. L’appareil IoT utilise un Kit de développement logiciel (SDK) de stockage Blob standard pour charger le fichier via le DNS de stockage d’objets blob personnalisé.

  8. Application Gateway reçoit le protocole HTTP POST de l’appareil client et l’envoie au compte de stockage Blob via Azure Private Link.

  9. Une fois le chargement de fichier terminé, l’appareil client IoT utilise le Kit de développement logiciel (SDK) Azure IoT pour notifier IoT Hub.

    L’appareil client IoT met à jour l’état de chargement de fichier afin qu’IoT Hub puisse déclencher une notification de chargement de fichier sur les services principaux, si la notification est configurée. L’appareil client libère également les ressources associées au chargement de fichiers dans IoT Hub.

Composants

  • Application Gateway est une solution managée paaS (platform as a service) que vous pouvez utiliser pour créer des serveurs frontaux hautement sécurisés, évolutifs et hautement disponibles. Dans cette architecture, Application Gateway gère le trafic HTTPS Internet entrant, applique l’arrêt TLS, négocie TLS avec le compte de stockage Blob et transfère le trafic via un réseau privé vers le compte de stockage Blob.

  • Pare-feu Azure offre une protection pour vos ressources Azure Réseau virtuel. Dans cette architecture, Pare-feu Azure filtre et route le trafic entre le réseau de périmètre et les réseaux spoke.

  • IoT Hub est une solution gérée par PaaS qui agit comme un hub de messages central pour la communication bidirectionnelle entre une application IoT et les appareils qu’il gère. Dans cette architecture, IoT Hub est le point de terminaison central auquel les appareils clients IoT se connectent pour les opérations de contrôle et de plan de données.

  • Private Link fournit un accès privé aux services hébergés sur la plateforme Azure tout en conservant vos données sur le réseau Microsoft. Dans cette architecture, Private Link fournit une communication privée entre Application Gateway et le compte de stockage Blob.

  • Le stockage offre une solution de stockage cloud durable, hautement disponible et massivement évolutive. Ce service propose des capacités de stockage d'objets, de fichiers, de disques, de files d'attente et de tables. Dans cette architecture, les appareils utilisent le Stockage Blob pour charger des fichiers dans le cloud via des jetons SAS de courte durée que IoT Hub fournit via la délégation d’utilisateurs.

  • DNS privé zones fournissent un service DNS de sécurité fiable et amélioré pour gérer et résoudre les noms de domaine dans un réseau virtuel sans avoir besoin d’une solution DNS personnalisée. Dans cette architecture, une zone DNS privée fournit une entrée DNS privée pour le stockage Blob afin que le point de terminaison d’objet blob de stockage se traduit par son point de terminaison IP privé au sein du réseau.

  • Réseau virtuel est le bloc de construction fondamental de votre réseau privé dans Azure. Ce service permet à de nombreux types de ressources Azure, telles que les machines virtuelles Azure, de communiquer entre elles, d’internet et de réseaux locaux avec une sécurité renforcée. Cette architecture utilise Réseau virtuel pour créer une topologie de réseau privé, ce qui évite les points de terminaison publics Internet pour les services Azure.

Détails du scénario

Pour les déploiements réguliers, un appareil client Azure IoT doit communiquer directement avec un compte de stockage pour charger un fichier. La désactivation du trafic Internet sur le compte de stockage empêche tous les appareils clients IoT clients de charger des fichiers. La fonctionnalité de chargement de fichiers IoT Hub agit uniquement en tant que délégation d’utilisateur pour générer un jeton SAP disposant d’autorisations en lecture-écriture sur un objet blob. Le chargement de fichier lui-même ne passe pas par IoT Hub. Un appareil client IoT utilise le Kit de développement logiciel (SDK) De stockage Blob normal pour le chargement réel.

Dans ce scénario, la communication entre IoT Hub et le compte de stockage passe toujours par le point de terminaison public. Cette exception est possible via les configurations de mise en réseau de stockage pour les instances de ressources. Vous pouvez désactiver l’accès à Internet public au compte de stockage et autoriser les services Azure et des instances spécifiques de ressources à se connecter via le réseau principal Azure. Ce périmètre réseau est associé à un périmètre d’identité basé sur l’ID Microsoft Entra qui utilise Azure RBAC pour restreindre l’accès au plan de données.

Cette architecture affecte une identité managée à IoT Hub. L’identité managée est affectée au rôle contributeur aux données blob du stockage au compte de stockage spécifié. Avec cette autorisation, IoT Hub peut demander une clé de délégation d’utilisateur pour construire un jeton SAP. L’appareil client IoT reçoit le jeton SAP pour le processus de chargement de fichiers.

Application Gateway agit comme point d’entrée pour les requêtes qui vont au point de terminaison privé du compte de stockage, qui est configuré comme seul serveur principal. Application Gateway utilise une adresse IP publique. Un fournisseur DNS personnalisé peut être configuré pour mapper l’adresse IP publique à un enregistrement A ou un enregistrement CNAME .

Si vous avez des exigences de sécurité internes pour utiliser des points de terminaison privés pour de nombreux services PaaS Azure, vous pouvez implémenter ce scénario pour fournir des cycles de validation plus courts pour déployer vos solutions IoT en production.

Cas d’usage potentiels

Cette architecture peut s’appliquer à n’importe quel scénario qui utilise des appareils qui doivent communiquer avec un compte de stockage qui n’est pas exposé publiquement.

Par exemple, un fournisseur d’automatisation industrielle fournit des contrôleurs de périphérie et des capteurs connectés gérés. Ces capteurs doivent communiquer avec le cloud Azure via l’Internet public, mais l’équipe de sécurité du fournisseur exige que le compte de stockage soit refusé à l’accès à Internet public. Cette architecture répond à cette exigence.

Autres solutions

Si vous n’avez pas besoin de la topologie de réseau hub-spoke qui a Pare-feu Azure inspection du trafic, vous pouvez implémenter une topologie de mise en réseau simplifiée pour tirer parti de cette approche. Vous pouvez utiliser un seul réseau virtuel qui a des sous-réseaux distincts pour prendre en charge Application Gateway, Private Link et la zone DNS privée. Le compte de stockage et IoT Hub peuvent utiliser les mêmes configurations que l’architecture d’origine.

Les avantages d’une architecture simplifiée incluent une complexité et un coût réduits. Si vous n’avez pas de configuration métier ou d’entreprise spécifique pour une topologie hub-spoke, utilisez l’architecture simplifiée pour éliminer les points de terminaison Internet publics du compte de stockage. Cette approche permet également de s’assurer que les applications IoT qui utilisent la fonctionnalité de chargement de fichiers IoT Hub fonctionnent correctement.

Pour obtenir un exemple qui déploie une architecture similaire, consultez Configurer le chargement de fichiers IoT Hub sur le stockage via un point de terminaison privé. Cet exemple déploie un appareil client IoT simulé et utilise des jumeaux d’appareil pour remplacer le nom de domaine personnalisé du compte de stockage.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Principaux auteurs :

Autre contributeur :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étape suivante

Découvrez comment charger des fichiers avec IoT Hub.