Защита и мониторинг хранилища

Завершено

Безопасность и мониторинг являются критически важными аспектами управления data warehouse. Fabric предоставляет несколько уровней средств защиты и видимости, помогая управлять доступом и понимать производительность запросов.

Безопасность

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

Роли рабочего пространства

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

Подсказка

Дополнительные сведения см. в разделе "Рабочие области" в Power BI.

Разрешения элемента

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

При необходимости предоставьте следующие разрешения:

  • Доступ на чтение - Позволяет пользователю подключаться через конечную точку для аналитики SQL.
  • ReadData — позволяет пользователю считывать данные из любой таблицы или представления в хранилище.
  • ReadAll — позволяет пользователю считывать исходные файлы Parquet в OneLake.

Замечание

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

Детальная безопасность SQL

Для более точного управления доступом хранилище данных Fabric поддерживает детализированную безопасность с помощью T-SQL. Эти функции позволяют ограничить видимость данных без изменения базовых таблиц:

  • Безопасность на уровне объектов — управление доступом к определенным таблицам, представлениям или процедурам.
  • Безопасность на уровне строк (RLS) — ограничение строк, которые пользователь может видеть с помощью предикатов предложения WHERE.
  • Безопасность на уровне столбцов (CLS) — ограничение того, какие столбцы видны определенным пользователям.
  • Динамическое маскирование данных — маскирование конфиденциальных данных (например, адреса электронной почты или номера учетных записей) от пользователей, не являющихся привилегированными.

Защита данных хранилища важна как для соответствия нормативным требованиям, так и для обеспечения работы средств, работающих на основе ИИ, таких как Copilot и агенты данных, в пределах управляемых границ. Политики безопасности, определенные в T-SQL, применяются независимо от способа доступа к данным.

Подсказка

Безопасность на уровне строк, безопасность на уровне столбцов и динамическое маскирование данных подробно рассматриваются в Secure Microsoft Fabric data warehouse.

Контроль

Мониторинг активности хранилища помогает определить проблемы с производительностью, оптимизировать запросы и понять шаблоны использования.

Аналитика запросов

Аналитика запросов предоставляет центральное расположение для исторических данных запросов и аналитических сведений о производительности. Он сохраняет данные в течение 30 дней и помогает выявлять длительные запросы, отслеживать изменения производительности с течением времени и понимать, какие запросы потребляют больше всего ресурсов.

Аналитика запросов использует системные представления, которые можно запрашивать напрямую:

  • queryinsights.exec_requests_history — возвращает сведения о каждом завершенном SQL-запросе.
  • queryinsights.long_running_queries — возвращает запросы, ранжированные по времени выполнения.
  • queryinsights.exec_sessions_history — возвращает сведения о завершенных сеансах.

Динамические представления управления

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

SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;

Это важно

Чтобы выполнить команду KILL для завершения длительных сеансов, необходимо быть Администратором рабочей области. Участники, Вкладчики и Наблюдатели могут видеть собственные результаты, но не могут видеть запросы других пользователей.