Поделиться через


Как защитить озеро для Хранилище данных команд

Введение

В этой статье представлен обзор настройки безопасности для lakehouse в Fabric для использования с пользователями SQL с запросами T-SQL. Эти пользователи могут быть бизнес-аналитиками, которые используют данные через SQL, построители отчетов или инженеры данных, создавая новые таблицы и представления.

Функции безопасности

Microsoft Fabric использует модель безопасности с несколькими уровнями с различными элементами управления, доступными на разных уровнях, чтобы предоставить только минимальные необходимые разрешения. Дополнительные сведения о различных функциях безопасности, доступных в Fabric, см. в разделе "Модель контроль доступа данных" в OneLake.

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

Разрешения SQL, настроенные в конечной точке хранилища или аналитики SQL, применяются только к запросам, выполняемым в конечную точку хранилища или аналитики SQL. Базовые данные находятся в OneLake, но доступ к данным OneLake управляется отдельно с помощью ролей доступа к данным OneLake. Чтобы пользователи с определенными разрешениями SQL не видели данные, к которым у них нет доступа к SQL, не включают этих пользователей в роль доступа к данным OneLake.

Защита по варианту использования

Безопасность в Microsoft Fabric оптимизирована для защиты данных для конкретных вариантов использования. Вариант использования — это набор пользователей, которые нуждаются в определенном доступе и доступе к данным через заданный механизм. Для сценариев SQL некоторые распространенные варианты использования:

  • Записи SQL: пользователи, которые должны создавать новые таблицы, просматривать или записывать данные в существующие таблицы.
  • Средства чтения SQL: пользователи, которые должны считывать данные с помощью запросов SQL. Они могут получить доступ к подключению SQL напрямую или через другую службу, например Power BI.

Затем мы можем выровнять каждый вариант использования с необходимыми разрешениями в Fabric.

Доступ на запись SQL

Существует два способа предоставления пользователю доступа на запись к хранилищу или конечной точке аналитики SQL:

  • С помощью ролей рабочей области Fabric можно предоставить членство трем ролям рабочей области, которые предоставляют разрешения на запись. Каждая роль автоматически преобразуется в соответствующую роль в SQL, которая предоставляет эквивалентный доступ на запись.
  • Предоставьте доступ на чтение подсистеме SQL и предоставьте пользовательские разрешения SQL для записи в некоторые или все данные.

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

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

Доступ на чтение SQL

Существует два способа предоставления пользователю доступа на чтение к хранилищу или конечной точке аналитики SQL:

  • Предоставьте доступ для чтения с помощью разрешения ReadData, предоставленного в составе ролей рабочей области Fabric. Все четыре роли рабочей области предоставляют разрешение ReadData.
  • Предоставьте доступ на чтение подсистеме SQL и предоставьте пользовательские разрешения SQL для чтения некоторых или всех данных.

Если пользователь является членом роли рабочей области Fabric, он получает разрешение ReadData. Разрешение ReadData сопоставляет пользователя с ролью SQL, которая предоставляет разрешения SELECT для всех таблиц в складе или озере. Это разрешение полезно, если пользователю нужно просмотреть все или большую часть данных в lakehouse или хранилище. Все разрешения SQL DENY, заданные в определенном озерном доме или хранилище, по-прежнему применяются и ограничивают доступ к таблицам. Кроме того, для таблиц можно задать безопасность на уровне строк и столбцов, чтобы ограничить доступ на детальном уровне.

Если пользователю нужен доступ только к определенному озеру или хранилищу, функция общего доступа предоставляет доступ только к общему элементу. Во время общей папки пользователи могут выбрать только разрешение на чтение или чтение + ReadData. Предоставление разрешения на чтение позволяет пользователю подключаться к конечной точке хранилища или аналитики SQL, но не предоставляет доступа к таблице. Предоставление пользователям разрешений ReadData предоставляет им полный доступ на чтение ко всем таблицам в хранилище или конечной точке аналитики SQL. В обоих случаях можно настроить дополнительную безопасность SQL для предоставления или запрета доступа к определенным таблицам. Эта безопасность SQL может включать детализированный контроль доступа, например безопасность на уровне строк или столбцов.

Использование с сочетаниями клавиш

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

Склады в Fabric не поддерживают ярлыки. Однако существует особое поведение для работы конечной точки аналитики SQL для lakehouse, взаимодействующих с ярлыками.

Все сочетания клавиш в lakehouse доступны в делегированном режиме при запросе через конечную точку аналитики SQL. Делегированное удостоверение — это пользователь Fabric, который владеет lakehouse. По умолчанию владелец — это пользователь, создавший конечную точку lakehouse и аналитики SQL. Владелец может быть изменен в случаях выбора, и текущий владелец отображается в столбце "Владелец " в Fabric при просмотре элемента в списке элементов рабочей области. Делегированное поведение означает, что запрашивающий пользователь может читать из ярлыков таблиц, если владелец имеет доступ к базовым данным, а не пользователь, выполняющий запрос. Запрашивающий пользователь должен иметь доступ только к выбору из ярлыка таблицы.

Примечание.

Например, UserA является владельцем lakehouse, и UserB выполняет запрос в таблице, которая является ярлыком. UserB должен сначала иметь доступ на чтение в таблице, будь то через ReadData или через разрешения SQL. Чтобы просмотреть данные, запрос проверяет, имеет ли UserA доступ к ярлыку. Если ПользовательA имеет доступ, UserB увидит результаты запроса. Если userA не имеет доступа, запрос завершится ошибкой.

Для озерных домов с помощью функции доступа к данным OneLake доступ к ярлыку определяется, имеет ли владелец конечной точки аналитики SQL доступ к целевому озеру и считывает таблицу с помощью роли доступа к данным OneLake.

Для озерных домов, которые еще не используют функцию доступа к данным OneLake, доступ к ярлыку определяется, имеет ли владелец конечной точки аналитики SQL разрешение Read and ReadAll на целевом пути.