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
:
Selecteer uw exemplaar van Azure Database for the PostgreSQL Flexible Server.
Selecteer serverparameters in het resourcemenu onder Instellingen.
Zoek naar de
pgaudit
parameters.Kies de juiste parameter die u wilt bewerken. Als u bijvoorbeeld wilt beginnen met logboekregistratie
INSERT
,UPDATE
, ,DELETE
enTRUNCATE
COPY
instructies, ingesteldpgaudit.log
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 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.log
op 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
ALL
en 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:"