Общие сведения об управлении доступом для рабочей области Azure Synapse
В этой статье представлен обзор механизмов, которые позволяют управлять доступом к вычислительным ресурсам и данным Azure Synapse.
Azure Synapse предоставляет комплексную и детальную систему управления доступом, которая интегрирует:
- роли Azure для управления ресурсами и доступа к данным в хранилище;
- роли Synapse для управления динамическим доступом к коду и исполнению;
- роли SQL для доступа плоскости данных к данным в пулах SQL;
- разрешения Git для управления исходным кодом, включая поддержку механизмов непрерывной интеграции и развертывания.
Роли Azure Synapse предоставляют наборы разрешений, которые можно применять в разных областях. Такая детализация упрощает предоставление администраторам, разработчикам, персоналу обеспечения безопасности и операторам нужного уровня доступа к вычислительным ресурсам и данным.
Управление доступом можно упростить, применяя группы безопасности, которые согласованы с рабочими ролями пользователей. Для управления доступом в этом случае достаточно добавить пользователя в нужную группу безопасности или удалить его из нее.
Элементы управления доступом
Создание вычислительных ресурсов Azure Synapse и управление ими
Роли Azure используются для управления доступом к следующим элементам:
- Выделенные пулы SQL
- Пулы Data Explorer
- Пулы Apache Spark
- Среды выполнения интеграции
Чтобы создать эти ресурсы, необходимо быть владельцем или участником Azure в группе ресурсов. Для управления ими после создания необходимо быть владельцем или участником Azure либо в группе ресурсов, либо в конкретных ресурсах.
Владелец или участник может включать или отключать проверку подлинности только для Microsoft Для рабочих областей Azure Synapse. Дополнительные сведения о проверке подлинности только для Microsoft Entra см. в статье "Использование проверки подлинности Microsoft Entra для проверки подлинности с помощью Synapse SQL".
Разработка и выполнение кода в Azure Synapse
Synapse поддерживает две модели разработки.
Live development Synapse: вы разрабатываете и отлаживаете код в Synapse Studio, а затем публикуете его для сохранения и выполнения. Служба Synapse считается источником достоверных данных для редактирования и выполнения кода. При закрытии Synapse Studio все неопубликованные данные теряются.
Разработка с поддержкой Git: вы разрабатываете и отлаживать код в Synapse Studio и фиксируете изменения в рабочей ветви репозитория Git. Работа, сохраняемая в одной или нескольких ветвях, интегрируется в ветвь совместной работы, из которой вы публикуете код в службе. Репозиторий Git считается единственным допустимым источником для редактирования кода, а служба — для его выполнения. Перед закрытием Synapse Studio необходимо зафиксировать изменения в репозитории Git или опубликовать в службе. Дополнительные сведения об использовании Synapse Analytics с Git см. в статье "Непрерывная интеграция и доставка" для рабочей области Azure Synapse Analytics.
В обоих режимах разработки артефакты кода может создавать любой пользователь, у которого есть доступ к Synapse Studio. Но вам потребуются дополнительные разрешения для публикации артефактов в службе, чтения опубликованных артефактов, фиксации изменений в Git, выполнения кода и доступа к связанным данным, защищенным учетными данными. Пользователи должны иметь роль участника Azure или более поздней роли в рабочей области Synapse для настройки, изменения параметров и отключения репозитория Git с Synapse.
Роли Azure Synapse
Роли Azure Synapse позволяют управлять доступом к службе Synapse. Различные роли позволяют выполнять следующие задачи:
- Перечисление опубликованных артефактов кода
- Публикация артефактов кода, связанных служб и определений учетных данных
- Выполнение кода или конвейеров, использующих вычислительные ресурсы Synapse
- Выполнение кода или конвейеров, обращаюющихся к связанным данным, защищенным учетными данными
- Просмотр выходных данных, связанных с опубликованными артефактами кода
- Мониторинг состояния вычислительных ресурсов и просмотр журналов среды выполнения
Роли Azure Synapse можно назначать в области рабочей области или более детализированно, что позволяет ограничить предоставляемые разрешения конкретными ресурсами Azure Synapse.
Разрешения Git
Для разработки с поддержкой Git в режиме Git требуются разрешения Git в дополнение к ролям Пользователя Synapse или Synapse RBAC (управление доступом на основе ролей) для чтения артефактов кода, включая связанные определения служб и учетных данных. Чтобы зафиксировать изменения артефактов кода в режиме Git, требуется разрешение Git и роль издателя Synapse Artifact.
Доступ к данным в SQL
Для выделенных и бессерверных пулов SQL доступ к плоскости данных управляется с помощью разрешений SQL.
Создатель рабочей области назначается администратором Active Directory для этой рабочей области. После создания эту роль можно назначить другому пользователю или группе безопасности с помощью портала Azure.
Бессерверные пулы SQL: администраторы Synapse предоставляют
db_owner
разрешения (DBO) в бессерверном пуле SQL, встроенном. Чтобы предоставить другим пользователям доступ к бессерверному пулу SQL, администраторы Synapse должны запускать скрипты SQL в бессерверном пуле.Выделенные пулы SQL: администраторы Synapse имеют полный доступ к данным в выделенных пулах SQL и могут предоставлять доступ другим пользователям. Администраторы Synapse также могут выполнять действия по настройке и обслуживанию выделенных пулов (за исключением удаления баз данных). Создателю рабочей области и MSI рабочей области предоставляется разрешение администратора Active Directory. Другие автоматические механизмы для разрешения доступа к выделенным пулам SQL не применяются. Чтобы предоставить другим пользователям или группам доступ к выделенным пулам SQL, администратору Active Directory или Synapse нужно выполнить специальные скрипты SQL для каждого выделенного пула SQL.
Примеры сценариев SQL для предоставления разрешений SQL в пулах SQL см. в статье "Настройка управления доступом для рабочей области Azure Synapse".
Доступ к данным в пулах Обозревателя данных
Для пулов Data Explorer доступ к плоскости данных контролируется с помощью разрешений Data Explorer. Администраторы Synapse имеют разрешения All Database admin
для пулов Data Explorer. Чтобы предоставить доступ к пулам Data Explorer другим пользователям или группам, администраторы Synapse должны изучить статью Управление ролями безопасности. Дополнительные сведения о доступе на плоскости данных см. в обзоре управления доступом.
Доступ к данным, управляемым системой, в хранилище
Бессерверные пулы SQL и таблицы Apache Spark хранят свои данные в контейнере Azure Data Lake Storage 2-го поколения, связанном с рабочей областью. Установленные пользователем библиотеки Apache Spark также управляются в одной учетной записи хранения. Чтобы включить эти варианты использования, пользователям и MSI рабочей области необходимо предоставить доступ участника данных BLOB-объектов хранилища к этому контейнеру Azure Data Lake Storage.
Использование групп безопасности в качестве рекомендации
Чтобы упростить управление доступом, вы можете использовать группы безопасности для назначения ролей отдельным пользователям и группам. Группы безопасности могут соответствовать определенным пользователям или должностям в организации, которым необходим доступ к ресурсам или артефактам Synapse. Таким группам безопасности для определенных сотрудников можно назначить одну или несколько ролей Azure, ролей Synapse, разрешений SQL или разрешений Git. Если группы безопасности выбраны правильно, будет очень легко назначать пользователю необходимые разрешения, просто добавляя его в соответствующую группу безопасности.
Примечание.
При использовании групп безопасности для управления доступом возникает дополнительная задержка, представленная идентификатором Microsoft Entra ID, прежде чем изменения вступили в силу.
Применение управления доступом в Synapse Studio
Synapse Studio ведет себя по-разному на основе ваших разрешений и текущего режима:
- Режим реального времени Synapse: Synapse Studio не позволяет просматривать опубликованное содержимое, публиковать содержимое или выполнять другие действия, если у вас нет необходимых разрешений. В некоторых случаях не удается создать артефакты кода, которые нельзя использовать или сохранить.
- Режим Git. Если у вас есть разрешения Git, позволяющие зафиксировать изменения в текущей ветви, то действие фиксации разрешено, если у вас есть разрешение на публикацию изменений в динамической службе (роль издателя Synapse Artifact).
В некоторых случаях вы сможете создавать артефакты кода даже без разрешения на публикацию или фиксацию. Это позволяет выполнить код (с требуемыми разрешениями на выполнение). Дополнительные сведения о ролях, необходимых для выполнения стандартных задач, см. в статье Общие сведения о ролях, необходимых для выполнения стандартных задач в Azure Synapse.
Если функция отключена в Synapse Studio, подсказка указывает требуемое разрешение. Воспользуйтесь руководством по ролям RBAC Synapse, чтобы узнать, какая роль необходима для предоставления отсутствующего разрешения.