Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric
Аудит в хранилище данных Fabric обеспечивает расширенные возможности безопасности и соответствия требованиям путем отслеживания и записи событий базы данных.
Используя журналы аудита SQL, вы можете отслеживать активность базы данных, выявлять потенциальные угрозы безопасности и выполнять требования соответствия, ведя аудит ключевых действий, таких как:
- Попытки проверки подлинности и изменения управления доступом
- Операции доступа к данным и изменения
- Изменения схемы и административные действия
- Изменения разрешений и конфигурации безопасности
Это важно
По умолчанию журналы аудита SQL выключены. Пользователи с разрешениями для запросов аудита должны включить функцию записи журналов.
Чтобы приступить к работе, ознакомьтесь с инструкциями по настройке журналов аудита SQL в хранилище данных Fabric.
Хранение
Журналы аудита SQL шифруются в состоянии покоя и хранятся в OneLake.
Для хранилища данных Fabric журналы аудита записываются в файлы, которые хранятся в папке Audit хранилища в OneLake.
Пользователи со следующими ролями могут получить доступ к папке аудита:
- Администраторы рабочей области
- Члены рабочей области
- Участники рабочей области
- Просмотрщики рабочих областей с разрешением "Чтение всех"
Эти пользователи могут:
- Обзор папки "Аудит"
- Просмотрите файлы аудита, созданные при помощи
.XELSQL-аудита - Скопируйте файлы для автономного анализа
- Откройте файлы с такими инструментами, как SQL Server Management Studio (SSMS)
Журналы аудита также можно запрашивать с помощью T-SQL с помощью sys.fn_get_audit_file_v2.
Инструкции см. в разделе Настройка журналов аудита SQL вхранилища данных Fabric.
Подсказка
Настройка журналов аудита в хранилище данных Microsoft Fabric может увеличить затраты на хранение в зависимости от групп действий и событий, записанных. Включите только необходимые события, чтобы избежать ненужных затрат на хранение.
Производительность
Функция журналов аудита SQL оптимизирована с учётом доступности и производительности проверяемой базы данных. В периоды очень высокой активности или высокой сетевой нагрузки функция аудита может позволить транзакциям продолжаться без записи всех событий, помеченных для аудита.
Разрешения
У пользователей должно быть разрешение на запросы аудита (аудит) для настройки и запроса журналов аудита.
- По умолчанию администраторы пространства имеют разрешение на запросы аудита для всех элементов в рабочей области.
- Администраторы могут предоставлять права на запросы Audit по товарам другим пользователям через диалоговое окно обмена.
Администраторы рабочего пространства могут предоставлять права на запросы аудита к элементу, используя опцию общего меню в портале Fabric. Чтобы проверить, есть ли у пользователя разрешения на запросы аудита , проверьте настройки управления разрешениями .
В элементе "Склад" выберите кнопку Общий доступ.
Или на портале Fabric в вашей рабочей области. Выберите контекстное
...меню для элемента хранилища, выберите пункт "Управление разрешениями".В панели доступа для людей Grant предоставляйте разрешения пользователю.
Запросы к журналам аудита с использованием прав T-SQL
Дайте пользователям разрешение VIEW DATABASE SECURITY AUDIT , чтобы они могли запрашивать журналы аудита с помощью разрешения T-SQL, даже если у них нет административных ролей в рабочем пространстве.
При предоставлении следующего разрешения пользователь может запрашивать журналы аудита, используя функцию:sys.fn_get_audit_file_v2
GRANT VIEW DATABASE SECURITY AUDIT TO [user];
Подсказка
Это VIEW DATABASE SECURITY AUDIT разрешение даёт только возможность задавать запросы к журналам аудита. Он не предоставляет доступ к файлам и не разрешает изменять конфигурацию аудита.
Группы действий и действия аудита на уровне базы данных
Чтобы сделать конфигурацию журнала аудита более доступной, портал Fabric использует понятные имена, чтобы помочь администраторам без SQL и другим пользователям легко понять захваченные события хранилища данных Fabric.
Структура сопоставляет эти понятные имена с базовыми группами действий аудита SQL. Используйте следующую таблицу для справки.
| Дружественное имя | Имя группы действий | Описание |
|---|---|---|
| Объект был доступен | DATABASE_OBJECT_ACCESS_GROUP |
Регистрирует доступ к объектам базы данных, таким как типы сообщений, сборки или контракты. |
| Объект был изменен | DATABASE_OBJECT_CHANGE_GROUP |
Регистрирует операции CREATE, ALTERили DROP с объектами базы данных. |
| Изменен владелец объекта | DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
Регистрирует изменения владения объектами базы данных. |
| Изменено разрешение объекта | DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
Журналирует действия GRANT, REVOKEили DENY на объектах базы данных. |
| Пользователь был изменен | DATABASE_PRINCIPAL_CHANGE_GROUP |
Журналы создания, изменения или удаления субъектов базы данных (пользователи, роли). |
| Пользователь был выдан за другого | DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
Регистрирует операции имперсонации (например, EXECUTE AS). |
| Участник роли был изменен | DATABASE_ROLE_MEMBER_CHANGE_GROUP |
Выполняется журналирование добавления или удаления учётных записей к роли базы данных. |
| Пользователь не удалось войти в систему | FAILED_DATABASE_AUTHENTICATION_GROUP |
Фиксирует неудачные попытки проверки подлинности в базе данных. |
| Было использовано разрешение схемы | SCHEMA_OBJECT_ACCESS_GROUP |
Регистрирует доступ к объектам схемы. |
| Изменена схема | SCHEMA_OBJECT_CHANGE_GROUP |
Осуществляется логирование операций CREATE, ALTERили DROP по схемам. |
| Проверено разрешение объекта схемы | SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
Записывает изменения в отношении владения объектами схемы. |
| Изменено разрешение объекта схемы | SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
Журналы действий GRANT, REVOKEили DENY на объектах схемы. |
| Пакет был завершен | BATCH_COMPLETED_GROUP |
Это событие возникает каждый раз, когда завершается выполнение любой операции текстового пакета, хранимой процедуры или управления транзакциями. |
| Партия была запущена | BATCH_STARTED_GROUP |
Это событие возникает каждый раз, когда запускается выполнение любого пакетного текстового задания, хранимой процедуры или операции управления транзакциями. |
| Аудит был изменен | AUDIT_CHANGE_GROUP |
Это событие возникает при каждом создании, изменении или удалении любого аудита. |
| Пользователь вышел из системы | DATABASE_LOGOUT_GROUP |
Это событие возникает, когда пользователь базы данных выходит из базы данных. |
| Вход пользователя | SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP |
Указывает, что пользователь успешно вошел в базу данных. |
Действия аудита на уровне базы данных
Помимо групп действий можно настроить отдельные действия аудита для регистрации определенных событий базы данных:
| Действие аудита | Описание |
|---|---|
SELECT |
Регистрирует выражения SELECT для указанного объекта. |
INSERT |
Регистрирует операции INSERT на указанном объекте. |
UPDATE |
Регистрирует операции UPDATE на указанном объекте. |
DELETE |
Регистрирует операции DELETE на указанном объекте. |
EXECUTE |
Регистрирует выполнение хранимых процедур или функций. |
RECEIVE |
Журнализирует RECEIVE операцию в очередях Service Broker. |
REFERENCES |
Ведёт журналы проверок разрешений, связанных с ограничениями внешнего ключа. |
Уменьшите шум аудита с помощью предикатной фильтрации
Чтобы отфильтровать, какие события захватываются, используйте опциональный фильтр выражения предиката .
Используйте фильтрацию предикатов для снижения шума от ожидаемой, повторяющейся активности, такой как идентификации автоматизации, принципы сервиса или запланированные задачи, не отключая группы действий, необходимые вашей организации для соблюдения требований или расследования.
- Только когда событие совпадает с настроенным предикатом, для этого действия генерируется событие SQL-аудита для этого действия.
- Фильтрация происходит до написания события, поэтому исключённые события позже недоступны для ретроспективного анализа. Рассматривайте исключения предиката как осознанное решение по политике аудита и периодически пересматривайте установленный предикат по мере изменения владения, разрешений и профилей рисков.
- Фильтрация предиката оценивает только те события, которые уже настроены для захвата с помощью включенной группы действий аудита или действия.
- Если базовая группа действий не включена, предикатом не генерируется событие, которое предикат должен оценить, и фильтр не действует. Например, чтобы отфильтровать
SELECTоператоры с помощью предиката наstatementполе, сначала необходимо включить группу действий Batch Was Completed (BATCH_COMPLETED_GROUP) ().
- Если базовая группа действий не включена, предикатом не генерируется событие, которое предикат должен оценить, и фильтр не действует. Например, чтобы отфильтровать
Вы можете настроить выражение предиката, используя портал Fabric или REST API. Для шагов см. Конфигурировать выражение предиката.
Синтаксис выражения предиката
Выражения предикатов используют тот же синтаксис, что и <predicate_expression> клауза в CREATE SERVER AUDIT (Transact-SQL), без WHERE ключевого слова:
<predicate_expression> ::=
{ [ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ] [ ,... n ] }
<predicate_factor> ::=
event_field_name { = | <> | != | > | >= | < | <= | LIKE }
{ number | 'string' }
-
event_field_nameсоответствует столбцу, возвращаемому sys.fn_get_audit_file (Transact-SQL). Вы можете использовать все задокументированные столбцы, кромеfile_name,audit_file_offset, иevent_time. -
action_idиclass_typeявляются строками, но их можно сравнивать только с числовыми значениями в предикате. - Сравнения строк не выполняют неявное преобразование типов.
- Максимальная длина выражения составляет 3 000 символов.
- Пустая строка означает, что предикат не применяется.
Например, чтобы исключить активность, сгенерируемую известным принципом сервиса или идентичностью автоматизации, отфильтруйте по server_principal_name. Чтобы исключить повторяющиеся SELECT утверждения, отфильтруйте по statement полю: NOT statement LIKE 'SELECT %'.
Ограничения
- Рабочая область по умолчанию не поддерживает журналы аудита SQL.
- Журналы аудита SQL не поддерживаются для моментальных снимков хранилища.
Это важно
Журналы аудита хранятся в элементе 'Хранилище' в OneLake. Если удалить хранилище, вы также удалите связанные файлы журнала аудита и больше не сможете получить к ним доступ.
Чтобы сохранить журналы аудита в целях соответствия требованиям или исследования, скопируйте .XEL файлы в другое место хранения перед удалением хранилища.
Ограничения конечных точек аналитики SQL
Следующие ограничения применяются при аудите конечных точек аналитики SQL:
- Операции DML не записываются. Аудит не записывает такие операции, как
INSERT,UPDATEDELETEиMERGEпоскольку обработка данных для таблиц Lakehouse происходит через среду выполнения Lakehouse, а не через конечную точку аналитики SQL. - Прямой доступ к папке аудита в настоящее время не поддерживается. Пользователи не могут просматривать или скачивать базовые
.XELфайлы аудита из папки аудита Lakehouse.
Вы всё ещё можете запрашивать события аудита для конечных точек аналитики SQL, используя функцию sys.fn_get_audit_file_v2T-SQL .