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


Auditing

Применимо к:База данных SQL в Microsoft Fabric

Аудит баз данных SQL в Fabric — это важная функция безопасности и соответствия требованиям, которая позволяет организациям отслеживать и регистрировать действия базы данных. Аудит поддерживает соответствие, обнаружение угроз и судебно-медицинские расследования, помогая ответить на вопросы, такие как кто обращается к данным, когда и как.

Что такое аудит SQL?

Аудит SQL относится к процессу записи и хранения событий, связанных с действием базы данных. К этим событиям относятся доступ к данным, изменения схемы, изменения разрешений и попытки проверки подлинности.

В Fabric аудит реализуется на уровне базы данных и поддерживает:

  • Мониторинг соответствия (например, HIPAA, SOX)
  • Исследования безопасности
  • Оперативная аналитика

Целевой объект аудита

Журналы аудита записываются в папку только для чтения в OneLake и могут запрашиваться с помощью sys.fn_get_audit_file_v2 функции T-SQL или обозревателя OneLake.

Для базы данных SQL в Fabric журналы аудита хранятся в OneLake: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/

Эти журналы неизменяемы и доступны пользователям с соответствующими разрешениями. Журналы также можно скачать с помощью Обозревателя OneLake или обозревателя службы хранилища Azure.

Параметры конфигурации

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

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

Каждый предварительно настроенный сценарий сопоставляется с определенными группами действий аудита (например, SCHEMA_OBJECT_ACCESS_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP). Вы также можете выбрать события для аудита в разделе "Пользовательские события". Расширенные пользователи могут выбирать отдельные группы действий для настройки аудита в соответствии с потребностями. Это идеально подходит для клиентов с строгими внутренними политиками безопасности.

Чтобы отфильтровать распространенные или известные запросы доступа, можно предоставить выражения предиката в Transact-SQL (T-SQL), чтобы отфильтровать события аудита на основе условий (например, для исключения инструкций SELECT): WHERE statement NOT LIKE '%select%'

Permissions

Чтобы управлять аудитом с помощью ролей рабочей области Fabric (рекомендуется), пользователи должны иметь членство в роли участника рабочей области Fabric или более высокие разрешения.

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

  • Чтобы настроить аудит базы данных, пользователи должны иметь разрешение ALTER ANY DATABASE AUDIT.
  • Чтобы просмотреть журналы аудита с помощью T-SQL, пользователи должны иметь разрешение VIEW DATABASE SECURITY AUDIT.

Retention

По умолчанию данные аудита хранятся на неопределенный срок. Вы можете настроить настраиваемый период хранения в разделе Автоматическое удаление журналов после этого периода.

Настройка аудита для базы данных SQL на портале Fabric

Чтобы начать аудит базы данных SQL Fabric, выполните приведенные действия.

  1. Перейдите к базе данных SQL и откройте ее на портале Fabric.
  2. В главном меню выберите вкладку "Безопасность" , а затем выберите "Управление аудитом SQL". Снимок экрана: портал Fabric, на котором показана вкладка
  3. Откроется область "Управление аудитом SQL ".
  4. Нажмите кнопку "Сохранить события в журналы аудита SQL" , чтобы включить аудит.
  5. Настройте события для записи в разделе "События базы данных ". Выберите "Аудит всего" (по умолчанию) для записи всех событий.
  6. При необходимости настройте политику хранения в разделе "Хранение".
  7. При необходимости настройте выражение предиката команд T-SQL, чтобы игнорировать его в поле выражения предиката .
  8. Нажмите кнопку "Сохранить".

Запрос на журналы аудита

Журналы аудита можно запрашивать с помощью функций T-SQL sys.fn_get_audit_file и sys.fn_get_audit_file_v2.

В следующем сценарии необходимо указать идентификатор рабочей области и идентификатор базы данных. Оба варианта можно найти в URL портала Fabric. Например: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. Первая строка уникального идентификатора в URL — это Fabric workspace ID, а вторая уникальная строка идентификатора — SQL ID базы данных.

  • Замените <fabric_workspace_id> идентификатором рабочего пространства Fabric. Идентификатор рабочей области можно легко найти в URL-адресе, это уникальная строка внутри двух / символов после /groups/ в окне браузера.
  • Замените <fabric sql database id> на SQL базу данных в идентификаторе базы данных Fabric. Идентификатор элемента базы данных можно легко найти в URL-адресе, это уникальная строка внутри двух / символов после /sqldatabases/ в окне браузера.

Рассмотрим пример.

SELECT * FROM sys.fn_get_audit_file_v2(
  'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
  DEFAULT, DEFAULT, DEFAULT, DEFAULT );

В этом примере извлекаются журналы аудита между 2025-11-17T08:40:40Z и 2025-11-17T09:10:40Z.

SELECT *
FROM sys.fn_get_audit_file_v2(
    'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
    DEFAULT,
    DEFAULT,
    '2025-11-17T08:40:40Z',
    '2025-11-17T09:10:40Z')

Дополнительные сведения см. в sys.fn_get_audit_file и sys.fn_get_audit_file_v2.