Delen via


Auditlogboekregistratie in Azure Database for PostgreSQL - Flexible Server

VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server

Controlelogboekregistratie van databaseactiviteiten in flexibele Azure Database for PostgreSQL-server 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 de flexibele Azure Database for PostgreSQL-server kunt u alle logboeken configureren die moeten worden verzonden naar het Azure Monitor-logboekarchief 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:

Azure Portal gebruiken:

  1. Selecteer uw exemplaar van Azure Database for the PostgreSQL Flexible Server.

  2. Selecteer serverparameters in het resourcemenu onder Instellingen.

  3. Zoek naar de pgaudit parameters.

  4. Kies de juiste parameter die u wilt bewerken. Als u bijvoorbeeld wilt beginnen met logboekregistratieINSERT, UPDATE, , DELETEen TRUNCATECOPY instructies, ingesteld pgaudit.log op WRITE.

  5. 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 op ON instelt, pgaudit.log_client worden controlegebeurtenissen niet alleen naar het serverlogboek geschreven, maar worden ze ook verzonden naar clientprocessen (zoals psql). 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 flexibele server pgaudit.log kan niet worden ingesteld met behulp van een - (min)-tekensnelkoppeling, zoals beschreven in de pgaudit documentatie. Alle vereiste instructieklassen (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 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.log ALLen 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 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:"