Идеи решения
В этой статье описывается идея решения. Ваш архитектор облака может использовать это руководство, чтобы визуализировать основные компоненты для типичной реализации этой архитектуры. Используйте эту статью в качестве отправной точки для разработки хорошо спроектированного решения, которое соответствует конкретным требованиям рабочей нагрузки.
В этой статье описывается, как использовать частную сеть для отправки файлов в учетную запись служба хранилища Azure.
Для типичных развертываний Интернета вещей Azure клиентские устройства Интернета вещей должны напрямую взаимодействовать с учетной записью хранения для отправки файлов. Клиентские устройства Интернета вещей обычно распределяются по разным расположениям, и они не являются частью частной сети, поэтому они подключаются через общедоступный Интернет. Эти устройства нельзя интегрировать в частную сеть, поэтому для учетной записи хранения требуется разрешить входящий интернет-трафик.
Но если у вас более строгие требования к сегментации сети, вы можете ограничить доступ к учетной записи хранения из частной сети. Это решение блокирует прямой интернет-трафик к учетной записи хранения, чтобы учетная запись хранения принимала только трафик, проходящий через входящий Шлюз приложений Azure экземпляр. Если вы реализуете топологию сети с концентраторами, Брандмауэр Azure обычно необходимо проверить трафик, который обеспечивает дополнительный уровень безопасности.
Архитектура
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
Следующий рабочий процесс соответствует предыдущей схеме.
Топология центральной сети имеет концентраторную виртуальную сеть, которая выполняет одноранговые узлы для каждой виртуальной сети ресурсов, также называемую периферийной. Весь трафик проходит через Брандмауэр Azure для проверки трафика.
Учетная запись Хранилище BLOB-объектов Azure запрещает доступ к общедоступному Интернету. Он разрешает подключения только из других виртуальных сетей. Правило экземпляра ресурса позволяет выбранной службе Центр Интернета вещей Azure подключаться через управляемое удостоверение. Учетная запись хранения BLOB-объектов поддерживает только управление доступом на основе ролей Azure (RBAC) для доступа к плоскости данных.
Шлюз приложений имеет пользовательскую систему доменных имен (DNS) и завершает трафик TLS. Он находится в виртуальной сети. Этот пиринг виртуальной сети с виртуальной сетью, которую использует приватный канал учетной записи хранения BLOB-объектов. Принудительное туннелирование через виртуальную сеть концентратора устанавливает подключение.
Клиентское устройство Интернета вещей, использующее пакет SDK Центр Интернета вещей, запрашивает URI подписанного URL-адреса (SAS) для отправки файлов в Центр Интернета вещей. Клиентское устройство Интернета вещей отправляет запрос через общедоступный Интернет.
Центр Интернета вещей обрабатывает этот запрос устройства. Он подключается непосредственно к учетной записи хранения BLOB-объектов с помощью проверки подлинности управляемого удостоверения, которая имеет разрешения участника данных BLOB-объектов хранилища для запросов ключей делегирования пользователей.
Центр Интернета вещей запрашивает ключ делегирования пользователей в учетную запись хранения BLOB-объектов. Кратковременный маркер SAS предоставляет устройству разрешение на чтение и запись запрошенного большого двоичного объекта в контейнере BLOB-объектов.
Центр Интернета вещей отправляет общедоступный URI учетной записи хранения BLOB-объектов и маркер SAS на клиентское устройство Интернета вещей, а также идентификатор корреляции.
Клиентское устройство Интернета вещей имеет логику замены общедоступного URI хранилища BLOB-объектов личным доменом, например двойника устройства. Устройство Интернета вещей использует стандартный пакет SDK хранилища BLOB-объектов для отправки файла через пользовательский DNS хранилища BLOB-объектов.
Шлюз приложений получает HTTP POST с клиентского устройства и отправляет его в учетную запись хранения BLOB-объектов через Приватный канал Azure.
После завершения отправки файла клиентское устройство Интернета вещей использует пакет SDK Для Интернета вещей Azure для уведомления Центр Интернета вещей.
Клиентское устройство Интернета вещей обновляет состояние отправки файла, чтобы Центр Интернета вещей может активировать уведомление о отправке файлов в серверные службы, если уведомление настроено. Клиентское устройство также освобождает ресурсы, связанные с отправкой файла в Центр Интернета вещей.
Компоненты
Шлюз приложений — это решение, управляемое службой (PaaS), которое можно использовать для создания высокозащищенных, масштабируемых и высокодоступных интерфейсов. В этой архитектуре Шлюз приложений обрабатывает входящий трафик HTTPS через Интернет, применяет завершение TLS, согласовывает TLS с учетной записью хранения BLOB-объектов и передает трафик через частную сеть в учетную запись хранения BLOB-объектов.
Брандмауэр Azure обеспечивает защиту ресурсов Azure виртуальная сеть. В этой архитектуре Брандмауэр Azure фильтрует и направляет трафик между сетью периметра и периферийными сетями.
Центр Интернета вещей — это управляемое PaaS решение, которое выступает в качестве центрального центра сообщений для двунаправленного взаимодействия между приложением Интернета вещей и устройствами, которыми она управляет. В этой архитектуре Центр Интернета вещей — это центральная конечная точка, к которой подключаются клиентские устройства Интернета вещей для операций управления и плоскости данных.
Приватный канал предоставляет частный доступ к службам, размещенным на платформе Azure, сохраняя данные в сети Майкрософт. В этой архитектуре Приватный канал обеспечивает частное взаимодействие между Шлюз приложений и учетной записью хранения BLOB-объектов.
Хранилище предлагает устойчивое, высокодоступное и масштабируемое облачное хранилище. Оно включает в себя хранилище объектов, файлов, дисков, очередей и таблиц. В этой архитектуре устройства используют хранилище BLOB-объектов для отправки файлов в облако с помощью кратковременных маркеров SAS, которые Центр Интернета вещей предоставляются через делегирование пользователей.
Частная зона DNS зоны предоставляют надежную службу DNS с расширенной безопасностью для управления доменными именами и разрешениями доменных имен в виртуальной сети без необходимости пользовательского решения DNS. В этой архитектуре частная зона DNS предоставляет частную запись DNS для хранилища BLOB-объектов, чтобы конечная точка BLOB-объекта хранилища преобразовывалось в частную конечную точку IP-адреса в сети.
виртуальная сеть — это базовый стандартный блок для частной сети в Azure. Эта служба позволяет многим типам ресурсов Azure, таким как виртуальные машины Azure, взаимодействовать друг с другом, Интернетом и локальными сетями с повышенной безопасностью. Эта архитектура использует виртуальная сеть для создания топологии частной сети, что позволяет избежать общедоступных конечных точек Интернета для служб Azure.
Подробности сценария
Для обычных развертываний клиентское устройство Azure IoT должно напрямую взаимодействовать с учетной записью хранения для отправки файла. Отключение интернет-трафика в учетной записи хранения блокирует любые клиентские устройства Интернета вещей клиента от отправки файлов. Функция отправки файла Центр Интернета вещей действует только в качестве делегирования пользователей для создания маркера SAS с разрешениями на чтение и запись в большом двоичном объекте. Сама отправка файла не проходит через Центр Интернета вещей. Клиентское устройство Интернета вещей использует обычный пакет SDK хранилища BLOB-объектов для фактической отправки.
В этом сценарии обмен данными между Центр Интернета вещей и учетной записью хранения по-прежнему проходит через общедоступную конечную точку. Это исключение возможно с помощью конфигураций сети хранилища для экземпляров ресурсов. Вы можете отключить общедоступный интернет-доступ к учетной записи хранения и разрешить службам Azure и определенным экземплярам ресурсов подключаться через магистраль Azure. Этот периметр сети связан с периметром удостоверений на основе идентификаторов Microsoft Entra, использующим Azure RBAC для ограничения доступа к плоскости данных.
Эта архитектура назначает управляемое удостоверение Центр Интернета вещей. Управляемое удостоверение назначается участнику данных BLOB-объектов хранилища указанной учетной записи хранения. С помощью этого разрешения Центр Интернета вещей может запросить ключ делегирования пользователей для создания маркера SAS. Клиентское устройство Интернета вещей получает маркер SAS для процесса отправки файлов.
Шлюз приложений выступает в качестве точки входа для запросов, которые отправляются в частную конечную точку учетной записи хранения, которая настроена как единственная серверная часть. Шлюз приложений использует общедоступный IP-адрес. Настраиваемый поставщик DNS можно настроить для сопоставления общедоступного IP-адреса с записью A или записью CNAME.
Если у вас есть внутренние требования к безопасности для использования частных конечных точек для многих служб Azure PaaS, вы можете реализовать этот сценарий, чтобы обеспечить более короткие циклы проверки для развертывания решений Интернета вещей в рабочей среде.
Потенциальные варианты использования
Эта архитектура может применяться к любому сценарию, использующего устройства, которые должны взаимодействовать с учетной записью хранения, которая не предоставляется публично.
Например, поставщик промышленной автоматизации предоставляет управляемые пограничные контроллеры и датчики. Эти датчики должны взаимодействовать с облаком Azure через общедоступный Интернет, но команда безопасности поставщика требует, чтобы учетная запись хранения была отказано в общедоступном доступе к Интернету. Эта архитектура соответствует этому требованию.
Альтернативные варианты
Если вам не требуется топология сети концентратора, которая имеет Брандмауэр Azure проверку трафика, можно реализовать упрощенную топологию сети, чтобы воспользоваться этим подходом. Вы можете использовать одну виртуальную сеть с отдельными подсетями для размещения Шлюз приложений, Приватный канал и частной зоны DNS. Учетная запись хранения и Центр Интернета вещей могут использовать те же конфигурации, что и исходная архитектура.
Преимущества упрощенной архитектуры включают снижение сложности и затрат. Если у вас нет конкретных бизнес-требований или корпоративных требований к топологии на основе концентратора, используйте упрощенную архитектуру для устранения общедоступных конечных точек Интернета из учетной записи хранения. Этот подход также помогает обеспечить правильную работу приложений Интернета вещей, использующих функции отправки файлов Центр Интернета вещей.
Пример, который развертывает аналогичную архитектуру, см. в разделе "Настройка Центр Интернета вещей отправки файла в хранилище через частную конечную точку". Этот пример развертывает имитированное клиентское устройство Интернета вещей и использует двойники устройств для замены имени личного домена для учетной записи хранения.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Katrien De Graeve | Программист
- Винсент Миссон | Архитектор облачных решений
Другой участник:
- Nacim Allouache | Архитектор облачных решений
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующий шаг
Узнайте, как отправлять файлы с помощью Центр Интернета вещей.