Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Protokolování auditu databázových aktivit ve službě Azure Database for PostgreSQL je dostupné prostřednictvím pgaudit 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. Ve službě 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žívat pgaudit , 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íte pgaudit, můžete nakonfigurovat jeho parametry tak, aby se spustilo protokolování.
Ke konfiguraci pgauditmůžete postupovat podle těchto pokynů:
Použití portálu Azure:
Vyberte instanci služby Azure Database for the PostgreSQL.
V nabídce prostředků v části Nastavení vyberte Parametry serveru.
Vyhledejte
pgauditparametry.Vyberte příslušný parametr, který chcete upravit. Chcete-li například spustit protokolování
INSERT, ,TRUNCATEUPDATEDELETEaCOPYpříkazy, nastavitpgaudit.lognaWRITE.Pokud chcete uložit změny, vyberte tlačítko Uložit .
Oficiální dokumentacepgaudit obsahuje definici každého parametru. Nejprve otestujte parametry a ověřte, že dostáváte očekávané chování.
Například když nastavíte pgaudit.log_clientON nejen zápis událostí auditu do protokolu serveru, ale také je odešle do klientských procesů (jako je psql). Toto nastavení by mělo být obecně zakázané.
pgaudit.log_level je povolena pouze v případech, kdy pgaudit.log_client je zapnutá.
Ve službě Azure Database for PostgreSQL pgaudit.log 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 ALLALTER 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_statementDDL. Pokud potřebujete tyto příkazy zaprotokolovat, můžete také nastavit pgaudit.log, který ROLEpři protokolování CREATE/ALTER ROLEupraví 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 ALLa 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:"
Upgrade hlavní verze s nainstalovaným rozšířením pgaudit
Během upgradu hlavní verze se rozšíření pgaudit automaticky vyřadí a po dokončení upgradu se znovu vytvoří. Během obnovení rozšíření se všechny vlastní konfigurace nastavené v pgaudit.log nebo jiných souvisejících parametrech nezachovají automaticky.