Azure Synapse: управление доступом

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

Обзор

Azure Synapse предоставляет комплексную и детализированную систему управления доступом, которая объединяет следующие компоненты:

  • роли Azure для управления ресурсами и доступа к данным в хранилище;
  • роли Synapse для управления динамическим доступом к коду и исполнению;
  • роли SQL для доступа плоскости данных к данным в пулах SQL;
  • разрешения Git для управления исходным кодом, включая поддержку механизмов непрерывной интеграции и развертывания.

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

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

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

Создание вычислительных ресурсов Azure Synapse и управление ими

Роли Azure используются для управления доступом к следующим элементам:

  • Выделенные пулы SQL
  • Пулы Data Explorer
  • Пулы Apache Spark
  • Среды выполнения интеграции

Чтобы создать эти ресурсы, необходимо быть владельцем или участником Azure в группе ресурсов. Для управления ими после создания необходимо быть владельцем или участником Azure либо в группе ресурсов, либо в конкретных ресурсах.

Владелец Или участник Azure может включить или отключить проверку подлинности только для Microsoft Entra для рабочих областей Azure Synapse. Дополнительные сведения о проверке подлинности, доступной только для Microsoft Entra, см. в разделе "Отключение локальной проверки подлинности в Azure Synapse Analytics".

Разработка и выполнение кода в Azure Synapse

Synapse поддерживает две модели разработки.

  • Активная разработка Synapse. Разработка и отладка кода выполняются в Synapse Studio, а затем вы публикуете код для сохранения и выполнения. Служба Synapse считается источником достоверных данных для редактирования и выполнения кода. При закрытии Synapse Studio все неопубликованные данные теряются.
  • Разработка с поддержкой Git. Разработка и отладка кода выполняются в Synapse Studio, а затем вы фиксируете изменения в рабочей ветви репозитория Git. Работа, сохраняемая в одной или нескольких ветвях, интегрируется в ветвь совместной работы, из которой вы публикуете код в службе. Репозиторий Git считается единственным допустимым источником для редактирования кода, а служба — для его выполнения. Перед закрытием Synapse Studio необходимо зафиксировать изменения в репозитории Git или опубликовать в службе. Дополнительные сведения об использовании Synapse Analytics с Git.

В обоих режимах разработки артефакты кода может создавать любой пользователь, у которого есть доступ к Synapse Studio. Но вам потребуются дополнительные разрешения для публикации артефактов в службе, чтения опубликованных артефактов, фиксации изменений в Git, выполнения кода и доступа к связанным данным, защищенным учетными данными. Для настройки, изменения параметров и отключения репозитория Git в Synapse пользователю необходима роль участника Azure (Azure RBAC) или выше в рабочей области Synapse.

Роли Azure Synapse

Роли Azure Synapse позволяют управлять доступом к службе Synapse. Различные роли позволяют выполнять следующие задачи:

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

Роли Azure Synapse можно назначать в области рабочей области или более детализированно, что позволяет ограничить предоставляемые разрешения конкретными ресурсами Azure Synapse.

Разрешения Git

При разработке с поддержкой Git в режиме Git вам потребуются разрешения Git в дополнение к ролям пользователя Synapse или Synapse RBAC (управление доступом на основе ролей) для чтения артефактов кода, в том числе определений связанных служб и учетных данных. Для фиксации изменений в артефактах кода в режиме Git вам потребуются разрешения Git и роль издателя артефактов (Synapse RBAC).

Доступ к данным в SQL

При работе с выделенными и бессерверными пулами SQL управление доступом к плоскости данных определяется разрешениями SQL.

Создатель рабочей области назначается администратором Active Directory для этой рабочей области. После создания эту роль можно назначить другому пользователю или группе безопасности с помощью портала Azure.

Бессерверные пулы SQL: Synapse Администратор istratorы предоставляются db_owner (DBO) разрешения на бессерверный пул SQL , встроенный. Чтобы предоставить другим пользователям доступ к бессерверному пулу SQL, администраторы Synapse должны запускать скрипты SQL в бессерверном пуле.

Выделенные пулы SQL: администраторы Synapse имеют полный доступ к данным в выделенных пулах SQL и могут предоставлять доступ другим пользователям. Администраторы Synapse также могут выполнять действия по настройке и обслуживанию выделенных пулов (за исключением удаления баз данных). Создателю рабочей области и MSI рабочей области предоставляется разрешение администратора Active Directory. Другие автоматические механизмы для разрешения доступа к выделенным пулам SQL не применяются. Чтобы предоставить другим пользователям или группам доступ к выделенным пулам SQL, администратору Active Directory или Synapse нужно выполнить специальные скрипты SQL для каждого выделенного пула SQL.

Примеры скриптов SQL для предоставления разрешений SQL в пулах SQL см. в статье о настройке управления доступом в Synapse.

Доступ к данным в пулах Data Explorer

При работе с пулами Data Explorer доступ к плоскости данных контролируется разрешениями Data Explorer. Администраторы Synapse имеют разрешения All Database admin для пулов Data Explorer. Чтобы предоставить доступ к пулам Data Explorer другим пользователям или группам, администраторы Synapse должны изучить статью Управление ролями безопасности. Дополнительные сведения о доступе к плоскости данных см. в статье Общие сведения об управлении доступом к Data Explorer.

Доступ к управляемым системой данным в хранилище

Данные бессерверных пулов SQL и таблиц Apache Spark хранятся в контейнере ADLS 2-го поколения, связанном с рабочей областью. Установленные пользователем библиотеки Apache Spark также управляются в одной учетной записи хранения. Чтобы реализовать эти варианты использования, необходимо предоставить пользователям и MSI рабочей области доступ уровня Участник для данных BLOB-объектов хранилища к этому контейнеру хранилища ADLS 2-го поколения.

Рекомендации по использованию групп безопасности

Чтобы упростить управление доступом, вы можете использовать группы безопасности для назначения ролей отдельным пользователям и группам. Группы безопасности могут соответствовать определенным пользователям или должностям в организации, которым необходим доступ к ресурсам или артефактам Synapse. Таким группам безопасности для определенных сотрудников можно назначить одну или несколько ролей Azure, ролей Synapse, разрешений SQL или разрешений Git. Если группы безопасности выбраны правильно, будет очень легко назначать пользователю необходимые разрешения, просто добавляя его в соответствующую группу безопасности.

Примечание.

При использовании групп безопасности для управления доступом возникает дополнительная задержка, представленная идентификатором Microsoft Entra ID, прежде чем изменения вступили в силу.

Применение управления доступом в Synapse Studio

Synapse Studio будет вести себя по-разному в зависимости от ваших разрешений и выбранного режима работы:

  • Режим реального времени Synapse: Synapse Studio не позволит просматривать опубликованное содержимое, публиковать содержимое или выполнять другие действия, если у вас нет необходимых разрешений. В некоторых случаях вы даже не сможете создать артефакты кода, если у вас нет прав на их использование и сохранение.
  • Режим Git: если у вас есть разрешения Git, позволяющие вам фиксировать изменения в текущей ветви, действие фиксации будет разрешено при наличии у вас разрешения на публикацию изменений в работающей службе (роль издателя артефактов Synapse).

В некоторых случаях вы сможете создавать артефакты кода даже без разрешения на публикацию или фиксацию. Это позволяет выполнить код (с требуемыми разрешениями на выполнение). Дополнительные сведения о ролях, необходимых для выполнения стандартных задач, см. в статье Общие сведения о ролях, необходимых для выполнения стандартных задач в Azure Synapse.

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

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