Używanie usługi Azure IoT Hub do prywatnego przekazywania plików na konto usługi Azure Storage

Azure IoT Hub
Azure Storage
Azure Firewall
Azure Virtual Network
Azure Application Gateway

Rozwiązania — pomysły

W tym artykule opisano pomysł rozwiązania. Architekt chmury może użyć tych wskazówek, aby ułatwić wizualizowanie głównych składników dla typowej implementacji tej architektury. Skorzystaj z tego artykułu jako punktu wyjścia, aby zaprojektować dobrze zaprojektowane rozwiązanie zgodne z konkretnymi wymaganiami obciążenia.

W tym artykule opisano sposób przekazywania plików na konto usługi Azure Storage przy użyciu sieci prywatnej.

W przypadku typowych wdrożeń usługi Azure IoT urządzenia klienckie IoT muszą komunikować się bezpośrednio z kontem magazynu w celu przekazania plików. Urządzenia klienckie IoT są zwykle dystrybuowane w różnych lokalizacjach i nie są częścią sieci prywatnej, więc łączą się za pośrednictwem publicznego Internetu. Nie można zintegrować tych urządzeń z siecią prywatną, więc konto magazynu wymaga zezwolenia na przychodzący ruch internetowy.

Jeśli jednak masz bardziej rygorystyczne wymagania dotyczące segmentacji sieci, możesz ograniczyć dostęp do konta magazynu z poziomu sieci prywatnej. To rozwiązanie blokuje bezpośredni ruch internetowy do konta magazynu, dzięki czemu konto magazynu akceptuje tylko ruch przechodzący przez przychodzące wystąpienie usługi aplikacja systemu Azure Gateway. W przypadku implementowania topologii sieci piasty i szprych usługa Azure Firewall zwykle musi sprawdzać ruch, który zapewnia dodatkową warstwę zabezpieczeń.

Architektura

Diagram przedstawiający architekturę przekazywania plików prywatnych usługi Azure IoT Hub.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

Poniższy przepływ pracy odpowiada powyższemu diagramowi.

  1. Topologia sieci piasty i szprych ma sieć wirtualną piasty, która jest równorzędna z każdą siecią wirtualną zasobów, nazywaną również szprychą. Cały ruch przechodzi przez usługę Azure Firewall na potrzeby inspekcji ruchu.

  2. Konto usługi Azure Blob Storage nie zezwala na publiczny dostęp do Internetu. Zezwala tylko na połączenia z innych sieci wirtualnych. Reguła wystąpienia zasobu umożliwia wybranej usłudze Azure IoT Hub łączenie się za pośrednictwem tożsamości zarządzanej. Konto usługi Blob Storage obsługuje tylko kontrolę dostępu na podstawie ról (RBAC) platformy Azure na potrzeby dostępu do płaszczyzny danych.

  3. Brama aplikacji ma niestandardowy system nazw domen (DNS) i przerywa ruch protokołu Transport Layer Security (TLS). Znajduje się on w sieci wirtualnej. Ta sieć wirtualna jest równorzędna z siecią wirtualną używaną przez konto usługi Blob Storage. Wymuszony tunel za pośrednictwem sieci wirtualnej koncentratora ustanawia połączenie.

  4. Urządzenie klienckie usługi IoT korzystające z zestawu SDK usługi IoT Hub żąda identyfikatora URI sygnatury dostępu współdzielonego (SAS) na potrzeby przekazywania plików do usługi IoT Hub. Urządzenie klienckie IoT wysyła żądanie za pośrednictwem publicznego Internetu.

  5. Usługa IoT Hub obsługuje to żądanie dla urządzenia. Łączy się on bezpośrednio z kontem usługi Blob Storage za pośrednictwem uwierzytelniania tożsamości zarządzanej, które ma uprawnienia współautora danych obiektu blob usługi Storage dla żądań kluczy delegowania użytkownika.

    Usługa IoT Hub żąda klucza delegowania użytkownika do konta usługi Blob Storage. Krótkotrwały token SAS przyznaje urządzeniu uprawnienie do odczytu i zapisu w żądanym obiekcie blob w kontenerze obiektów blob.

  6. Usługa IoT Hub wysyła publiczny identyfikator URI konta usługi Blob Storage i token SAS do urządzenia klienckiego IoT wraz z identyfikatorem korelacji.

  7. Urządzenie klienckie IoT ma logikę zastąpienia publicznego identyfikatora URI usługi Blob Storage domeną niestandardową, na przykład bliźniaczej reprezentacji urządzenia. Urządzenie IoT używa standardowego zestawu SDK usługi Blob Storage do przekazywania pliku za pośrednictwem niestandardowego systemu DNS usługi Blob Storage.

  8. Usługa Application Gateway odbiera post HTTP z urządzenia klienckiego i wysyła ją do konta usługi Blob Storage za pośrednictwem usługi Azure Private Link.

  9. Po zakończeniu przekazywania pliku urządzenie klienckie IoT używa zestawu SDK usługi Azure IoT do powiadamiania usługi IoT Hub.

    Urządzenie klienckie IoT aktualizuje stan przekazywania pliku, aby usługa IoT Hub mogła wyzwolić powiadomienie o przekazaniu plików do usług zaplecza, jeśli powiadomienie jest skonfigurowane. Urządzenie klienckie zwalnia również zasoby skojarzone z przekazywaniem plików w usłudze IoT Hub.

Składniki

  • Application Gateway to rozwiązanie zarządzane przez platformę jako usługę (PaaS), którego można użyć do tworzenia frontonów o wysokim poziomie bezpieczeństwa, skalowalności i wysokiej dostępności. W tej architekturze usługa Application Gateway obsługuje przychodzący ruch internetowy HTTPS, stosuje zakończenie protokołu TLS, negocjuje protokół TLS przy użyciu konta usługi Blob Storage i przekazuje ruch przez sieć prywatną do konta usługi Blob Storage.

  • Usługa Azure Firewall zapewnia ochronę zasobów usługi Azure Virtual Network. W tej architekturze usługa Azure Firewall filtruje i kieruje ruch między siecią obwodową i sieciami szprych.

  • Usługa IoT Hub to rozwiązanie zarządzane przez usługę PaaS, które działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacją IoT a zarządzanymi urządzeniami. W tej architekturze usługa IoT Hub jest centralnym punktem końcowym, z którego urządzenia klienckie IoT łączą się na potrzeby operacji kontroli i płaszczyzny danych.

  • Usługa Private Link zapewnia prywatny dostęp do usług hostowanych na platformie Azure przy zachowaniu danych w sieci firmy Microsoft. W tej architekturze usługa Private Link zapewnia prywatną komunikację między usługą Application Gateway i kontem usługi Blob Storage.

  • Magazyn oferuje trwałe, wysoce dostępne i skalowalne rozwiązanie magazynu w chmurze. Obejmuje on funkcje obiektów, plików, dysków, kolejek i magazynu tabel. W tej architekturze urządzenia używają usługi Blob Storage do przekazywania plików do chmury za pośrednictwem krótkotrwałych tokenów SAS zapewnianych przez usługę IoT Hub za pośrednictwem delegowania użytkowników.

  • Prywatna strefa DNS strefy zapewniają niezawodną, rozszerzoną usługę DNS zabezpieczeń do zarządzania i rozpoznawania nazw domen w sieci wirtualnej bez konieczności używania niestandardowego rozwiązania DNS. W tej architekturze prywatna strefa DNS udostępnia prywatny wpis DNS dla usługi Blob Storage, dzięki czemu punkt końcowy obiektu blob usługi Storage przekłada się na prywatny punkt końcowy ip w sieci.

  • Sieć wirtualna to podstawowy blok konstrukcyjny dla sieci prywatnej na platformie Azure. Ta usługa umożliwia wielu typom zasobów platformy Azure, takich jak maszyny wirtualne platformy Azure, komunikowanie się ze sobą, internetem i sieciami lokalnymi przy użyciu zwiększonych zabezpieczeń. Ta architektura używa sieci wirtualnej do tworzenia topologii sieci prywatnej, co pozwala uniknąć publicznych punktów końcowych internetu dla usług opartych na platformie Azure.

Szczegóły scenariusza

W przypadku regularnych wdrożeń urządzenie klienckie usługi Azure IoT musi komunikować się bezpośrednio z kontem magazynu w celu przekazania pliku. Wyłączenie ruchu internetowego na koncie magazynu blokuje przekazywanie plików przez wszystkie urządzenia klienckie IoT klienta. Funkcja przekazywania plików usługi IoT Hub działa tylko jako delegowanie użytkownika do generowania tokenu SAS z uprawnieniami do odczytu i zapisu w obiekcie blob. Przekazywanie pliku nie przechodzi przez usługę IoT Hub. Urządzenie klienckie IoT używa normalnego zestawu SDK usługi Blob Storage do rzeczywistego przekazywania.

W tym scenariuszu komunikacja między usługą IoT Hub a kontem magazynu nadal przechodzi przez publiczny punkt końcowy. Ten wyjątek jest możliwy za pośrednictwem konfiguracji sieci magazynu dla wystąpień zasobów. Możesz wyłączyć publiczny dostęp do Internetu do konta usługi Storage i zezwolić usługom platformy Azure i określonym wystąpieniom zasobów na łączenie się za pośrednictwem sieci szkieletowej platformy Azure. Ten obwód sieci jest sparowany z obwodem tożsamości opartej na identyfikatorze entra firmy Microsoft, który używa kontroli dostępu na podstawie ról platformy Azure w celu ograniczenia dostępu do płaszczyzny danych.

Ta architektura przypisuje tożsamość zarządzaną do usługi IoT Hub. Tożsamość zarządzana jest przypisana do roli Współautor danych obiektu blob usługi Storage do określonego konta magazynu. Przy użyciu tego uprawnienia usługa IoT Hub może zażądać klucza delegowania użytkownika w celu utworzenia tokenu SAS. Urządzenie klienckie IoT odbiera token SAS dla procesu przekazywania plików.

Usługa Application Gateway działa jako punkt wejścia dla żądań, które przechodzą do prywatnego punktu końcowego konta magazynu, który jest skonfigurowany jako jedyny zaplecze. Usługa Application Gateway używa publicznego adresu IP. Niestandardowy dostawca DNS można skonfigurować tak, aby mapował publiczny adres IP na rekord A lub rekord CNAME .

Jeśli masz wymagania dotyczące zabezpieczeń wewnętrznych do korzystania z prywatnych punktów końcowych dla wielu usług PaaS platformy Azure, możesz zaimplementować ten scenariusz, aby zapewnić krótsze cykle weryfikacji w celu wdrożenia rozwiązań IoT w środowisku produkcyjnym.

Potencjalne przypadki użycia

Ta architektura może mieć zastosowanie do dowolnego scenariusza korzystającego z urządzeń, które muszą komunikować się z kontem magazynu, które nie jest uwidocznione publicznie.

Na przykład dostawca automatyzacji przemysłowej zapewnia zarządzane kontrolery i czujniki brzegowe połączone. Czujniki te muszą komunikować się z chmurą platformy Azure za pośrednictwem publicznego Internetu, ale zespół ds. zabezpieczeń dostawcy wymaga odmowy publicznego dostępu do Internetu. Ta architektura spełnia to wymaganie.

Alternatywy

Jeśli nie potrzebujesz topologii sieci piasty i szprych, która ma inspekcję ruchu w usłudze Azure Firewall, możesz zaimplementować uproszczoną topologię sieci, aby skorzystać z tego podejścia. Możesz użyć jednej sieci wirtualnej, która ma odrębne podsieci, aby pomieścić usługę Application Gateway, usługę Private Link i prywatną strefę DNS. Konto magazynu i usługa IoT Hub mogą używać tych samych konfiguracji co oryginalna architektura.

Zalety uproszczonej architektury obejmują zmniejszenie złożoności i kosztów. Jeśli nie masz określonych wymagań biznesowych lub korporacyjnych dotyczących topologii piasty i szprych, użyj uproszczonej architektury, aby wyeliminować publiczne punkty końcowe internetowe z konta magazynu. Takie podejście pomaga również zapewnić prawidłowe działanie aplikacji IoT korzystających z funkcji przekazywania plików usługi IoT Hub.

Aby zapoznać się z przykładem, który wdraża podobną architekturę, zobacz Konfigurowanie przekazywania plików usługi IoT Hub do usługi Storage za pośrednictwem prywatnego punktu końcowego. Ten przykład umożliwia wdrożenie symulowanego urządzenia klienckiego IoT i użycie bliźniaczych reprezentacji urządzeń w celu zastąpienia niestandardowej nazwy domeny dla konta magazynu.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Inny współautor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następny krok

Dowiedz się, jak przekazywać pliki za pomocą usługi IoT Hub.