Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan granska databasaktiviteter i Azure Database for PostgreSQL med hjälp pgaudit av tillägget.
pgaudit innehåller detaljerad loggning av sessions- och objektgranskning.
Om du vill ha Azure-resursnivåloggar för åtgärder som beräkning och lagringsskalning kan du läsa Azure-aktivitetsloggen.
Användningsöverväganden
Som standard loggar pgaudit meddelanden, och Postgres vanliga loggningsfunktion skriver ut dina vanliga loggmeddelanden. I Azure Database for PostgreSQL kan du konfigurera alla loggar som ska skickas till Azure Monitor Log Store för senare analys i Log Analytics. Om du aktiverar Azure Monitor resursloggning skickas loggarna automatiskt (i JSON-format) till Azure Storage, Event Hubs och Azure Monitor loggar, beroende på ditt val.
Mer information om hur du konfigurerar loggning till Azure Storage-, Event Hubs- eller Azure Monitor-loggar finns i avsnittet resursloggar i artikeln om serverloggar.
Installerar tillägget
Om du vill använda tillägget pgaudit, behöver du tillåta, ladda och skapa tillägget i databasen där du planerar att använda det.
Konfigurera tilläggsinställningar
pgaudit gör att du kan konfigurera loggning av sessions- eller objektgranskning.
Sessionsgranskningsloggning genererar detaljerade loggar med körda instruktioner.
Loggning av objektgranskning är granskningsomfång för specifika relationer. Du kan välja att konfigurera en eller båda typerna av loggning.
När du har aktiverat pgauditkonfigurerar du dess parametrar för att starta loggning.
Så här konfigurerar pgauditdu:
Använd Azure-portalen:
Välj din Azure Database for PostgreSQL flexibel server-instans.
I resursmenyn går du till avsnittet Inställningar och väljer Parametrar.
Sök efter parametrarna
pgaudit.Välj lämplig parameter som ska redigeras. Om du till exempel vill börja logga
INSERT,UPDATE,DELETE,TRUNCATEochCOPY-instruktioner anger dupgaudit.logtillWRITE.Välj Spara för att spara dina ändringar.
Den officiella dokumentationen för pgaudit innehåller definitionen av varje parameter. Testa parametrarna först och bekräfta att du får det förväntade beteendet.
Du kan till exempel ställa in pgaudit.log_client på ON, vilket gör att granskningshändelser inte bara skrivs till serverloggen, utan även skickas till klientprocesser (som psql). Låt den här inställningen vanligtvis vara inaktiverad.
pgaudit.log_level är bara aktiverad när pgaudit.log_client är på.
I Azure Database for PostgreSQL – Flexibel server kan du inte ange pgaudit.log med kortkommandot - (minustecken), enligt beskrivningen i pgaudit-dokumentationen. Ange alla obligatoriska instruktionsklasser (READ, WRITEoch så vidare) individuellt.
Om du anger parametern log_statement till DDL eller ALL och kör ett CREATE ROLE/USER ... WITH PASSWORD ... ; eller-kommando ALTER ROLE/USER ... WITH PASSWORD ... ; skapar PostgreSQL en post i PostgreSQL-loggarna där lösenordet loggas i klartext, vilket kan orsaka en potentiell säkerhetsrisk. Det här beteendet förväntas enligt PostgreSQL-motordesignen.
Du kan dock använda pgaudit tillägget och ställa in pgaudit.log på DDL, som inte registrerar någon CREATE/ALTER ROLE instruktion i Postgres-serverloggen, till skillnad från när du anger log_statement till DDL. Om du behöver logga dessa satser kan du också ställa in pgaudit.log på ROLE, vilket maskerar lösenordet i loggarna samtidigt som CREATE/ALTER ROLE loggas.
Format för granskningsloggar
Varje granskningspost börjar med AUDIT:. Formatet för resten av posten beskrivs i dokumentationen för pgaudit.
Komma igång
Om du vill börja snabbt anger du pgaudit.log till ALLoch öppnar serverloggarna för att granska utdata.
Visa granskningsloggar
Metoden för att komma åt loggarna beror på vilken slutpunkt du väljer. Information om Azure Storage finns i artikeln om logglagringskonto . För information om Event Hubs, se artikeln Azure-loggar.
För Azure Monitor loggar skickar du loggar till den arbetsyta som du har valt. Postgres-loggarna använder samlingsläget AzureDiagnostics så att du kan köra frågor mot dem från tabellen AzureDiagnostics. Om du vill veta mer om frågor och aviseringar kan du läsa översikten över frågor i Azure Monitor Logs.
Du kan använda den här frågan för att komma igång. Du kan konfigurera aviseringar baserat på frågor.
Sök efter alla pgaudit poster i Postgres-loggarna efter en viss server under den senaste dagen.
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Större versionsuppgradering med pgaudit-tillägget installerat
Under en större versionsuppgradering släpper processen automatiskt pgaudit-tillägget och återskapar det sedan när uppgraderingen har slutförts. Medan processen återställer tillägget bevaras inte automatiskt några anpassade konfigurationer som anges i pgaudit.log eller andra relaterade parametrar.