Защита и мониторинг хранилища данных
Безопасность и мониторинг являются критически важными аспектами управления хранилищем данных.
Безопасность
Безопасность хранилища данных важна для защиты данных от несанкционированного доступа. Fabric предоставляет ряд функций безопасности, которые помогают защитить хранилище данных. Например:
- Управление доступом на основе ролей (RBAC) для управления доступом к хранилищу и его данным.
- Шифрование SSL для защиты связи между хранилищем и клиентскими приложениями.
- служба хранилища Azure шифрование службы для защиты передаваемых и неактивных данных.
- Azure Monitor и Azure Log Analytics для мониторинга активности хранилища и аудита доступа к данным.
- Многофакторная проверка подлинности (MFA) для добавления дополнительного уровня безопасности к учетным записям пользователей.
- Интеграция идентификатора Microsoft Entra для управления удостоверениями пользователей и доступом к хранилищу.
Разрешения рабочей области
Данные в Fabric организованы в рабочие области, которые используются для управления доступом и управления жизненным циклом данных и служб. Соответствующие роли рабочей области — это первая линия защиты при защите хранилища данных.
Помимо ролей рабочей области, вы можете предоставить разрешения на элементы и доступ через SQL.
Совет
Дополнительные сведения о ролях рабочих областей см . в Power BI .
Разрешения элемента
В отличие от ролей рабочей области, которые применяются ко всем элементам в рабочей области, можно использовать разрешения элемента для предоставления доступа к отдельным хранилищам. Это позволяет предоставлять общий доступ к одному хранилищу данных для потребления нижестоящего потока.
Вы можете предоставить пользователям разрешения через T-SQL или на портале Fabric. Предоставьте следующие разрешения пользователям, которым требуется доступ к хранилищу данных:
- Чтение. Позволяет пользователю подключаться с помощью строка подключения SQL.
- ReadData: позволяет пользователю считывать данные из любой таблицы или представления в хранилище.
- ReadAll: позволяет пользователю считывать данные необработанных файлов parquet в OneLake, которые можно использовать Spark.
Подключение пользователя к конечной точке аналитики SQL завершится сбоем без разрешения на чтение как минимум.
Наблюдение
Мониторинг действий в хранилище данных имеет решающее значение для обеспечения оптимальной производительности, эффективного использования ресурсов и безопасности. Он помогает выявлять проблемы, обнаруживать аномалии и принимать меры для обеспечения плавной и безопасной работы хранилища данных.
Динамические административные представления (ДИНАМИЧЕСКИЕ административные представления) можно использовать для мониторинга состояния подключения, сеанса и запроса, чтобы просмотреть аналитические сведения о жизненном цикле запросов SQL в реальном времени. С помощью динамических административных представлений можно получить такие сведения, как количество активных запросов, и определить, какие запросы выполняются в течение длительного периода и требовать завершения.
В настоящее время доступно три динамических административных представления для использования в Fabric:
- sys.dm_exec_connections. Возвращает сведения о каждом соединении между хранилищем и подсистемой.
- sys.dm_exec_sessions. Возвращает сведения о каждом сеансе, прошедшем проверку подлинности между элементом и подсистемой.
- sys.dm_exec_requests. Возвращает сведения о каждом активном запросе в сеансе.
Мониторинг запросов
Используйте "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;
Вы можете продолжить изучение, чтобы понять, какой пользователь выполнил сеанс с длительным запросом, выполнив следующую команду:
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Наконец, можно использовать KILL
команду для завершения сеанса с длительным запросом:
KILL 'SESSION_ID WITH LONG-RUNNING QUERY';
Важно!
Для выполнения KILL
команды необходимо быть рабочей областью Администратор. Рабочие области Администратор могут выполнять все три динамических представления. Роли участника, участника и средства просмотра могут видеть собственные результаты в хранилище, но не могут видеть результаты других пользователей.