Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rejestrowanie inspekcji działań bazy danych w usłudze Azure Database for PostgreSQL jest dostępne za pośrednictwem pgaudit rozszerzenia .
pgaudit Udostępnia szczegółowe rejestrowanie inspekcji sesji i/lub obiektów.
Jeśli chcesz, aby dzienniki na poziomie zasobów platformy Azure dla operacji, takich jak skalowanie zasobów obliczeniowych i magazynu, zobacz Dziennik aktywności platformy Azure.
Zagadnienia dotyczące użycia
Domyślnie pgaudit instrukcje dzienników i zwykłe instrukcje dziennika są emitowane przy użyciu standardowego obiektu rejestrowania bazy danych Postgres. W usłudze Azure Database for PostgreSQL można skonfigurować wszystkie dzienniki, które mają być wysyłane do magazynu dzienników usługi Azure Monitor na potrzeby późniejszej analizy w usłudze Log Analytics. Jeśli włączysz rejestrowanie zasobów usługi Azure Monitor, dzienniki zostaną automatycznie wysłane (w formacie JSON) do dzienników usługi Azure Storage, usługi Event Hubs i/lub usługi Azure Monitor, w zależności od wybranej opcji.
Aby dowiedzieć się, jak skonfigurować rejestrowanie w dziennikach usługi Azure Storage, usługi Event Hubs lub usługi Azure Monitor, odwiedź sekcję dzienników zasobów w artykule dotyczącym dzienników serwera.
Instalowanie rozszerzenia
Aby móc używać pgaudit rozszerzenia, musisz zezwolić na listę, załadować i utworzyć rozszerzenie w bazie danych, na której ma być używany.
Konfigurowanie ustawień rozszerzenia
pgaudit umożliwia skonfigurowanie rejestrowania inspekcji sesji lub obiektu.
Rejestrowanie inspekcji sesji emituje szczegółowe dzienniki wykonanych instrukcji.
Rejestrowanie inspekcji obiektów jest objęte inspekcją w zakresie określonych relacji. Możesz skonfigurować jeden lub oba typy rejestrowania.
Po włączeniu pgauditfunkcji można skonfigurować jego parametry w celu rozpoczęcia rejestrowania.
Aby skonfigurować pgauditusługę , możesz wykonać następujące instrukcje:
Korzystanie z portalu Azure:
Wybierz swoje wystąpienie usługi Azure Database for the PostgreSQL.
W menu zasobów w obszarze Ustawienia wybierz pozycję Parametry serwera.
pgauditWyszukaj parametry.Wybierz odpowiedni parametr do edycji. Aby na przykład rozpocząć rejestrowanie
INSERT, ,UPDATE,DELETETRUNCATEiCOPYinstrukcje , ustaw wartośćpgaudit.logWRITE.Wybierz przycisk Zapisz , aby zapisać zmiany.
Oficjalna dokumentacja zawiera pgaudit definicję każdego parametru. Najpierw przetestuj parametry i upewnij się, że otrzymujesz oczekiwane zachowanie.
Na przykład ustawienie pgaudit.log_client tak, aby ON nie tylko zapisywało zdarzenia inspekcji w dzienniku serwera, ale także wysyła je do procesów klienta (takich jak psql). To ustawienie powinno być zwykle wyłączone.
pgaudit.log_level jest włączona tylko wtedy, gdy pgaudit.log_client jest włączona.
W usłudze Azure Database for PostgreSQL pgaudit.log nie można ustawić skrótu do znaku (minus), zgodnie z opisem -pgaudit w dokumentacji. Wszystkie wymagane klasy instrukcji (READ, WRITE itp.) powinny być określone indywidualnie.
Jeśli ustawisz log_statement parametr na DDL lub ALL i uruchomisz CREATE ROLE/USER ... WITH PASSWORD ... ; polecenie lub ALTER ROLE/USER ... WITH PASSWORD ... ;, usługa PostgreSQL utworzy wpis w dziennikach postgreSQL, w którym hasło jest rejestrowane w postaci zwykłego tekstu, co może spowodować potencjalne zagrożenie bezpieczeństwa. Jest to oczekiwane zachowanie zgodnie z projektem aparatu PostgreSQL.
Można jednak użyć pgaudit rozszerzenia i ustawić pgaudit.log na DDLwartość , która nie rejestruje żadnej CREATE/ALTER ROLE instrukcji w dzienniku serwera Postgres, w przeciwieństwie do tego, gdy ustawiono wartość log_statementDDL. Jeśli musisz zarejestrować te instrukcje, możesz również ustawić wartość pgaudit.logROLE, która redaguje hasło z dzienników podczas rejestrowania CREATE/ALTER ROLE.
Format dziennika inspekcji
Każdy wpis inspekcji rozpoczyna się od AUDIT:. Format pozostałej części wpisu został szczegółowo opisany w dokumentacji .pgaudit
Wprowadzenie
Aby szybko rozpocząć, ustaw wartość pgaudit.logALLi otwórz dzienniki serwera, aby przejrzeć dane wyjściowe.
Wyświetlanie dzienników inspekcji
Sposób uzyskiwania dostępu do dzienników zależy od wybranego punktu końcowego. Zobacz artykuł dotyczący konta magazynu dzienników dla usługi Azure Storage. Zobacz artykuł dotyczący strumieniowego rejestrowania dzienników platformy Azure dla usługi Event Hubs.
W przypadku dzienników usługi Azure Monitor dzienniki są wysyłane do wybranego obszaru roboczego. Dzienniki bazy danych Postgres używają trybu kolekcji AzureDiagnostics , aby można było wykonywać zapytania z tabeli AzureDiagnostics. Dowiedz się więcej na temat wykonywania zapytań i alertów w temacie Omówienie zapytań dzienników usługi Azure Monitor .
Możesz użyć tego zapytania, aby rozpocząć pracę. Alerty można skonfigurować na podstawie zapytań.
Wyszukaj wszystkie pgaudit wpisy w dziennikach bazy danych Postgres dla określonego serwera w ostatnim dniu
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Uaktualnienie wersji głównej z zainstalowanym rozszerzeniem pgaudit
Podczas uaktualniania wersji głównej rozszerzenie pgaudit jest automatycznie porzucane, a następnie tworzone ponownie po zakończeniu uaktualniania. Po przywróceniu rozszerzenia wszystkie konfiguracje niestandardowe ustawione w pgaudit.log systemie lub inne powiązane parametry nie są automatycznie zachowywane.