Dziennik audytu panelu: kompletny przewodnik
Zainstaluj, skonfiguruj i wykorzystaj dziennik audytu panelu: identyfikowalność utworzeń, modyfikacji i usunięć wraz z różnicami przed/po, śledzenie logowań, maskowanie pól wrażliwych, retencja i eksport CSV dla PrestaShop 8 i 9.
Prezentacja
Moduł Dziennik audytu panelu zapisuje, kto, co i kiedy zmienił w Twoim panelu administracyjnym PrestaShop. Dla każdego utworzenia, modyfikacji lub usunięcia zachowuje danego pracownika, jego profil, adres IP, kontroler, metodę HTTP, adres URL, znacznik czasu oraz, w przypadku modyfikacji, szczegóły pole po polu (stara wartość → nowa wartość). Śledzi także rozpoczęcie sesji każdego pracownika, a na PrestaShop 8 również nieudane próby logowania i wylogowania.
Moduł opiera się wyłącznie na natywnych hookach ObjectModel i nie wykonuje żadnego nadpisania (override) rdzenia. Jest zgodny z PrestaShop 8 i 9, zarówno w trybie jednego sklepu, jak i multisklepu, i obsługuje wiele języków.
Dziennik został zaprojektowany z myślą o bezpieczeństwie i zgodności z RODO: dostarcza wiarygodną ścieżkę audytu (rozliczalność i identyfikowalność operacji) bez zmiany sposobu działania sklepu.
Instalacja
- W panelu administracyjnym otwórz Moduły > Menedżer modułów.
- Kliknij Wgraj moduł i przeciągnij archiwum ZIP modułu.
- Po zakończeniu instalacji kliknij Konfiguruj.
Podczas instalacji moduł tworzy dwie dedykowane tabele (dziennik oraz szczegóły zmienionych pól), rejestruje swoje hooki i dodaje pozycję menu Parametry zaawansowane > Dziennik audytu. Żadna konfiguracja nie jest wymagana na start: sensowny zestaw encji jest już domyślnie włączony.
Działanie
Moduł nasłuchuje ogólnych hooków ObjectModel obecnych w PrestaShop 8 i 9 (dodanie, aktualizacja i usunięcie obiektu) oraz hooka wyświetlania panelu. Przy każdej operacji na nadzorowanej encji:
- identyfikuje zalogowanego pracownika, jego profil i aktywny sklep;
- przy modyfikacji porównuje stan przed i po, zapisując wyłącznie faktycznie zmienione pola;
- przy utworzeniu lub usunięciu zapisuje (opcjonalnie) komplet pól obiektu;
- zapisuje wpis bezpośrednio w bazie danych.
Zapisy odbywają się bezpośrednim SQL, z pominięciem ObjectModel: nie ma więc ryzyka rekurencji hooków, a audyt nigdy nie może przerwać operacji biznesowej.
Konfiguracja
Nadzorowane encje
Zaznacz encje do śledzenia, pogrupowane według obszaru: Katalog (produkty, kategorie, producenci, dostawcy, warianty, ceny specyficzne, obrazy, stany magazynowe i tak dalej), Klienci i zamówienia (zamówienia, statusy zamówień, klienci, adresy, grupy, reguły koszyka), Transport i lokalizacja (przewoźnicy, kraje, strefy, waluty, podatki), Treść (strony i kategorie CMS, metadane) oraz Administracja i bezpieczeństwo (pracownicy, profile, klucze webservice, sklepy, konfiguracja).
Zapisywane są wyłącznie zaznaczone encje. Domyślnie włączony jest sensowny i mało hałaśliwy zestaw. Konfiguracja jest domyślnie wyłączona, ponieważ generuje bardzo dużo wpisów.
Śledzenie logowań do panelu
Gdy ta opcja jest aktywna, moduł zapisuje rozpoczęcie sesji każdego pracownika. Na PrestaShop 8 zapisuje również nieudane próby logowania (wraz z wpisanym adresem e-mail) oraz wylogowania.
Na PrestaShop 9 strona logowania jest obsługiwana przez Symfony: udane logowania są śledzone, ale niepowodzenia i wylogowania na ekranie logowania nie są przechwytywane. Wszystkie zmiany danych pozostają śledzone na obu wersjach.
Zachowaj szczegóły utworzeń i usunięć
Włącza zapis kompletu pól przy dodaniu lub usunięciu obiektu. Wyłącz tę opcję, aby zachować tylko samo zdarzenie (kto, co, kiedy) bez pełnych szczegółów obiektu.
Śledź także działania spoza panelu
Domyślnie zapisywane są wyłącznie działania wykonane przez pracownika zalogowanego do panelu. Włącz tę opcję, aby śledzić również zmiany wywołane po stronie sklepu, przez zadanie CRON lub przez webservice. Liczba wpisów może wtedy znacznie wzrosnąć.
Retencja
Określ czas przechowywania w dniach (domyślnie 365). Automatyczne codzienne czyszczenie usuwa starsze wpisy. Ustaw wartość 0, aby przechowywać wpisy bezterminowo.
Wykluczeni pracownicy
Podaj identyfikatory pracowników (oddzielone przecinkami), których działania nie mają być śledzone, na przykład techniczne konto integracyjne.
Limity wolumenu
Dwa ustawienia chronią bazę: maksymalna liczba pól zapisywanych na wpis oraz maksymalna długość wartości (powyżej niej wartość jest przycinana). Wewnętrzny bezpiecznik ogranicza dodatkowo liczbę wpisów zapisywanych na żądanie, aby zachować wydajność przy importach masowych.
Przeglądanie dziennika
Przejdź do Parametry zaawansowane > Dziennik audytu. Lista wyświetla dla każdego wpisu: datę, typ akcji (kolorowa etykieta), encję, identyfikator i nazwę obiektu, liczbę zmienionych pól, pracownika, profil, adres IP oraz kontroler. Możesz filtrować i sortować po tych kolumnach.
Widok szczegółowy
Kliknij wpis, aby otworzyć jego widok szczegółowy. Prezentuje on pełny kontekst (pracownik, IP, kontroler, metoda, adres URL, User-Agent), a przy modyfikacji także tabelę różnic pole po polu: stara wartość (na różowym tle, przekreślona) i nowa (na zielonkawym tle).
Bezpieczeństwo danych wrażliwych
Pola wrażliwe nigdy nie są zapisywane jawnie. Każde pole, którego nazwa zawiera wrażliwy termin (hasło, secure_key, token, klucz API, klucz webservice i podobne), jest automatycznie zastępowane gwiazdkami. Dziennik odnotowuje, że pole wrażliwe uległo zmianie, nie ujawniając jego wartości.
Zgodność, retencja i eksport
Dziennik zachowuje nazwisko pracownika nawet po usunięciu jego konta, co gwarantuje trwałą ścieżkę audytu. Z ekranu dziennika przycisk Eksportuj do CSV generuje plik UTF-8 (zgodny z Excelem) obejmujący wszystkie kolumny: datę, akcję, encję, obiekt, pracownika, profil, IP, kontroler, metodę i adres URL. Przycisk Wyczyść usuwa wszystkie wpisy (akcja zarezerwowana dla profili z prawem usuwania).
Eksport CSV świetnie sprawdza się przy przekazywaniu dowodów audytowych inspektorowi ochrony danych, biegłemu rewidentowi albo audytorowi bezpieczeństwa.
Deinstalacja
Odinstalowanie usuwa tabele dziennika, całą historię, hooki i pozycję menu. Operacja jest nieodwracalna: jeśli musisz zachować ślad, wyeksportuj dziennik wcześniej.
FAQ
Czy moduł spowalnia panel administracyjny?
Wpływ jest minimalny: zapisy bezpośrednim SQL, filtrowanie według encji i bezpiecznik wolumenu. Obciążenie możesz jeszcze zmniejszyć, ograniczając liczbę nadzorowanych encji.
Czy hasła są zapisywane?
Nie. Pola wrażliwe są maskowane gwiazdkami przed zapisem.
Czy moduł modyfikuje rdzeń PrestaShop?
Nie, żadnych nadpisań. Moduł korzysta wyłącznie z oficjalnych hooków ObjectModel i wewnętrznego autoloadera.
Czy działania po stronie sklepu są śledzone?
Domyślnie nie: dziennik koncentruje się na działaniach pracowników w panelu. Śledzenie działań po stronie sklepu, CRON i webservice możesz włączyć w konfiguracji.
Czy moduł jest zgodny z PrestaShop 9?
Tak, zgodny z PrestaShop 8.x i 9.x, zarówno w trybie jednego sklepu, jak i multisklepu, oraz wielojęzyczny.