PS PrestaShop Intermédio

Registo de Auditoria do Back-office: guia completo

Instalar, configurar e explorar o registo de auditoria do back-office: rastreabilidade das criações/modificações/eliminações com diferenças antes/depois, acompanhamento dos inícios de sessão, mascaramento dos campos sensíveis, retenção e exportação CSV para PrestaShop 8 e 9.

Atualizado Versão do módulo 1.0.0

Apresentação

O módulo Registo de Auditoria do Back-office regista quem alterou o quê e quando no seu back-office PrestaShop. Para cada criação, modificação ou eliminação, conserva o colaborador em causa, o seu perfil, o endereço IP, o controlador, o método HTTP, o URL, o carimbo temporal e, para as modificações, o detalhe campo a campo (valor antigo → valor novo). Regista também o início de sessão de cada colaborador e, no PrestaShop 8, as tentativas de início de sessão falhadas e os fins de sessão.

O módulo assenta exclusivamente nos hooks nativos do ObjectModel e não efetua nenhum override do núcleo. É compatível com PrestaShop 8 e 9, em monoloja como em multiloja, e multilingue.

O registo foi concebido para a segurança e a conformidade RGPD: fornece uma pista de auditoria fiável (responsabilidade e rastreabilidade dos tratamentos) sem modificar o funcionamento da sua loja. O próprio registo contém dados pessoais (nome do colaborador, IP): fixe uma duração de conservação proporcionada e mencione-o no seu registo de atividades de tratamento, sob a alçada da CNPD.

Instalação

  1. A partir do back-office, abra Módulos > Gestor de módulos.
  2. Clique em Instalar um módulo e carregue o arquivo ZIP do módulo.
  3. Terminada a instalação, clique em Configurar.

Na instalação, o módulo cria duas tabelas dedicadas (o registo e o detalhe dos campos modificados), regista os seus hooks e acrescenta a entrada de menu Parâmetros avançados > Registo de auditoria. Não é obrigatória nenhuma configuração para começar: já está ativado por defeito um conjunto de entidades pertinente.

Funcionamento

O módulo escuta os hooks genéricos do ObjectModel presentes no PrestaShop 8 e 9 (adição, atualização e eliminação de objetos) e o hook de apresentação do back-office. A cada operação numa entidade vigiada:

  • identifica o colaborador autenticado, o seu perfil e a loja ativa;
  • para uma modificação, compara o estado antes e depois e só regista os campos realmente alterados;
  • para uma criação ou uma eliminação, regista (em opção) o conjunto dos campos do objeto;
  • escreve a entrada diretamente na base de dados.

As escritas são feitas em SQL direto, sem voltar a passar pelo ObjectModel: não há portanto nenhum risco de recursão dos hooks, e a auditoria nunca pode interromper uma operação de negócio.

Configuração

Entidades vigiadas

Marque as entidades a rastrear, agrupadas por domínio: Catálogo (produtos, categorias, fabricantes, fornecedores, declinações, preços específicos, imagens, stocks…), Clientes e encomendas (encomendas, estados de encomenda, clientes, moradas, grupos, regras de carrinho), Transporte e localização (transportadoras, países, zonas, moedas, impostos), Conteúdo (páginas e categorias CMS, metadados) e Administração e segurança (colaboradores, perfis, chaves de webservice, lojas, configuração).

Só as entidades marcadas são registadas. Está ativado por defeito um conjunto pertinente e pouco verboso; a Configuração está desativada por defeito por ser muito faladora.

Rastrear os inícios de sessão no BO

Quando esta opção está ativa, o módulo regista o início de sessão de cada colaborador. No PrestaShop 8, regista também as tentativas de início de sessão falhadas (com o e-mail introduzido) e os fins de sessão.

No PrestaShop 9, a página de início de sessão é gerida pelo Symfony: os inícios de sessão bem-sucedidos são rastreados, mas as falhas e os fins de sessão no ecrã de login não são captados. Todas as modificações de dados continuam rastreadas nas duas versões.

Conservar o detalhe das criações/eliminações

Ativa o registo do conjunto dos campos numa adição ou numa eliminação. Desative esta opção para só conservar o evento (quem, o quê, quando) sem o detalhe completo do objeto.

Rastrear também as ações fora do back-office

Por defeito, só são registadas as ações efetuadas por um colaborador autenticado no back-office. Ative esta opção para rastrear também as modificações desencadeadas no front-office, por uma tarefa CRON ou através do webservice. O volume de entradas pode então aumentar sensivelmente.

Retenção

Defina a duração de conservação em dias (365 por defeito). Uma purga automática diária elimina as entradas mais antigas. Coloque o valor em 0 para uma conservação ilimitada.

Colaboradores excluídos

Introduza os identificadores de colaboradores (separados por vírgulas) cujas ações não devem ser rastreadas, por exemplo uma conta técnica de integração.

Limites de volume

Duas definições protegem a base de dados: o número máximo de campos registados por entrada e o comprimento máximo de um valor (acima disso, o valor é truncado). Uma salvaguarda interna limita, além disso, o número de entradas escritas por pedido para preservar o desempenho nas importações em massa.

Consultar o registo

Vá a Parâmetros avançados > Registo de auditoria. A lista mostra, para cada entrada: a data, o tipo de ação (badge colorido), a entidade, o identificador e a designação do objeto, o número de campos modificados, o colaborador, o perfil, o endereço IP e o controlador. Pode filtrar e ordenar por estas colunas.

Vista detalhada

Clique numa entrada para abrir a sua vista detalhada. Apresenta o contexto completo (colaborador, IP, controlador, método, URL, User-Agent) e, para uma modificação, uma tabela de diferenças campo a campo: o valor antigo (sobre fundo rosado, riscado) e o novo (sobre fundo esverdeado).

Segurança dos dados sensíveis

Os campos sensíveis nunca são registados em claro. Qualquer campo cujo nome contenha um termo sensível (palavra-passe, secure_key, token, chave de API, chave de webservice…) é automaticamente substituído por asteriscos. O registo indica que um campo sensível mudou sem revelar o seu valor.

Conformidade, retenção e exportação

O registo conserva o nome do colaborador mesmo depois da sua eliminação, garantindo uma pista de auditoria duradoura. A partir do ecrã do registo, o botão Exportar em CSV gera um ficheiro UTF-8 (compatível com Excel) que retoma todas as colunas: data, ação, entidade, objeto, colaborador, perfil, IP, controlador, método e URL. O botão Purgar elimina o conjunto das entradas (ação reservada aos perfis com direito de eliminação).

A exportação CSV é ideal para fornecer as suas provas de auditoria a um encarregado de proteção de dados, a um revisor oficial de contas ou a um auditor de segurança.

Desinstalação

A desinstalação elimina as tabelas do registo, o conjunto do histórico, os hooks e a entrada de menu. Esta operação é definitiva: lembre-se de exportar o registo previamente se precisar de conservar um vestígio.

FAQ

O módulo torna o back-office mais lento?

O impacto é mínimo: escritas em SQL direto, filtragem por entidade e salvaguarda de volume. Pode reduzir ainda mais a carga limitando as entidades vigiadas.

As palavras-passe são registadas?

Não. Os campos sensíveis são mascarados por asteriscos antes do armazenamento.

O módulo modifica o núcleo do PrestaShop?

Não, nenhum override. O módulo usa apenas os hooks oficiais do ObjectModel e um autoloader interno.

As ações do front-office são rastreadas?

Por defeito não: o registo concentra-se nas ações dos colaboradores no back-office. Pode ativar a rastreabilidade das ações do front-office, CRON e webservice na configuração.

O módulo é compatível com o PrestaShop 9?

Sim, compatível com PrestaShop 8.x e 9.x, em monoloja como em multiloja e multilingue.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte