Auditlogboekregistratie in Azure Database for PostgreSQL - Enkele server

VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server

Belangrijk

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.

Auditlogboekregistratie van databaseactiviteiten in Azure Database for PostgreSQL - Enkele server is beschikbaar via de PostgreSQL Audit-extensie, pgAudit. De pgAudit-extensie biedt gedetailleerde sessie- en objectcontrolelogboekregistratie.

Notitie

De pgAudit-extensie is in preview in Azure Database for PostgreSQL. Deze kan alleen worden ingeschakeld op servers voor algemeen gebruik en geoptimaliseerd voor geheugen.

Zie Overzicht van Azure-platformlogboeken als u logboeken op azure-resourceniveau wilt voor bewerkingen zoals het schalen van berekeningen en opslag.

Overwegingen voor gebruik

Standaard worden pgAudit-logboekinstructies samen met uw reguliere logboekinstructies verzonden met behulp van de Postgres-standaardregistratiefaciliteit. In Azure Database for PostgreSQL kunnen deze .log bestanden worden gedownload via Azure Portal of de Azure CLI. De maximale opslag voor de verzameling bestanden is 1 GB. Elk bestand is maximaal zeven dagen beschikbaar. De standaardwaarde is drie dagen. Deze service is een kortetermijnopslagoptie.

U kunt ook configureren dat alle logboeken worden verzonden naar het Azure Monitor-logboekarchief voor latere analyses in Log Analytics. Als u Logboekregistratie van resources bewaken inschakelt, worden uw logboeken automatisch verzonden in JSON-indeling naar Azure Storage, Azure Event Hubs of Monitor-logboeken, afhankelijk van uw keuze.

Het inschakelen van pgAudit genereert een grote hoeveelheid logboekregistratie op een server, wat van invloed is op de prestaties en logboekopslag. We raden u aan Logboeken bewaken te gebruiken, dat langere opslagopties en analyse- en waarschuwingsfuncties biedt. Schakel standaardlogboekregistratie uit om de prestatie-impact van extra logboekregistratie te verminderen:

  1. Stel de parameter in logging_collector op UIT.
  2. De server opnieuw opstarten om deze wijziging toe te passen.

Zie de sectie Resourcelogboeken van Logboeken in Azure Database for PostgreSQL - Enkele server voor meer informatie over het instellen van logboeken voor opslag, Event Hubs of Monitor-logboeken.

pgAudit installeren

Als u pgAudit wilt installeren, moet u deze opnemen in de vooraf geladen gedeelde bibliotheken van de server. Voor een wijziging van de Postgres-parameter shared_preload_libraries moet de server opnieuw worden opgestart. U kunt parameters wijzigen met behulp van de portal, de CLI of de REST API.

De portal gebruiken:

  1. Selecteer uw Azure Database for PostgreSQL-server.

  2. Selecteer aan de linkerkant onder Instellingen serverparameters.

  3. Zoek naar shared_preload_libraries.

  4. Selecteer PGAUDIT.

    Schermopname waarin Azure Database for PostgreSQL shared_preload_libraries inschakelt voor PGAUDIT.

  5. Start de server opnieuw op om de wijziging toe te passen.

  6. Verbinding maken naar uw server met behulp van een client zoals psql en schakel de pgAudit-extensie in:

    CREATE EXTENSION pgaudit;
    

Tip

Als er een fout wordt weergegeven, controleert u of u de server opnieuw hebt opgestart nadat u de server hebt opgeslagen shared_preload_libraries.

pgAudit-instellingen

Met behulp van pgAudit 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.

Notitie

De pgAudit-instellingen worden globaal opgegeven en kunnen niet worden opgegeven op database- of rolniveau.

Nadat u pgAudit hebt geïnstalleerd, kunt u de parameters configureren om logboekregistratie te starten.

Ga als volgende te werk om pgAudit te configureren in de portal:

  1. Selecteer uw Azure Database for PostgreSQL-server.

  2. Selecteer aan de linkerkant onder Instellingen serverparameters.

  3. Zoek naar de pgaudit-parameters .

  4. Selecteer de juiste instellingenparameters om te bewerken. Als u bijvoorbeeld wilt beginnen met logboekregistratie, stelt u pgaudit.log in op SCHRIJVEN.

    Schermopname van Het configureren van logboekregistratie met pgAudit in Azure Database for PostgreSQL.

  5. Selecteer Opslaan om uw wijzigingen op te slaan.

De pgAudit-documentatie bevat de definitie van elke parameter. Test eerst de parameters en controleer of u het verwachte gedrag krijgt. Voorbeeld:

  • Wanneer de instelling pgaudit.log_client is ingeschakeld, worden logboeken omgeleid naar een clientproces zoals psql in plaats van naar een bestand te worden geschreven. Laat deze instelling over het algemeen uitgeschakeld.
  • De parameter pgaudit.log_level is alleen ingeschakeld wanneer pgaudit.log_client is ingeschakeld.

Notitie

In Azure Database for PostgreSQL kan pgaudit.log niet worden ingesteld met behulp van een snelkoppeling met mintekens (-) zoals beschreven in de pgAudit-documentatie. Alle vereiste instructieklassen, zoals LEZEN en SCHRIJVEN, moeten afzonderlijk worden opgegeven.

Indeling van auditlogboek

Elke controlevermelding wordt aangegeven aan AUDIT: het begin van de logboekregel. De indeling van de rest van de vermelding wordt beschreven in de pgAudit-documentatie.

Als u andere velden nodig hebt om te voldoen aan uw auditvereisten, gebruikt u de Postgres-parameter log_line_prefix. De tekenreeks log_line_prefix wordt uitgevoerd aan het begin van elke Postgres-logboeklijn. De volgende log_line_prefix instelling biedt bijvoorbeeld tijdstempel, gebruikersnaam, databasenaam en proces-id:

t=%m u=%u db=%d pid=[%p]:

Zie de PostgreSQL-documentatie voor meer log_line_prefixinformatie.

Aan de slag

Als u snel aan de slag wilt gaan, stelt u pgaudit.log in op SCHRIJVEN. Open vervolgens uw logboeken om de uitvoer te controleren.

Auditlogboeken weergeven

Als u .log bestanden gebruikt, worden uw auditlogboeken opgenomen in hetzelfde bestand als uw PostgreSQL-foutenlogboeken. U kunt logboekbestanden downloaden vanuit de portal of de CLI.

Als u logboekregistratie van Azure-resources gebruikt, is de manier waarop u de logboeken opent, afhankelijk van het eindpunt dat u kiest. Zie Azure-resourcelogboeken voor Storage. Zie ook Azure-resourcelogboeken voor Event Hubs.

Voor Logboeken bewaken worden de logboeken verzonden naar de werkruimte die u hebt geselecteerd. De Postgres-logboeken gebruiken de AzureDiagnostics verzamelingsmodus, zodat ze kunnen worden opgevraagd uit de AzureDiagnostics tabel, zoals wordt weergegeven. Zie Logboekquery's in Azure Monitor voor meer informatie over het uitvoeren van query's en waarschuwingen.

Gebruik deze query om aan de slag te gaan. U kunt waarschuwingen configureren op basis van query's.

Zoek in de afgelopen dag naar alle Postgres-logboeken voor een bepaalde server:

AzureDiagnostics
| where LogicalServerName_s == "myservername"
| where TimeGenerated > ago(1d) 
| where Message contains "AUDIT:"

Volgende stappen