Защита озера данных с помощью Azure Synapse Analytics

Azure Synapse Analytics
Azure Data Lake Storage
Виртуальная сеть Azure
Power BI

В этой статье описывается процесс проектирования, принципы и технологии использования Azure Synapse для создания безопасного решения data lakehouse. Мы сосредоточимся на соображениях безопасности и ключевых технических решениях.

Apache, Apache® Spark® и логотип пламени являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах. Использование этих меток не подразумевает подтверждения от Apache Software Foundation.

Архитектура

На следующей схеме показана архитектура решения data lakehouse. Она предназначена для управления взаимодействием между службами для устранения угроз безопасности. Решения будут отличаться в зависимости от функциональных и требований к безопасности.

Diagram that shows the detailed architecture.

Скачайте файл Visio для этой архитектуры.

Поток данных

Поток данных для решения показан на следующей схеме:

Diagram that shows the data flow in the solution.

  1. Данные передаются из источника данных в целевую зону данных либо в хранилище BLOB-объектов Azure, либо в общую папку, предоставляемую Файлы Azure. Данные передаются программой или системой пакетной отправки. Потоковая передача данных записывается и хранится в служба хранилища BLOB-объектов с помощью функции записи Центры событий Azure. Существует несколько источников данных. Например, несколько разных фабрик могут отправлять данные об операциях. Сведения о защите доступа к служба хранилища BLOB-объектов, общим папкам и другим ресурсам хранилища см. в рекомендациях по безопасности для служба хранилища BLOB-объектов и планирования развертывания Файлы Azure.
  2. При поступлении файла данных Фабрика данных Azure обрабатывать данные и хранить их в озере данных в основной зоне данных. Отправка данных в основную зону данных в Azure Data Lake защищает от кражи данных.
  3. Azure Data Lake хранит необработанные данные, полученные из разных источников. Он защищен правилами брандмауэра и виртуальными сетями. Он блокирует все попытки подключения, поступающие из общедоступного Интернета.
  4. При поступлении данных в озеро данных активируется конвейер Azure Synapse, или активируется время выполнения задания обработки данных. Apache Spark в Azure Synapse активируется и выполняет задание Spark или записную книжку. Он также управляет потоком обработки данных в озере данных. Конвейеры Azure Synapse преобразуют данные из бронзовой зоны в серебряную зону, а затем в золотую зону.
  5. Задание Spark или записная книжка запускает задание обработки данных. Курирование данных или задание обучения машинного обучения также может выполняться в Spark. Структурированные данные в золотой зоне хранятся в формате Delta Lake .
  6. Бессерверный пул SQL создает внешние таблицы , использующие данные, хранящиеся в Delta Lake. Бессерверный пул SQL предоставляет мощный и эффективный обработчик запросов SQL и может поддерживать традиционные учетные записи пользователей SQL или учетные записи пользователей Microsoft Entra.
  7. Power BI подключается к бессерверному пулу SQL для визуализации данных. Он создает отчеты или панели мониторинга с помощью данных в data lakehouse.
  8. Аналитик данных или ученые могут войти в Azure Synapse Studio, чтобы:
    • Дальнейшее улучшение данных.
    • Анализ для получения бизнес-аналитики.
    • Обучение модели машинного обучения.
  9. Бизнес-приложения подключаются к бессерверному пулу SQL и используют данные для поддержки других бизнес-операций.
  10. Azure Pipelines запускает процесс CI/CD, который автоматически создает, тестирует и развертывает решение. Он предназначен для минимизации вмешательства человека во время процесса развертывания.

Компоненты

Ниже приведены ключевые компоненты этого решения data lakehouse:

Альтернативные варианты

  • Если вам нужна обработка данных в режиме реального времени, вместо хранения отдельных файлов в целевой зоне данных используйте структурированную потоковую передачу Apache для получения потока данных из Центров событий и обработки.
  • Если данные имеют сложную структуру и требуют сложных запросов SQL, рассмотрите возможность хранения данных в выделенном пуле SQL вместо бессерверного пула SQL.
  • Если данные содержат множество иерархических структур данных( например, имеет большую структуру JSON), ее можно сохранить в Azure Synapse Data Обозреватель.

Подробности сценария

Azure Synapse Analytics — это универсальная платформа данных, которая поддерживает хранение корпоративных данных, аналитику данных в режиме реального времени, конвейеры, обработку данных временных рядов, машинное обучение и управление данными. Для поддержки этих возможностей она интегрирует несколько различных технологий, таких как:

  • Хранение данных корпоративного уровня
  • бессерверные пулы SQL;
  • Apache Spark
  • Конвейеры
  • Обозреватель данных
  • Возможности машинного обучения
  • Унифицированное управление данными Purview

Diagram that shows Azure Synapse Analytics and its components, capabilities, and applications.

Эти возможности открывают множество возможностей, но есть много технических вариантов, чтобы безопасно настроить инфраструктуру для безопасного использования.

В этой статье описывается процесс проектирования, принципы и технологии использования Azure Synapse для создания безопасного решения data lakehouse. Мы сосредоточимся на соображениях безопасности и ключевых технических решениях. Решение использует следующие службы Azure:

Цель состоит в том, чтобы предоставить рекомендации по созданию безопасной и экономичной платформы озера данных для корпоративного использования и обеспечения эффективной работы технологий.

Потенциальные варианты использования

Data lakehouse — это современная архитектура управления данными, которая объединяет функции экономичности, масштабирования и гибкости озера данных с возможностями управления данными и транзакциями хранилища данных. Озеро данных может обрабатывать огромный объем данных и поддерживать бизнес-аналитику и сценарии машинного обучения. Он также может обрабатывать данные из различных структур данных и источников данных. Дополнительные сведения см. в разделе "Что такое Databricks Lakehouse?".

Ниже приведены некоторые распространенные варианты использования решения:

  • Анализ телеметрии Интернета вещей (IoT)
  • Автоматизация смарт-фабрик (для производства)
  • Отслеживание действий и поведения потребителей (для розничной торговли)
  • Управление инцидентами и событиями безопасности
  • Мониторинг журналов приложений и поведения приложения
  • Обработка и бизнес-анализ полуструктурированных данных

Разработка высокого уровня

Это решение ориентировано на разработку и реализацию безопасности в архитектуре. Бессерверный пул SQL, Apache Spark в Azure Synapse, конвейеры Azure Synapse, Data Lake служба хранилища и Power BI — это ключевые службы, используемые для реализации шаблона озера данных.

Ниже приведена архитектура проектирования решений высокого уровня:

Diagram that shows high-level data lakehouse solution design architecture.

Выбор фокуса безопасности

Мы начали проектирование безопасности с помощью средства моделирования угроз. Инструмент помог нам:

  • Общаться с заинтересованными лицами системы о потенциальных рисках.
  • Определите границу доверия в системе.

Основываясь на результатах моделирования угроз, мы сделали следующие области безопасности нашими главными приоритетами:

  • Управление удостоверениями и доступом
  • Защита сети
  • Безопасность DevOps

Мы разработали функции безопасности и изменения инфраструктуры для защиты системы путем устранения ключевых рисков безопасности, определенных этими основными приоритетами.

Дополнительные сведения о том, что следует проверка и рассмотреть, см. в следующей статье:

План защиты сети и ресурсов

Одним из ключевых принципов безопасности в Cloud Adoption Framework является принцип нулевого доверия: при проектировании безопасности для любого компонента или системы снижается риск расширения доступа злоумышленников, предполагая, что другие ресурсы в организации скомпрометируются.

В зависимости от результата моделирования угроз решение принимает рекомендацию по развертыванию микро-сегментации в нулевом доверии и определяет несколько границ безопасности. Защита от кражи данных Azure виртуальная сеть и Azure Synapse — это ключевые технологии, которые используются для реализации границы безопасности для защиты ресурсов данных и критически важных компонентов.

Так как Azure Synapse состоит из нескольких различных технологий, нам необходимо:

  • Определите компоненты Synapse и связанных служб, которые используются в проекте.

    Azure Synapse — это универсальная платформа данных, которая может обрабатывать различные потребности в обработке данных. Сначала необходимо решить, какие компоненты в Azure Synapse используются в проекте, чтобы мы могли спланировать их защиту. Кроме того, необходимо определить, какие другие службы взаимодействуют с этими компонентами Azure Synapse.

    В архитектуре озера данных ключевые компоненты:

    • Бессерверный SQL Azure Synapse
    • Apache Spark в Azure Synapse
    • Конвейеры Azure Synapse
    • Data Lake Storage
    • Azure DevOps
  • Определите поведение правовой связи между компонентами.

    Необходимо определить допустимое поведение взаимодействия между компонентами. Например, мы хотим, чтобы обработчик Spark напрямую взаимодействовал с выделенным экземпляром SQL или же он будет взаимодействовать через прокси-сервер, например конвейер Azure Synapse Интеграция данных или Data Lake служба хранилища?

    Основываясь на принципе нулевого доверия, мы блокируем связь, если нет бизнес-потребности в взаимодействии. Например, мы блокируем подсистему Spark, которая находится в неизвестном клиенте, напрямую взаимодействовать с хранилищем Data Lake.

  • Выберите правильное решение для обеспечения безопасности, чтобы применить определенное поведение связи.

    В Azure несколько технологий безопасности могут применять определенное поведение связи служб. Например, в Data Lake служба хранилища можно использовать список разрешений IP-адресов для управления доступом к озеру данных, но также можно выбрать, какие виртуальные сети, службы Azure и экземпляры ресурсов разрешены. Каждый метод защиты обеспечивает различные средства защиты безопасности. Выбор на основе бизнес-потребностей и ограничений окружающей среды. Конфигурация, используемая в этом решении, описана в следующем разделе.

  • Реализуйте обнаружение угроз и расширенную защиту для критически важных ресурсов.

    Для критически важных ресурсов лучше реализовать обнаружение угроз и расширенную защиту. Службы помогают выявлять угрозы и активировать оповещения, поэтому система может уведомлять пользователей о нарушениях безопасности.

Рассмотрите следующие методы для более эффективной защиты сетей и ресурсов:

  • Развертывание сетей периметра для предоставления зон безопасности для конвейеров данных

    Если для рабочей нагрузки конвейера данных требуется доступ к внешним данным и целевой зоне данных, рекомендуется реализовать сеть периметра и разделить ее с конвейером извлечения, преобразования и загрузки (ETL).

  • Включение Defender для облака для всех учетных записей хранения

    Defender для облака активирует оповещения системы безопасности при обнаружении необычных и потенциально опасных попыток доступа к учетным записям хранения или эксплойтирования. Дополнительные сведения см. в статье Настройка Microsoft Defender для службы хранилища Azure.

  • Блокировка учетной записи хранения для предотвращения вредоносных изменений или изменений конфигурации

    Дополнительные сведения см. в статье Применение блокировки Azure Resource Manager к учетной записи хранения.

Архитектура с защитой сети и активов

В следующей таблице описаны определенные способы взаимодействия и технологии безопасности, выбранные для этого решения. Выбор был основан на методах, рассмотренных в плане защиты сети и активов.

Из (клиент) To (Service) Поведение Настройка Примечания.
Интернет Data Lake Storage Запретить все Правило брандмауэра — запрет по умолчанию Значение по умолчанию: "Запретить" Правило брандмауэра — запрет по умолчанию
Azure Synapse Pipeline/Spark Data Lake Storage Разрешить (экземпляр) Виртуальная сеть — управляемая частная конечная точка (Data Lake служба хранилища)
Synapse SQL Data Lake Storage Разрешить (экземпляр) Правило брандмауэра — экземпляры ресурсов (Synapse SQL) Synapse SQL должен получить доступ к Data Lake служба хранилища с помощью управляемых удостоверений
Агент Azure Pipelines Data Lake Storage Разрешить (экземпляр) Правило брандмауэра — выбранные виртуальные сети
Конечная точка службы — служба хранилища
Для тестирования интеграции
обход: AzureServices (правило брандмауэра)
Интернет Рабочая область Synapse Запретить все Правило брандмауэра
Агент Azure Pipelines Рабочая область Synapse Разрешить (экземпляр) Виртуальная сеть — частная конечная точка Требуется три частные конечные точки (разработка, бессерверный SQL и выделенный SQL)
Управляемая виртуальная сеть Synapse Интернет или несанкционированный клиент Azure Запретить все Виртуальная сеть — защита от кражи данных Synapse
Конвейер Synapse/Spark Key Vault Разрешить (экземпляр) Виртуальная сеть — управляемая частная конечная точка (Key Vault) Значение по умолчанию: "Запретить"
Агент Azure Pipelines Key Vault Разрешить (экземпляр) Правило брандмауэра — выбранные виртуальные сети
* Конечная точка службы — Key Vault
обход: AzureServices (правило брандмауэра)
Функции Azure Бессерверный SQL Synapse Разрешить (экземпляр) Виртуальная сеть — частная конечная точка (Бессерверный SQL Synapse)
Конвейер Synapse/Spark Azure Monitor Разрешить (экземпляр) Виртуальная сеть — частная конечная точка (Azure Monitor)

Например, в плане, который мы хотим:

  • Создайте рабочую область Azure Synapse с управляемой виртуальной сетью.
  • Защита исходящих данных из рабочих областей Azure Synapse с помощью рабочих областей Azure Synapse обеспечивает защиту от кражи данных.
  • Управление списком утвержденных клиентов Microsoft Entra для рабочей области Azure Synapse.
  • Настройте сетевые правила для предоставления трафика учетной записи служба хранилища из выбранных виртуальных сетей, доступа и отключения доступа к общедоступной сети.
  • Используйте управляемые частные конечные точки для подключения виртуальной сети, управляемой Azure Synapse, к озеру данных.
  • Используйте экземпляр ресурсов для безопасного подключения Azure Synapse SQL к озеру данных.

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Безопасность

Сведения о принципах безопасности хорошо спроектированной платформы см. в разделе "Безопасность".

Управление доступом и удостоверениями

В системе есть несколько компонентов. Для каждого из них требуется другая конфигурация управления удостоверениями и доступом (IAM). Эти конфигурации должны совместно работать, чтобы упростить взаимодействие с пользователем. Поэтому при реализации удостоверений и управления доступом мы используем следующие рекомендации по проектированию.

  • Выбор решения для удостоверений для различных уровней управления доступом

    • В системе есть четыре различных решения для идентификации.
      • Учетная запись SQL (SQL Server)
      • Субъект-служба (идентификатор Microsoft Entra)
      • Управляемое удостоверение (идентификатор Microsoft Entra)
      • Учетная запись пользователя (идентификатор Microsoft Entra)
    • В системе существует четыре разных уровня управления доступом.
      • Уровень доступа к приложению: выберите решение для удостоверений для ролей AP.
      • Уровень доступа azure Synapse DB/Table: выберите решение для удостоверений для ролей в базах данных.
      • Доступ к внешнему уровню ресурсов Azure Synapse: выберите решение удостоверения для доступа к внешним ресурсам.
      • Data Lake служба хранилища уровень доступа: выберите решение удостоверения для управления доступом к файлам в хранилище.

    Diagram that shows Azure Synapse Analytics and its capabilities.

    Важной частью управления удостоверениями и доступом является выбор подходящего решения для каждого уровня управления доступом. Принципы проектирования безопасности в Azure Well-Architected Framework предлагают использование собственных элементов управления и простоты управления. Поэтому это решение использует учетную запись пользователя Microsoft Entra конечного пользователя в приложении и уровнях доступа Azure Synapse DB. Он использует собственные решения IAM для первых сторон и обеспечивает точное управление доступом. Уровень доступа к внешним ресурсам Azure Synapse и уровень доступа Data Lake использует управляемое удостоверение в Azure Synapse для упрощения процесса авторизации.

  • Рассмотрите возможность доступа с минимальными привилегиями

    Руководящий принцип нулевого доверия предполагает предоставление JIT-доступа к критически важным ресурсам. См. статью Microsoft Entra управление привилегированными пользователями (PIM), чтобы повысить безопасность в будущем.

  • Защита связанной службы

    Связанные службы определяют сведения о подключении, необходимые для подключения к внешним ресурсам. Важно защитить конфигурации связанных служб.

Оценка оценки безопасности и обнаружение угроз

Чтобы понять состояние безопасности системы, решение использует Microsoft Defender для облака для оценки безопасности инфраструктуры и обнаружения проблем безопасности. Microsoft Defender для облака — это инструмент для управления состоянием безопасности и обеспечения защиты от угроз. Он может защитить рабочие нагрузки, работающие в Azure, гибридной и другой облачной платформах.

Diagram that shows Azure Synapse and its capabilities.

Вы автоматически включите бесплатный план Defender для облака для всех подписок Azure при первом посещении страниц Defender для облака в портал Azure. Настоятельно рекомендуется предоставить ему возможность получить оценку и предложения облачной безопасности. Microsoft Defender для облака предоставит оценку безопасности и некоторые рекомендации по обеспечению безопасности для подписок.

Diagram that shows Azure Synapse and its capabilities.

Если решение нуждается в расширенном управлении безопасностью и возможностях обнаружения угроз, таких как обнаружение и оповещение о подозрительных действиях, можно включить защиту облачных рабочих нагрузок отдельно для разных ресурсов.

Оптимизация затрат

Дополнительные сведения об оптимизации затрат в рамках хорошо спроектированной платформы см. в разделе "Оптимизация затрат".

Ключевым преимуществом решения data lakehouse является его экономичность и масштабируемая архитектура. Большинство компонентов в решении используют выставление счетов на основе потребления и автоматически масштабируются. В этом решении все данные хранятся в Data Lake служба хранилища. Вы платите только за хранение данных, если не выполняете никаких запросов или обрабатываете данные.

Цены на это решение зависят от использования следующих ключевых ресурсов:

  • Azure Synapse Serverless SQL: используйте выставление счетов на основе потребления, оплачивайте только то, что вы используете.
  • Apache Spark в Azure Synapse: используйте выставление счетов на основе потребления, оплачивайте только то, что вы используете.
  • Azure Synapse Pipelines: используйте выставление счетов на основе потребления, оплачивайте только то, что вы используете.
  • Озера данных Azure: используйте выставление счетов на основе потребления, оплачивайте только то, что вы используете.
  • Power BI: стоимость зависит от лицензии, которую вы приобрели.
  • Приватный канал: используйте выставление счетов на основе потребления, оплачивайте только то, что вы используете.

Различные решения по защите безопасности имеют разные режимы затрат. Вы должны выбрать решение для обеспечения безопасности в зависимости от бизнес-потребностей и затрат на решение.

Вы можете использовать калькулятор цен Azure для оценки стоимости решения.

Эффективность работы

Сведения о принципах эффективности работы в рамках хорошо спроектированной платформы см. в разделе "Эффективность работы".

Использование локального агента конвейера с поддержкой виртуальной сети для служб CI/CD

Агент конвейера Azure DevOps по умолчанию не поддерживает обмен данными между виртуальными сетями, так как он использует очень широкий диапазон IP-адресов. Это решение реализует автономный агент Azure DevOps в виртуальной сети, чтобы процессы DevOps могли плавно взаимодействовать с другими службами в решении. Строка подключения и секреты для запуска служб CI/CD хранятся в независимом хранилище ключей. В процессе развертывания локальный агент обращается к хранилищу ключей в основной зоне данных для обновления конфигураций ресурсов и секретов. Дополнительные сведения см. в документе "Использование отдельных хранилищ ключей ". Это решение также использует масштабируемые наборы виртуальных машин, чтобы обеспечить автоматическое масштабирование подсистемы DevOps на основе рабочей нагрузки.

Diagram that shows Azure Synapse Analytics and its capabilities.

Реализация проверки безопасности инфраструктуры и тестирования дыма безопасности в конвейере CI/CD

Средство статического анализа для сканирования инфраструктуры в виде файлов кода (IaC) может помочь обнаружить и предотвратить неправильные конфигурации, которые могут привести к проблемам безопасности или соответствия требованиям. Тестирование дыма безопасности гарантирует, что жизненно важные системные меры безопасности успешно включены, обеспечивая защиту от сбоев развертывания.

  • Используйте средство статического анализа для сканирования инфраструктуры в виде шаблонов кода (IaC), чтобы обнаруживать и предотвращать неправильные конфигурации, которые могут привести к проблемам безопасности или соответствия требованиям. Используйте такие средства, как Checkov или Terrascan , чтобы обнаруживать и предотвращать риски безопасности.
  • Убедитесь, что конвейер CD правильно обрабатывает сбои развертывания. Любой сбой развертывания, связанный с функциями безопасности, должен рассматриваться как критический сбой. Конвейер должен повторить неудачное действие или сохранить развертывание.
  • Проверьте меры безопасности в конвейере развертывания, выполнив тестирование дыма безопасности. Тестирование дыма безопасности, например проверка состояния конфигурации развернутых ресурсов или случаев тестирования, которые проверяют критически важные сценарии безопасности, могут гарантировать, что проектирование безопасности работает должным образом.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.

Автор субъекта:

  • Херман Ву | Старший инженер по программному обеспечению

Другие участник:

  • Ян Чэнь | Главный руководитель разработчика программного обеспечения
  • Хосе Контрерас | Основное программное обеспечение инженерии
  • Рой Чан | Главный менеджер по программному обеспечению

Следующие шаги