Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ведение журнала действий базы данных в Базе данных Azure для PostgreSQL доступно через pgaudit расширение.
pgaudit предоставляет подробное ведение журнала аудита сеансов и /или объектов.
Если вы хотите, чтобы журналы уровня ресурсов Azure для операций, таких как масштабирование вычислительных ресурсов и хранилища, см. в журнале действий Azure.
Рекомендации по использованию
По умолчанию pgaudit операторы журналов и обычные инструкции журнала создаются с помощью стандартного средства ведения журнала Postgres. В базе данных Azure для PostgreSQL можно настроить отправку всех журналов в хранилище журналов Azure Monitor для последующего анализа в Log Analytics. Если включить ведение журнала ресурсов Azure Monitor, журналы автоматически отправляются (в формате JSON) в службу хранилища Azure, Центры событий и (или) журналы Azure Monitor в зависимости от выбранного варианта.
Чтобы узнать, как настроить ведение журнала в службе хранилища Azure, Центров событий или журналов Azure Monitor, перейдите в раздел журналов ресурсов статьи журналов сервера.
Установка расширения
Чтобы использовать pgaudit расширение, необходимо разрешить список разрешений, загрузить и создать расширение в базе данных, в которой планируется его использовать.
Настройка параметров расширения
pgaudit позволяет настроить ведение журнала аудита сеансов или объектов.
Ведение журнала аудита сеанса выдает подробные журналы выполненных инструкций.
Ведение журнала аудита объектов ограничивается определенными отношениями. Вы можете настроить один или оба типа ведения журнала.
После включения pgauditего параметры можно настроить для запуска ведения журнала.
Чтобы настроить pgaudit, выполните следующие инструкции:
Использование портала Azure:
Выберите экземпляр Базы данных Azure для PostgreSQL.
В меню ресурсов в разделе "Параметры" выберите параметры сервера.
pgauditНайдите параметры.Выберите соответствующий параметр для редактирования. Например, чтобы начать ведение журнала, ,
TRUNCATEи операторы, задайте дляWRITEпараметраpgaudit.log.COPYDELETEUPDATEINSERTНажмите кнопку "Сохранить" , чтобы сохранить изменения.
Официальная документацияpgaudit содержит определение каждого параметра. Сначала проверьте параметры и убедитесь, что вы получаете ожидаемое поведение.
Например, параметр pgaudit.log_client не ON только записывает события аудита в журнал сервера, но и отправляет их в клиентские процессы (например, psql). Обычно этот параметр должен быть отключен.
pgaudit.log_level включен только в том случае, если pgaudit.log_client включен.
В Базе данных Azure для PostgreSQL нельзя задать ярлык - знака "минус", pgaudit.log как описано в pgaudit документации. Все обязательные классы операторов (READ, WRITE и т. д.) должны быть указаны отдельно.
Если задать log_statement параметр DDL или ALL запустить CREATE ROLE/USER ... WITH PASSWORD ... ; команду или ALTER ROLE/USER ... WITH PASSWORD ... ;команду , PostgreSQL создает запись в журналах PostgreSQL, где пароль вошел в систему в виде ясного текста, что может привести к потенциальному риску безопасности. Это ожидаемое поведение для структуры ядра PostgreSQL.
Однако вы можете использовать расширение и задать для него значениеpgaudit.log, которое не записывает инструкции CREATE/ALTER ROLEpgaudit в журнал сервера Postgres, в отличие от этого, если задано значение log_statementDDL.DDL Если вам нужно записать эти инструкции, можно также задать значение pgaudit.logROLE, которое редактирует пароль из журналов во время ведения журналаCREATE/ALTER ROLE.
Формат журнала аудита
Каждая запись аудита начинается с AUDIT:. Формат остальной части записи подробно описан в документацииpgaudit.
Начало работы
Чтобы быстро начать, задайте значение pgaudit.logALLи откройте журналы сервера, чтобы просмотреть выходные данные.
Просмотр журналов аудита
Доступ к журналам зависит от выбранной конечной точки. См. статью учетной записи хранения журналов для службы хранилища Azure. См. статью о журналах Потоковой передачи журналов Azure для Центров событий.
Для журналов Azure Monitor журналы отправляются в выбранную рабочую область. Журналы Postgres используют режим сбора AzureDiagnostics , чтобы их можно было запрашивать из таблицы AzureDiagnostics. Дополнительные сведения о запросах и оповещениях см. в обзоре запросов журналов Azure Monitor .
Этот запрос можно использовать для начала работы. Оповещения можно настроить на основе запросов.
Поиск всех pgaudit записей в журналах Postgres для определенного сервера в последний день
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Обновление основных версий с установленным расширением pgaudit
Во время обновления основной версии расширение pgaudit автоматически удаляется, а затем повторно создается после завершения обновления. При восстановлении расширения все пользовательские конфигурации, заданные в pgaudit.log или других связанных параметрах, не сохраняются автоматически.