Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Auditlogboekregistratie van databaseactiviteiten in Azure Database for PostgreSQL is beschikbaar via de pgaudit extensie.
pgaudit biedt gedetailleerde sessie- en/of objectcontrolelogboekregistratie.
Zie het Azure-activiteitenlogboek als u logboeken op azure-resourceniveau wilt voor bewerkingen zoals het schalen van berekeningen en opslag.
Overwegingen voor gebruik
Logboekinstructies en uw reguliere logboekinstructies worden standaard pgaudit verzonden met behulp van de standaardregistratiefaciliteit van Postgres. In Azure Database for PostgreSQL kunt u alle logboeken configureren die naar het Azure Monitor-logboekarchief moeten worden verzonden voor latere analyse in Log Analytics. Als u Logboekregistratie van Azure Monitor-resources inschakelt, worden uw logboeken automatisch (in JSON-indeling) verzonden naar Azure Storage-, Event Hubs- en/of Azure Monitor-logboeken, afhankelijk van uw keuze.
Als u wilt weten hoe u logboekregistratie instelt voor Azure Storage-, Event Hubs- of Azure Monitor-logboeken, gaat u naar de sectie resourcelogboeken van het artikel serverlogboeken.
De extensie installeren
Als u de extensie wilt kunnen gebruiken pgaudit , moet u de extensie toestaan, laden en maken in de database waarop u deze wilt gebruiken.
Extensie-instellingen configureren
pgaudit hiermee kunt u logboekregistratie voor sessie- of objectcontrole configureren.
Logboekregistratie van sessiecontrole verzendt gedetailleerde logboeken met uitgevoerde instructies.
Object logboekregistratie is gericht op audit voor specifieke relaties. U kunt ervoor kiezen om een of beide typen logboekregistratie in te stellen.
Zodra u inschakelt pgaudit, kunt u de parameters instellen om logboekregistratie te starten.
U kunt deze instructies volgen om deze te configureren pgaudit:
Gebruik de Azure-portal:
Kies uw instantie van Azure Database for PostgreSQL.
Selecteer Parameters in het resourcemenu onder Instellingen.
Zoek naar de
pgauditparameters.Kies de juiste parameter die u wilt bewerken. Als u bijvoorbeeld wilt beginnen met het loggen van
INSERT,UPDATE,DELETE,TRUNCATEenCOPY-instructies, stelt upgaudit.login opWRITE.Selecteer de knop Opslaan om wijzigingen op te slaan.
De officiële documentatie bevat pgaudit de definitie van elke parameter. Test eerst de parameters en controleer of u het verwachte gedrag krijgt.
Als u bijvoorbeeld pgaudit.log_client instelt op ON, worden auditgebeurtenissen niet alleen naar de serverlog geschreven, maar ook naar clientprocessen (zoals psql) verzonden. Deze instelling moet over het algemeen uitgeschakeld blijven.
pgaudit.log_level wordt alleen ingeschakeld als pgaudit.log_client aan is.
In Azure Database for PostgreSQL kan pgaudit.log niet worden ingesteld met behulp van een sneltoets met het --teken (min), zoals beschreven in de documentatie van pgaudit. Alle vereiste statementklassen (READ, WRITE, enzovoort) moeten afzonderlijk worden opgegeven.
Als u de log_statement parameter DDL instelt op of ALL uitvoert en een CREATE ROLE/USER ... WITH PASSWORD ... ; of ALTER ROLE/USER ... WITH PASSWORD ... ;, opdracht, maakt PostgreSQL een vermelding in de PostgreSQL-logboeken waarin het wachtwoord is vastgelegd in duidelijke tekst, wat mogelijk een mogelijk beveiligingsrisico veroorzaakt. Dit is het verwachte gedrag volgens het Ontwerp van de PostgreSQL-engine.
U kunt echter de extensie pgaudit gebruiken en pgaudit.log instellen op DDL, waardoor er geen CREATE/ALTER ROLE-instructie wordt geregistreerd in het Postgres-serverlogboek, in tegenstelling tot wanneer u log_statement instelt op DDL. Als u deze statements moet loggen, kunt u pgaudit.log ook instellen op ROLE, waardoor het wachtwoord in logboeken wordt gemaskeerd terwijl CREATE/ALTER ROLE wordt gelogd.
Indeling van auditlogboek
Elke controlevermelding begint met AUDIT:. De indeling van de rest van de vermelding wordt beschreven in de documentatie van pgaudit.
Aan de slag
Als u snel wilt beginnen, stelt u deze in pgaudit.logALLen opent u de serverlogboeken om de uitvoer te bekijken.
Controlelogboeken weergeven
De manier waarop u de logboeken opent, is afhankelijk van het eindpunt dat u kiest. Zie het artikel over het logboekopslagaccount voor Azure Storage. Zie het artikel over Azure-logboeken streamen voor Event Hubs.
Voor Azure Monitor-logboeken worden logboeken verzonden naar de werkruimte die u hebt geselecteerd. De Postgres-logboeken maken gebruik van de verzamelingsmodus AzureDiagnostics , zodat ze kunnen worden opgevraagd vanuit de tabel AzureDiagnostics. Meer informatie over het uitvoeren van query's en het instellen van waarschuwingen in het overzicht van Azure Monitor Logs query.
U kunt deze query gebruiken om aan de slag te gaan. U kunt waarschuwingen configureren op basis van query's.
Zoeken naar alle pgaudit vermeldingen in Postgres-logboeken voor een bepaalde server op de laatste dag
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Upgrade van de hoofdversie met de pgaudit-extensie geïnstalleerd
Tijdens een upgrade van een primaire versie wordt de pgaudit-extensie automatisch verwijderd en vervolgens opnieuw gemaakt nadat de upgrade is voltooid. Hoewel de extensie is hersteld, blijven aangepaste configuraties die zijn ingesteld in pgaudit.log of andere gerelateerde parameters niet automatisch behouden.