Auditnaplózás az Azure Database for PostgreSQL rugalmas kiszolgálón

A bővítmény használatával naplózhatja Azure Database for PostgreSQL adatbázis-tevékenységeitpgaudit. pgaudit részletes munkamenet- és objektumnaplózást biztosít.

Ha azure-erőforrásszintű naplókat szeretne a számítási és tárolási skálázáshoz hasonló műveletekhez, tekintse meg az Azure-tevékenységnaplót.

Használati szempontok

Alapértelmezés szerint a pgaudit naplózza az utasításokat, a Postgres szabványos naplózási mechanizmusa pedig kiírja a szokásos naplóbejegyzéseket. A Azure Database for PostgreSQL konfigurálhatja az összes naplót úgy, hogy a Azure Monitor Naplótárba küldje a Log Analytics későbbi elemzéséhez. Ha engedélyezi Azure Monitor erőforrásnaplózást, a rendszer automatikusan (JSON formátumban) elküldi a naplókat a Azure Storage, az Event Hubs és Azure Monitor naplókba, a választott beállítástól függően.

A naplózás Azure Storage-, Event Hubs- vagy Azure Monitor-naplókba való beállításáról a kiszolgálónaplókról szóló cikk erőforrásnaplók szakaszában olvashat.

A bővítmény telepítése

A bővítmény használatához pgauditengedélyezze, betöltse és hozza létre a bővítményt abban az adatbázisban, ahol használni szeretné.

Bővítménybeállítások konfigurálása

pgaudit lehetővé teszi a munkamenet- vagy objektumnaplózás konfigurálását. A munkamenet-naplózás részletes naplókat bocsát ki a végrehajtott utasításokról. Az objektumnaplózás adott kapcsolatokra terjed ki. Választhat, hogy beállít egy vagy mindkét naplózási típust.

Miután engedélyezi pgaudit, konfigurálja a paramétereit a naplózás megkezdéséhez.

A konfiguráláshoz pgauditkövesse az alábbi utasításokat:

Használja az Azure Portalt:

  1. Válassza ki a rugalmas Azure Database for PostgreSQL kiszolgálópéldányt.

  2. Az erőforrás menüjében, a Beállítások szakaszban válassza a Paraméterek lehetőséget.

  3. Keresse meg a pgaudit paramétereket.

  4. Válassza ki a szerkeszteni kívánt paramétert. Például a INSERT, UPDATE, DELETE, TRUNCATE és COPY utasítások naplózásának megkezdéséhez állítsa a(z) pgaudit.log értékét WRITE értékre.

  5. Válassza a Mentés lehetőséget a módosítások mentéséhez.

A hivatalos pgaudit tartalmazza az egyes paraméterek meghatározását. Először tesztelje a paramétereket, és győződjön meg arról, hogy a várt viselkedést kapja.

Ha például a pgaudit.log_client értékét ON értékre állítjuk, az nemcsak auditnapló-eseményeket ír a kiszolgálónaplóba, hanem el is küldi azokat a kliensfolyamatoknak (például a psql-nek). Ezt a beállítást általában hagyja letiltva.

A pgaudit.log_level csak akkor engedélyezett, ha a pgaudit.log_client be van kapcsolva.

Az Azure Database for PostgreSQL rugalmas kiszolgálóján a pgaudit dokumentációban leírtak szerint a - (mínuszjel) rövidítéssel nem állítható be a(z) pgaudit.log. Adja meg egyenként az összes szükséges utasításosztályt (READWRITEstb.).

Ha a log_statement paramétert DDL vagy ALL értékre állítja, és futtat egy CREATE ROLE/USER ... WITH PASSWORD ... ; vagy ALTER ROLE/USER ... WITH PASSWORD ... ; parancsot, a PostgreSQL olyan bejegyzést hoz létre a PostgreSQL-naplókban, amelyben a jelszó olvasható szövegként kerül naplózásra, ami potenciális biztonsági kockázatot jelenthet. Ez a viselkedés a PostgreSQL-motor kialakításának megfelelően várható.

Használhatja azonban a pgaudit bővítményt, és a(z) pgaudit.log értékét DDL értékre állíthatja, ami nem rögzít semmilyen CREATE/ALTER ROLE utasítást a Postgres-kiszolgáló naplójában, ellentétben azzal, amikor a(z) log_statement értékét DDL értékre állítja. Ha naplóznia kell ezeket az utasításokat, a pgaudit.log értékét ROLE értékre is állíthatja, így a rendszer kitakarja a jelszót a naplókból, miközben naplózza a(z) CREATE/ALTER ROLE értéket.

Ellenőrzési napló formátuma

Minden naplózási bejegyzés a kezdőbetűvel AUDIT:kezdődik. A többi bejegyzés formátuma a következő dokumentációbanpgaudittalálható: .

Kezdő lépések

A gyors kezdéshez állítsa a pgaudit.log értékét ALL értékre, és nyissa meg a szervernaplókat a kimenet áttekintéséhez.

Az auditnaplók megtekintése

A naplók elérésének módja attól függ, hogy melyik végpontot választja. Az Azure Storage esetében lásd a naplók tárfiókjának cikkét. Az Event Hubs esetében olvassa el az Azure-naplók streameléséről szóló cikket.

A Azure Monitor naplók esetében naplókat kell küldenie a kiválasztott munkaterületre. A Postgres-naplók az AzureDiagnostics gyűjtési módot használják, így lekérdezhetők az AzureDiagnostics táblából. A lekérdezésekkel és a riasztásokkal kapcsolatos további információkért tekintse meg a Azure Monitor Naplók lekérdezésének áttekintését.

Ezt a lekérdezést használhatja az első lépésekhez. A riasztásokat lekérdezések alapján konfigurálhatja.

Keressen rá az adott kiszolgáló postgres-naplóiban szereplő összes pgaudit bejegyzésre az elmúlt napban.

AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"

Főverzió-frissítés a pgaudit-bővítmény telepítésével

A főverzió-frissítés során a folyamat automatikusan elveti a pgaudit-bővítményt, majd újra létrehozza azt a frissítés befejezése után. Bár a folyamat visszaállítja a bővítményt, nem őrzi meg automatikusan a megadott pgaudit.log egyéni konfigurációkat vagy más kapcsolódó paramétereket.