Protokolování auditu na flexibilním serveru Azure Database for PostgreSQL
PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL
Protokolování auditu databázových aktivit na flexibilním pgaudit
serveru Azure Database for PostgreSQL je dostupné prostřednictvím rozšíření. pgaudit
poskytuje podrobné protokolování auditu a/nebo objektu.
Pokud chcete protokoly na úrovni prostředků Azure pro operace, jako je škálování výpočetních prostředků a úložiště, přečtěte si protokol aktivit Azure.
Důležité informace o využití
Ve výchozím nastavení pgaudit
se příkazy protokolů a běžné příkazy protokolu generují pomocí standardního protokolování Postgres. Na flexibilním serveru Azure Database for PostgreSQL můžete nakonfigurovat odesílání všech protokolů do úložiště protokolů služby Azure Monitor pro pozdější analýzu v Log Analytics. Pokud povolíte protokolování prostředků služby Azure Monitor, vaše protokoly se automaticky odesílají (ve formátu JSON) do služby Azure Storage, Event Hubs a/nebo do protokolů služby Azure Monitor v závislosti na vaší volbě.
Informace o nastavení protokolování do protokolů azure Storage, Event Hubs nebo Azure Monitoru najdete v části protokoly prostředků článku protokoly serveru.
Instalace rozšíření
Abyste mohli rozšíření používatpgaudit
, musíte povolit, načíst a vytvořit rozšíření v databázi, na které ho plánujete použít.
Konfigurace nastavení rozšíření
pgaudit
umožňuje konfigurovat protokolování auditu relací nebo objektů. Protokolování auditu relace generuje podrobné protokoly spuštěných příkazů. Protokolování auditu objektů je auditováno na konkrétní vztahy. Můžete nastavit jeden nebo oba typy protokolování.
Jakmile povolítepgaudit
, můžete nakonfigurovat jeho parametry tak, aby se spustilo protokolování.
Ke konfiguraci pgaudit
můžete postupovat podle těchto pokynů:
Pomocí webu Azure Portal:
Vyberte instanci flexibilního serveru Azure Database for PostgreSQL.
V nabídce prostředků v části Nastavení vyberte Parametry serveru.
Vyhledejte
pgaudit
parametry.Vyberte příslušný parametr, který chcete upravit. Chcete-li například spustit protokolování
INSERT
, ,TRUNCATE
UPDATE
DELETE
aCOPY
příkazy, nastavitpgaudit.log
naWRITE
.Pokud chcete uložit změny, vyberte tlačítko Uložit .
Oficiální dokumentace pgaudit
obsahuje definici každého parametru. Nejprve otestujte parametry a ověřte, že dostáváte očekávané chování.
Nastavení ono například pgaudit.log_client
nejen zapisuje události auditu do protokolu serveru, ale také je odesílá do klientských procesů (jako je psql). Toto nastavení by se obecně mělo nechávat zakázané.
Nastavení pgaudit.log_level
je povolené pouze v případě, že je povolené nastavení pgaudit.log_client
.
Na flexibilním serveru pgaudit.log
Azure Database for PostgreSQL není možné nastavit zástupce se znaménkem -
(minus), jak je popsáno v pgaudit
dokumentaci. Všechny požadované třídy příkazů (READ, WRITE atd.) by měly být zadány jednotlivě.
Pokud nastavíte log_statement
parametr na DDL
nebo spustíte CREATE ROLE/USER ... WITH PASSWORD ... ;
příkaz nebo ALL
ALTER ROLE/USER ... WITH PASSWORD ... ;
, pak PostgreSQL vytvoří položku v protokolech PostgreSQL, kde se heslo zaprotokoluje v prostém textu, což může způsobit potenciální bezpečnostní riziko. Jedná se o očekávané chování podle návrhu modulu PostgreSQL.
Můžete však použít pgaudit
rozšíření a nastavit pgaudit.log
na DDL
, který nezaznamenává žádné CREATE/ALTER ROLE
příkazy v protokolu serveru Postgres, na rozdíl od toho, když nastavíte log_statement
DDL
. Pokud potřebujete tyto příkazy zaprotokolovat, můžete také nastavit pgaudit.log
, který ROLE
při protokolování CREATE/ALTER ROLE
upraví heslo z protokolů .
Formát protokolu auditu
Každá položka auditu začíná AUDIT:
na . Formát zbytku položky je podrobně popsán v dokumentaci .pgaudit
Začínáme
Pokud chcete rychle začít, nastavte pgaudit.log
na ALL
a otevřete protokoly serveru a zkontrolujte výstup.
Zobrazení protokolů auditu
Způsob, jakým přistupujete k protokolům, závisí na zvoleném koncovém bodu. Přečtěte si článek o účtu úložiště protokolů pro Azure Storage. Podívejte se na článek streamu protokolů Azure pro službu Event Hubs.
V případě protokolů služby Azure Monitor se protokoly odesílají do vybraného pracovního prostoru. Protokoly Postgres používají režim shromažďování AzureDiagnostics , aby se mohly dotazovat z tabulky AzureDiagnostics. Další informace o dotazování a upozorňování najdete v přehledu dotazů protokolů služby Azure Monitor.
Tento dotaz můžete použít k zahájení práce. Výstrahy můžete nakonfigurovat na základě dotazů.
Vyhledání všech pgaudit
položek v protokolech Postgres pro konkrétní server za poslední den
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Související obsah
- Protokolování na flexibilním serveru Azure Database for PostgreSQL
- Konfigurace protokolů protokolování a přístupu na flexibilním serveru Azure Database for PostgreSQL