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.
Logboekregistratie van objectcontrole is een controlebereik voor specifieke relaties. U kunt ervoor kiezen om een of beide typen logboekregistratie in te stellen.
Zodra u deze inschakelt pgaudit, kunt u de parameters configureren om de logboekregistratie te starten.
U kunt deze instructies volgen om deze te configureren pgaudit:
Gebruik de Azure-portal:
Selecteer uw exemplaar van Azure Database for the PostgreSQL.
Selecteer serverparameters in het resourcemenu onder Instellingen.
Zoek naar de
pgauditparameters.Kies de juiste parameter die u wilt bewerken. Als u bijvoorbeeld wilt beginnen met logboekregistratie
INSERT,UPDATE, ,DELETEenTRUNCATECOPYinstructies, ingesteldpgaudit.logopWRITE.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 wilt instellen pgaudit.log_client dat ON controlegebeurtenissen niet alleen naar het serverlogboek worden geschreven, maar deze ook naar clientprocessen (zoals psql) worden verzonden. Deze instelling moet over het algemeen uitgeschakeld blijven.
pgaudit.log_level is alleen ingeschakeld wanneer pgaudit.log_client deze is ingeschakeld.
In Azure Database for PostgreSQL kan niet worden ingesteld met behulp van een - (min)-tekensnelkoppeling, pgaudit.log zoals beschreven in de pgaudit documentatie. Alle vereiste instructieklassen (READ, SCHRIJVEN, 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 pgaudit extensie gebruiken en instellen pgaudit.log op DDL, waarmee geen instructie wordt vastgelegd CREATE/ALTER ROLE in het Postgres-serverlogboek, in tegenstelling tot wanneer u instelt log_statement op DDL. Als u deze instructies moet vastleggen, kunt u ook instellen pgaudit.logop ROLE, waarmee het wachtwoord wordt bewerkt uit logboeken tijdens het vastleggen CREATE/ALTER ROLE.
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.
Auditlogboeken 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 waarschuwingen in het overzicht van azure Monitor-logboeken .
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 primaire versie met 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.