Аудит баз данных
Раздел Объекты \ Аудит БД предназначен для настройки аудита на уровне базы данных. Здесь администратор может управлять параметрами логирования для каждого объекта БД индивидуально.
Возможности настройки аудита зависят от типа СУБД и её версии. Некоторые базы данных поддерживают детальную настройку для каждого объекта, другие — только включение/выключение аудита на уровне расширения.
Общие сведения
Для каждой базы данных доступна своя конфигурация аудита. Интерфейс управления логированием открывается из контекстного меню подключения в разделе Базы данных через пункт "Управление логированием".
Информационная панель
В верхней части окна отображается информация о подключении:
| Поле | Описание |
|---|---|
| Сервер БД | IP-адрес или DNS-имя сервера |
| Экземпляр БД | Название экземпляра базы данных |
| Порт | Номер порта подключения |
| Тип СУБД | Тип системы управления базой данных |
Фильтрация объектов
Для поиска объектов доступны фильтры:
- Схема объекта БД — фильтрация по схеме
- Имя объекта БД — поиск по названию объекта
- Типы привилегий — фильтрация по типу операций
Аудит для Oracle
Oracle поддерживает наиболее детальную настройку аудита. Для каждого объекта базы данных можно индивидуально настроить логирование различных операций.
Структура таблицы объектов
| Колонка | Описание |
|---|---|
| Схема объекта БД | Схема, которой принадлежит объект (APPQOSSYS, AUDSYS, CTXSYS и др.) |
| Имя объекта БД | Название объекта (таблицы, представления, процедуры) |
| Тип объекта БД | Тип объекта: TABLE, VIEW, PROCEDURE и др. |
| Select | Настройка аудита операций чтения |
| Insert | Настройка аудита операций вставки |
| Update | Настройка аудита операций обновления |
| Delete | Настройка аудита операций удаления |
| Alter | Настройка аудита операций изменения структуры |
| Rename | Настройка аудита операций переименования |
| Execute | Настройка аудита выполнения (для процедур/функций) |
| Grant | Настройка аудита операций назначения прав |
Значения статусов операций
Для каждой операции отображается статус в формате "[Успех] | [Отказ]":
- Первое значение — аудит при успешном выполнении операции (Доступ разрешен)
- Второе значение — аудит при отказе в доступе (Отказ в доступе)
Возможные значения:
- Выкл. — аудит отключен
- Сесс. — аудит на уровне сессии (одна запись на сессию)
- Дост. — аудит на уровне доступа (запись каждого обращения)
Настройка параметров логирования объекта
При клике правой кнопкой мыши на объекте доступны действия:
- Параметры логирования — открывает форму детальной настройки аудита
- Информация об объекте — переход на страницу объекта в Справочнике объектов
Форма параметров логирования
Форма позволяет настроить аудит для каждой операции с объектом:
Информация об объекте:
- Схема объекта БД
- Имя объекта БД
- Тип объекта БД
Настраиваемые операции:
| Операция | Описание |
|---|---|
| SELECT | Чтение данных из объекта |
| INSERT | Добавление новых записей |
| UPDATE | Изменение существующих записей |
| DELETE | Удаление записей |
| ALTER | Изменение структуры объекта |
| RENAME | Переименование объекта |
| EXECUTE | Выполнение (для процедур и функций) |
| GRANT | Назначение прав доступа |
Для каждой операции доступны две колонки:
- Доступ разрешен — логирование при успешном выполнении операции
- Отказ в доступе — логирование при отклонении операции
Варианты настройки:
- Выключен — аудит не ведется
- Сессия — события записываются один раз за сессию
- Доступ — каждое обращение записывается отдельно
Дополнительные опции:
- Логировать пользователей группы Lector — включить в аудит служебных пользователей
- Исключить из логирования пользователей группы Lector — исключить служебные учетные записи
Аудит для PostgreSQL
PostgreSQL имеет ограниченные возможности настройки аудита по сравнению с Oracle. Система отображает информацию о состоянии расширения аудита (pgAudit) и позволяет просматривать объекты БД.
Структура таблицы объектов
| Колонка | Описание |
|---|---|
| Схема объекта БД | Схема объекта (information_schema, public и др.) |
| Имя объекта БД | Название объекта |
| Тип объекта БД | Тип: function, table, view |
| Log Statement | Настройка логирования запросов (all, none, ddl, mod) |
| PGAudit установлен | Статус расширения pgAudit (Вкл./Выкл.) |
| Аудит (системный) | Состояние системного аудита |
| Аудит (база данных) | Состояние аудита на уровне БД |
| Аудит (объект) | Состояние аудита на уровне объекта |
| Направление лога | Куда направляются логи (stderr, syslog и др.) |
Для PostgreSQL детальная настройка аудита каждого объекта недоступна через интерфейс. Настройка выполняется на уровне конфигурации расширения pgAudit в самой базе данных.
Особенности для разных СУБД
Возможности аудита различаются в зависимости от типа и версии СУБД:
| СУБД | Детальная настройка | Особенности |
|---|---|---|
| Oracle | Да | Полная настройка для каждого объекта и операции |
| PostgreSQL | Нет | Только отображение статуса pgAudit |
| MySQL | Частично | Зависит от версии и настроек |
| MS SQL Server | Частично | Зависит от редакции и версии |
| MongoDB | Частично | Аудит через профилирование |
| ClickHouse | Ограничено | Базовое логирование запросов |
Возможности аудита также зависят от версии СУБД. Некоторые функции могут быть недоступны в старых версиях или требовать дополнительной настройки на стороне сервера БД.
Предупреждения и ошибки
Система отображает предупреждения при обнаружении проблем с конфигурацией аудита. Например:
"Внимание! В текущем экземпляре БД параметр инициализации audit_trail = none. Обратитесь к документации."
Это означает, что на стороне базы данных аудит не настроен. Для корректной работы необходимо:
- Настроить параметр
audit_trailна сервере БД - Перезапустить экземпляр базы данных (для Oracle)
- Обновить информацию в системе
При отображении предупреждения аудит событий не будет работать, даже если настройки в интерфейсе активированы. Необходимо устранить проблему на стороне СУБД.
Экспорт данных
Список объектов с настройками аудита можно экспортировать в формате CSV с помощью кнопки "CSV" в левом верхнем углу таблицы.
Рекомендации по настройке аудита
Что следует логировать
- Критичные таблицы — таблицы с персональными данными, финансовой информацией
- Системные объекты — изменения в системных таблицах и представлениях
- Операции с правами — GRANT и REVOKE для отслеживания изменений доступа
- DDL-операции — ALTER, DROP, CREATE для контроля изменений структуры
Оптимизация производительности
- Не включайте аудит всех операций на всех объектах — это создаст избыточную нагрузку
- Используйте аудит "по сессии" вместо "по доступу" для часто используемых объектов
- Исключайте служебные учетные записи из аудита, если они генерируют много событий
Регулярный мониторинг
- Проверяйте наличие предупреждений о конфигурации
- Отслеживайте объем собираемых данных аудита
- Периодически пересматривайте настройки в соответствии с изменениями в БД