Узнайте, как использовать защиту от эксфильтрации Synapse, частные конечные точки и аутентификацию Azure AD для создания безопасного подключения.

1. Введение

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

  • Synapse защита от эксфильтрации данных для предотвращения внутренних атак
  • Частные конечные точки, чтобы ограничить доступ к Функциям Azure только для внутреннего использования.
  • Аутентификация Azure ADс использованием удостоверения для доступа к Функциям Azure.
  • Внесение в белый список управляемого удостоверения Synapse как единственного разрешенного удостоверения для доступа к Функциям Azure.

В этом сообщении блога и репозитории git securely-connect-synapse-azure-function обсуждается безопасное подключение Synapse к Функциям Azure. См. также обзор ниже.

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

2. Разверните проект: безопасно подключите Synapse к функции Azure.

В этой главе выполняются следующие шаги:

  • 2.0 Предпосылки
  • 2.1 Развертывание функций Synapse и Azure
  • 2.2 Настройка соединений с частными конечными точками
  • 2.3 Настройка аутентификации Azure AD
  • 2.4 Развертывание конвейера Synapse

2.0 Предпосылки

Для этого руководства необходимы следующие ресурсы:

Наконец, клонируйте приведенный ниже репозиторий git на свой локальный компьютер. Если у вас не установлен git, вы можете просто загрузить zip-файл с веб-страницы.

https://github.com/rebremer/securely-connect-synapse-to-azure-functions

2.1 Развертывание функций Synapse и Azure

В этой части рабочая область Synapse и функции Azure создаются со следующими свойствами:

  • Рабочая область Synapse развернута с помощью управляемой виртуальной сети, которая позволяет команде создавать частные конечные точки для других служб PaaS в Azure (например, хранилище, SQL, а также функции Azure).
  • Рабочая область Synapse развернута с включенной защитой от кражи данных. Это означает, что эти данные могут передаваться только через частные конечные точки, которые были предварительно утверждены (например, частные конечные точки к службам в том же арендаторе Azure AD, где развернут Synapse).
  • Функция Azure создается на языке Python и развертывается в базовом SKU.

См. Scripts/1_deploy_resources.ps1 сценарий Azure CLI в этой части.

2.2 Настройка соединений с частными конечными точками

В этой части настраивается подключение по частной ссылке между рабочей областью Synapse и функцией Azure со следующими свойствами:

  • Инициировать частную конечную точку из виртуальной сети, управляемой Synapse, в функцию Azure.
  • Утвердить частную конечную точку в функции Azure. После утверждения частной конечной точки функция Azure больше не доступна в общедоступном Интернете. Интерфейс развертывания scm по-прежнему открыт для Интернета, можно также решить ограничить доступ к этому полному доменному имени, добавив эту ссылку, см. здесь

См. Scripts/2_Setup_private_endpoint_Synapse_FunctionApp.ps1 сценарий Azure PowerShell в этой части. После развертывания вы найдете утвержденную частную конечную точку в Synapse, см. ниже.

2.3 Настройка внесения в белый список аутентификации Azure AD Synapse Manged Identity

В этой части настраивается проверка подлинности между Synapse и функцией Azure со следующими свойствами:

  • Проверка подлинности Azure AD настроена для функции Azure.
  • Управляемое удостоверение Synapse занесено в белый список, поскольку только идентификатор объекта Azure AD может активировать функцию Azure.

См. Scripts/3_Setup_AzureAD_auth_Synapse_FunctionApp.ps1 сценарий Azure CLI в этой части. После развертывания вы найдете управляемое удостоверение Synapse в качестве разрешенной функции доступа пользователя, см. также ниже.

2.4 Развертывание конвейера Synapse

В этой части развертывается конвейер Synapse со следующими свойствами:

  • Конвейер Synapse получает доступ к функции Azure с помощью веб-действия.
  • В веб-активности для подключения функции используется частная конечная точка, поэтому вызов не блокируется защитой от эксфильтрации данных Synapse.
  • В веб-действиях управляемое удостоверение, назначенное системой, используется для аутентификации в функции Azure.

См. Scripts/4_deploy_synapse_pipeline.ps1 сценарий Azure CLI в этой части. После развертывания URL-адрес функции Azure и идентификатор ресурса Azure AD заполнены правильно, см. также ниже.

3. Заключение

Функции Azure — это популярный инструмент для создания API-интерфейсов REST для предоставления служб как внутренним, так и внешним. Рабочая область Synapse — это пример, в котором можно использовать API-интерфейсы других команд. Инженеры данных могут использовать конвейеры Synapse для приема метаданных, отправки уведомлений и/или выполнения небольших вычислений, предоставляемых другими командами. В этом блоге аспекты безопасности при подключении Synapse к функциям обсуждаются следующим образом:

  • Synapse защита от эксфильтрации данных для предотвращения внутренних атак
  • Частные конечные точки, чтобы ограничить доступ к функциям Azure.
  • Поставщик аутентификации Azure AD для ограничения управления учетными данными
  • Управляемое удостоверение Synapse внесено в белый список для доступа к Функциям Azure.

См. также этот репозиторий git securely-connect-synapse-azure-function и архитектуру ниже.