В этой статье описывается процесс проектирования, принципы и технологии использования Azure Synapse для создания безопасного решения data lakehouse. Мы сосредоточимся на соображениях безопасности и ключевых технических решениях.
Apache, Apache® Spark® и логотип пламени являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах. Использование этих меток не подразумевает подтверждения от Apache Software Foundation.
Архитектура
На следующей схеме показана архитектура решения data lakehouse. Она предназначена для управления взаимодействием между службами для устранения угроз безопасности. Решения будут отличаться в зависимости от функциональных и требований к безопасности.
Скачайте файл Visio для этой архитектуры.
Поток данных
Поток данных для решения показан на следующей схеме:
- Данные передаются из источника данных в целевую зону данных либо в хранилище BLOB-объектов Azure, либо в общую папку, предоставляемую Файлы Azure. Данные передаются программой или системой пакетной отправки. Потоковая передача данных записывается и хранится в хранилище BLOB-объектов с помощью функции отслеживания Центры событий Azure. Существует несколько источников данных. Например, несколько разных фабрик могут отправлять данные об операциях. Сведения о защите доступа к хранилищу BLOB-объектов, общим папкам и другим ресурсам хранилища см. в рекомендациях по безопасности для хранилища BLOB-объектов и планирования развертывания Файлы Azure.
- При поступлении файла данных Фабрика данных Azure обрабатывать данные и хранить их в озере данных в основной зоне данных. Отправка данных в основную зону данных в Azure Data Lake защищает от кражи данных.
- Azure Data Lake хранит необработанные данные, полученные из разных источников. Он защищен правилами брандмауэра и виртуальными сетями. Он блокирует все попытки подключения, поступающие из общедоступного Интернета.
- При поступлении данных в озеро данных активируется конвейер Azure Synapse, или активируется время выполнения задания обработки данных. Apache Spark в Azure Synapse активируется и выполняет задание Spark или записную книжку. Он также управляет потоком обработки данных в озере данных. Конвейеры Azure Synapse преобразуют данные из бронзовой зоны в серебряную зону, а затем в золотую зону.
- Задание Spark или записная книжка запускает задание обработки данных. Курирование данных или задание обучения машинного обучения также может выполняться в Spark. Структурированные данные в золотой зоне хранятся в формате Delta Lake .
- Бессерверный пул SQL создает внешние таблицы , использующие данные, хранящиеся в Delta Lake. Бессерверный пул SQL предоставляет мощный и эффективный обработчик запросов SQL и может поддерживать традиционные учетные записи пользователей SQL или учетные записи пользователей Microsoft Entra.
- Power BI подключается к бессерверному пулу SQL для визуализации данных. Он создает отчеты или панели мониторинга с помощью данных в data lakehouse.
- Аналитик данных или ученые могут войти в Azure Synapse Studio в:
- Дальнейшее улучшение данных.
- Анализ для получения бизнес-аналитики.
- Обучение модели машинного обучения.
- Бизнес-приложения подключаются к бессерверному пулу SQL и используют данные для поддержки других бизнес-операций.
- Azure Pipelines запускает процесс CI/CD, который автоматически создает, тестирует и развертывает решение. Он предназначен для минимизации вмешательства человека во время процесса развертывания.
Компоненты
Ниже приведены ключевые компоненты этого решения data lakehouse:
- Azure Synapse
- Файлы Azure
- Центры событий
- Хранилище BLOB-объектов
- Хранилище озера данных Azure
- Azure DevOps
- Power BI
- Фабрика данных
- Бастион Azure
- Azure Monitor
- Microsoft Defender для облака
- Azure Key Vault
Альтернативные варианты
- Если вам нужна обработка данных в режиме реального времени, вместо хранения отдельных файлов в целевой зоне данных используйте структурированную потоковую передачу Apache для получения потока данных из Центров событий и обработки.
- Если данные имеют сложную структуру и требуют сложных запросов SQL, рассмотрите возможность хранения данных в выделенном пуле SQL вместо бессерверного пула SQL.
- Если данные содержат множество иерархических структур данных( например, имеет большую структуру JSON), ее может потребоваться сохранить в Azure Synapse Data Explorer.
Подробности сценария
Azure Synapse Analytics — это универсальная платформа данных, которая поддерживает хранение корпоративных данных, аналитику данных в режиме реального времени, конвейеры, обработку данных временных рядов, машинное обучение и управление данными. Для поддержки этих возможностей она интегрирует несколько различных технологий, таких как:
- Хранение данных корпоративного уровня
- бессерверные пулы SQL;
- Apache Spark
- Pipelines
- Обозреватель данных
- Возможности машинного обучения
- Унифицированное управление данными с помощью Microsoft Purview
Эти возможности открывают множество возможностей, но есть много технических вариантов, чтобы безопасно настроить инфраструктуру для безопасного использования.
В этой статье описывается процесс проектирования, принципы и технологии использования Azure Synapse для создания безопасного решения data lakehouse. Мы сосредоточимся на соображениях безопасности и ключевых технических решениях. Решение использует следующие службы Azure:
- Azure Synapse
- Бессерверные пулы SQL Azure Synapse
- Ключевые концепции Apache Spark в Azure Synapse Analytics
- Конвейеры Azure Synapse
- Azure Data Lake
- Azure DevOps.
Цель состоит в том, чтобы предоставить рекомендации по созданию безопасной и экономичной платформы озера данных для корпоративного использования и обеспечения эффективной работы технологий.
Потенциальные варианты использования
Data lakehouse — это современная архитектура управления данными, которая объединяет функции экономичности, масштабирования и гибкости озера данных с возможностями управления данными и транзакциями хранилища данных. Озеро данных может обрабатывать огромный объем данных и поддерживать бизнес-аналитику и сценарии машинного обучения. Он также может обрабатывать данные из различных структур данных и источников данных. Дополнительные сведения см. в разделе "Что такое Databricks Lakehouse?".
Ниже приведены некоторые распространенные варианты использования решения:
- Анализ телеметрии Интернета вещей (IoT)
- Автоматизация смарт-фабрик (для производства)
- Отслеживание действий и поведения потребителей (для розничной торговли)
- Управление инцидентами и событиями безопасности
- Мониторинг журналов приложений и поведения приложения
- Обработка и бизнес-анализ полуструктурированных данных
Разработка высокого уровня
Это решение ориентировано на разработку и реализацию безопасности в архитектуре. Бессерверный пул SQL, Apache Spark в Azure Synapse, конвейеры Azure Synapse, Data Lake Storage и Power BI — это ключевые службы, используемые для реализации шаблона озера данных.
Ниже приведена архитектура проектирования решений высокого уровня:
Выбор фокуса безопасности
Мы начали проектирование безопасности с помощью средства моделирования угроз. Инструмент помог нам:
- Общаться с заинтересованными лицами системы о потенциальных рисках.
- Определите границу доверия в системе.
Основываясь на результатах моделирования угроз, мы сделали следующие области безопасности нашими главными приоритетами:
- Управление удостоверениями и доступом
- Защита сети
- Безопасность DevOps
Мы разработали функции безопасности и изменения инфраструктуры для защиты системы путем устранения ключевых рисков безопасности, определенных этими основными приоритетами.
Дополнительные сведения о том, что следует проверить и рассмотреть, см. в следующей статье:
- Безопасность в Microsoft Cloud Adoption Framework для Azure
- Управление доступом
- Защита активов
- Безопасность инноваций
План защиты сети и ресурсов
Одним из ключевых принципов безопасности в 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 Storage?
Основываясь на принципе нулевого доверия, мы блокируем связь, если нет бизнес-потребности в взаимодействии. Например, мы блокируем подсистему Spark, которая находится в неизвестном клиенте, напрямую взаимодействовать с хранилищем Data Lake.
Выберите правильное решение для обеспечения безопасности, чтобы применить определенное поведение связи.
В Azure несколько технологий безопасности могут применять определенное поведение связи служб. Например, в Data Lake Storage можно использовать список разрешений 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 Storage) | ||
Synapse SQL | Data Lake Storage | Разрешить (экземпляр) | Правило брандмауэра — экземпляры ресурсов (Synapse SQL) | Synapse SQL должен получить доступ к Data Lake Storage с помощью управляемых удостоверений | |
Агент 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 Storage: выберите решение удостоверения для управления доступом к файлам в хранилище.
Важной частью управления удостоверениями и доступом является выбор подходящего решения для каждого уровня управления доступом. Принципы проектирования безопасности в Azure Well-Architected Framework предлагают использование собственных элементов управления и простоты управления. Поэтому это решение использует учетную запись пользователя Microsoft Entra конечного пользователя в приложении и уровнях доступа Azure Synapse DB. Он использует собственные решения IAM для первого производителя и обеспечивает точное управление доступом. Уровень доступа к внешним ресурсам Azure Synapse и уровень доступа Data Lake использует управляемое удостоверение в Azure Synapse для упрощения процесса авторизации.
- В системе есть четыре различных решения для идентификации.
Рассмотрите возможность доступа с минимальными привилегиями
Руководящий принцип нулевого доверия предлагает обеспечить JIT-доступ к критически важным ресурсам. См. статью Microsoft Entra управление привилегированными пользователями (PIM), чтобы повысить безопасность в будущем.
Защита связанной службы
Связанные службы определяют сведения о подключении, необходимые для подключения к внешним ресурсам. Важно защитить конфигурации связанных служб.
- Создайте связанную службу Azure Data Lake с Приватный канал.
- Используйте управляемое удостоверение в качестве метода проверки подлинности в связанных службах.
- Используйте Azure Key Vault для защиты учетных данных для доступа к связанной службе.
Оценка оценки безопасности и обнаружение угроз
Чтобы понять состояние безопасности системы, решение использует Microsoft Defender для облака для оценки безопасности инфраструктуры и обнаружения проблем безопасности. Microsoft Defender для облака — это инструмент для управления состоянием безопасности и обеспечения защиты от угроз. Он может защитить рабочие нагрузки, работающие в Azure, гибридной и другой облачной платформах.
Вы автоматически включите бесплатный план Defender для облака для всех подписок Azure при первом посещении страниц Defender для облака в портал Azure. Настоятельно рекомендуется предоставить ему возможность получить оценку и предложения облачной безопасности. Microsoft Defender для облака предоставит оценку безопасности и некоторые рекомендации по обеспечению безопасности для подписок.
Если решение нуждается в расширенном управлении безопасностью и возможностях обнаружения угроз, таких как обнаружение и оповещение о подозрительных действиях, можно включить защиту облачных рабочих нагрузок отдельно для разных ресурсов.
Оптимизация затрат
Дополнительные сведения об оптимизации затрат в рамках хорошо спроектированной платформы см. в разделе "Оптимизация затрат".
Ключевым преимуществом решения data lakehouse является его экономичность и масштабируемая архитектура. Большинство компонентов в решении используют выставление счетов на основе потребления и автоматически масштабируются. В этом решении все данные хранятся в Data Lake Storage. Вы платите только за хранение данных, если не выполняете никаких запросов или обрабатываете данные.
Цены на это решение зависят от использования следующих ключевых ресурсов:
- 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 на основе рабочей нагрузки.
Реализация проверки безопасности инфраструктуры и тестирования дыма безопасности в конвейере CI/CD
Средство статического анализа для сканирования инфраструктуры в виде файлов кода (IaC) может помочь обнаружить и предотвратить неправильные конфигурации, которые могут привести к проблемам безопасности или соответствия требованиям. Тестирование дыма безопасности гарантирует, что жизненно важные системные меры безопасности успешно включены, обеспечивая защиту от сбоев развертывания.
- Используйте средство статического анализа для сканирования инфраструктуры в виде шаблонов кода (IaC), чтобы обнаруживать и предотвращать неправильные конфигурации, которые могут привести к проблемам безопасности или соответствия требованиям. Используйте такие средства, как Checkov или Terrascan , чтобы обнаруживать и предотвращать риски безопасности.
- Убедитесь, что конвейер CD правильно обрабатывает сбои развертывания. Любой сбой развертывания, связанный с функциями безопасности, должен рассматриваться как критический сбой. Конвейер должен повторить неудачное действие или сохранить развертывание.
- Проверьте меры безопасности в конвейере развертывания, выполнив тестирование дыма безопасности. Тестирование дыма безопасности, например проверка состояния конфигурации развернутых ресурсов или случаев тестирования, которые проверяют критически важные сценарии безопасности, могут гарантировать, что проектирование безопасности работает должным образом.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Херман Ву | Старший инженер по программному обеспечению
Другие участники:
- Ян Чэнь | Главный руководитель разработчика программного обеспечения
- Хосе Контрерас | Основное программное обеспечение инженерии
- Рой Чан | Главный менеджер по программному обеспечению
Следующие шаги
- Документация по продуктам Azure
- Другие статьи
- Что такое Azure Synapse Analytics?
- Бессерверный пул SQL в Azure Synapse Analytics
- Ключевые концепции Apache Spark в Azure Synapse Analytics
- Конвейеры и действия в Фабрике данных Azure и Azure Synapse Analytics
- Что такое Azure Synapse Data Explorer? (Предварительная версия)
- Возможности машинного обучения в Azure Synapse Analytics
- Что такое Microsoft Purview?
- Azure Synapse Analytics и Azure Purview работают лучше вместе
- Общие сведения об Azure Data Lake Storage 2-го поколения
- Что такое Фабрика данных Azure?
- Текущая серия блогов шаблонов данных: Data Lakehouse
- Что такое Microsoft Defender для облака?
- Data Lakehouse, хранилище данных и современная архитектура платформы данных
- Рекомендации по организации рабочих областей Azure Synapse и lakehouse
- Общие сведения о частных конечных точках Azure Synapse
- Azure Synapse Analytics — новые аналитические сведения о безопасности данных
- Базовые показатели безопасности Azure для выделенного пула SQL Azure Synapse (ранее — хранилище данных SQL)
- Cloud Network Security 101: конечные точки службы Azure и частные конечные точки
- Настройка контроля доступа для рабочей области Azure Synapse
- Подключение к Azure Synapse Studio с помощью центров Приватного канала Azure
- Практическое руководство. Развертывание артефактов рабочей области Azure Synapse в управляемой виртуальной сети Azure Synapse Workspace
- Непрерывная интеграция и поставка для рабочей области Azure Synapse Analytics
- Оценка безопасности в Microsoft Defender для облака
- Рекомендации по использованию Azure Key Vault
- Сценарий Adatum Corporation для управления данными и аналитики в Azure