Embedded Audit Trail: como configurar e consultar a ferramenta de auditoria do Protheus?

Um auditor de dados lendo um pergaminho que revela o Embedded Audit Trail (EAT) do Protheus em código digital.

💡 Volta e meia a ferramenta de Auditoria do ERP Protheus torna-se relevante aqui na empresa onde eu trabalho: seja para ajudar a esclarecer dúvidas de usuários (sobre quem fez o que no sistema) ou para ajudar na análise de problemas que às vezes parecem bizarros diante da falta de evidências e dificuldade para reproduzí-los em bases de teste (acredite, isto é mais comum do que se imagina, ainda mais considerando-se ecosistemas tão complexos e com tantas variáveis como em um ERP do tamanho do Protheus, aliado a um cenário com inúmeras integrações com sistemas legados).

Neste caso, vou explicar brevemente o que é o Embedded Audit Trail e como configurá-lo, mas não vou me aprofundar muito nisso na configuração do mesmo, visto que a documentação da Totvs cobre com eficiência os pormenores de como configurar a ferramenta. Também vou dar algumas dicas de como consultar as tabelas de auditoria e falar um pouco sobre a minha experiência com a performance da ferramenta.

Embedded Audit Trail (EAT) no Protheus: O Guia Completo para Auditoria Forense e Compliance

O que é Embedded Audit Trail (EAT) e seu Propósito Estratégico

O Embedded Audit Trail (EAT) é a solução nativa de auditoria de banco de dados do ERP Protheus. Ele atua como um "detetive digital" interno, registrando de forma detalhada as atividades dos usuários, como Inclusão, Alteração e Exclusão de dados.

O EAT foi projetado para manter a Alta Performance do sistema enquanto garante uma rastreabilidade rigorosa.

O registro de logs do EAT é crucial por:

  • Segurança e Rastreabilidade: Ele armazena tanto o conteúdo anterior (TTAT_COLD) quanto o conteúdo posterior (TTAT_CNEW) à edição. Isso fornece a prova exata de como os dados foram modificados.

  • Conformidade: Ajuda a atender a diversos requisitos regulatórios, sendo crucial para a adequação à legislação como a LGPD (Lei Geral de Proteção de Dados).

  • Auditoria Forense: Permite rastrear operações que tentam contornar rotinas padrões, incluindo alterações realizadas por ferramentas como o PSDU ou comandos diretos de UPDATE no SGBD, desde que executados pelo usuário técnico da aplicação.


Arquitetura Distribuída: O Modelo de Logs (Tabelas Irmãs)

Para lidar com o alto volume de dados de auditoria sem impactar o desempenho, o EAT adota um modelo inteligente de tabelas irmãs de auditoria.

A regra arquitetural é que cada tabela de aplicação auditada no Protheus terá uma tabela de log correspondente. A nomenclatura segue o padrão: [Nome da Tabela]_TTAT_LOG.

  • Exemplos de Nomenclatura de Logs:

    • Tabela de Aplicação: SA1010 (Cadastro de Clientes)

    • Tabela de Auditoria: SA1010_TTAT_LOG

    • Tabela de Aplicação: SB1010 (Cadastro de Produtos)

    • Tabela de Auditoria: SB1010_TTAT_LOG

A análise detalhada é feita por meio de queries SQL personalizadas que acessam diretamente a tabela de log específica.

Implementação e Configuração Granular (SIGACFG)

A ativação e parametrização do EAT são gerenciadas através da rotina Aplicador, dentro do Configurador (SIGACFG), seguindo uma estrutura de Exceção e Regra em três níveis:

  1. Nível Grupo de Empresas: Define a regra padrão para todas as tabelas e campos ou, inversamente, bloqueia a auditoria para definição seletiva.

  2. Nível Tabela: Liga ou desliga a auditoria para a tabela. O escopo LIGAÇÃO é crucial, pois permite que a regra de auditoria seja definida apenas no Nível Campo, ignorando a regra da Tabela.

  3. Nível Campos: O nível mais granular, onde se define a auditoria para um campo específico.

  • Dicas de Configuração:

    • Se deseja auditar apenas a tabela SA1 inteira, defina o Grupo de Empresas como Exceção e a Tabela SA1 com Escopo: Regra (Operação: 7).

    • Se o objetivo é auditar apenas dois campos específicos (C5_VEND1 e C5_COMIS1 da SC5), defina o Grupo de Empresas como Exceção, a Tabela SC5 com Escopo: Ligação, e os campos com Escopo: Regra.

Ao confirmar, o sistema cria os gatilhos (triggers) no banco de dados, ativando a auditoria.


Otimização de Performance e Políticas Críticas

Otimização de Performance

A melhor estratégia para o EAT é a minimização e granularidade do escopo.

  • Inatividade Total: Um escopo totalmente em branco (sem regras definidas) significa que o EAT está totalmente inativo, garantindo a máxima performance.

  • Foque no Valor: Audite apenas os campos que possuem alto valor forense ou que são sensíveis (financeiros, LGPD, cadastros mestres).

  • Cautela na Inclusão: Evite auditar todos os campos para a operação de Inclusão em tabelas de grande volume, pois o registro completo pode impactar a performance de escrita de logs.

  • Controle de Volume: Utilize o recurso de Purge (Limpeza de Logs) para gerenciar o Tempo de histórico mantido (3, 6, 9 ou 12 meses), controlando o volume das tabelas de log.

Política Operacional Crítica: Desativação Obrigatória

É uma regra de ouro: O Embedded Audit Trail deve ser obrigatoriamente desabilitado antes de rodar o UPDDistr ou qualquer processo de Atualização de Release.

Os triggers criados pelo EAT podem causar inconsistências ou travar a execução do DDL (ALTER TABLE) durante o UPDDistr.

  • Procedimento de Desativação Rápida:

    1. Realizar backup da tabela de configuração do EAT (XA4).

    2. No Aplicador (Configurador), mude o(s) Grupo(s) para Escopo = Exceção e Operação = Não se Aplica.

    3. Na Área Tabela, deletar todas as entradas (pressionando DEL).

    4. Clicar em Confirmar. Isso garante a remoção dos triggers do SGBD.

Dicionário de Dados: Análise Forense da Tabela *_TTAT_LOG

A tabela de log (X_TTAT_LOG) é a ferramenta principal na auditoria forense. O campo TTAT_IDENT é a chave de agrupamento que permite reconstruir todos os campos alterados em uma única ação do usuário.

  • Campos Essenciais:

    • TTAT_COLD: O valor do campo antes da transação (nulo para Inclusões).

    • TTAT_CNEW: O valor do campo depois da transação (nulo para Exclusões).

    • TTAT_OPERATI: A operação: I (Inclusão), U (Alteração/Update), X ou D (Exclusão/Delete).

    • TTAT_PROGRAM: A rotina (Ex: MATA010, PSDU) que originou o log.

    • TTAT_USERID: Código de login do usuário Protheus que realizou a operação.

    • TTAT_UDB: O login técnico do Banco de Dados (SQL User) que executou o comando. Crucial para rastrear acessos diretos no SGBD.

    • TTAT_DTIME: O timestamp exato do registro.

    • TTAT_RECNO: O Recno do Protheus que identifica o registro na tabela original.


Passo a Passo simples para configurar o Embedded Audit Trail

Como eu mencionei inicialmente, não vou me aprofundar na configuração do Audit Trail, visto que a documentação padrão da Totvs é bastante completa em relação a essa ferramenta. Eu sei, nem sempre é assim, mas neste caso o manual está completo e bastante detalhado.

Porém, neste post auspicioso, permita que em lugar de um manual técnico corriqueiro, eu sugira um passo a passo simples e desmistificado em Três Passos e uma Dica de Ouro:

Primeiro Passo: Vá até o Configurador, clique em Ambiente, procure Embedded Audit Trail e após clicar nessa opção.

Passo um para configurar o EAT no Protheus


Segundo Passo: Agora escolha a rotina Aplicador, conforme a imagem abaixo:

Passo dois para configurar o EAT no Protheus

Terceiro Passo: Então, na tela abaixo, você deve escolher cada etapa da construção da regra, de forma gradual: 1 -> Escolha a empresa; 2 -> Escolha se é regra ou exceção, etc...

Passo dois para configurar o EAT no Protheus


Dica: Por fim, escolha por quanto tempo quer manter os dados da auditoria.

Passo dois para configurar o EAT no Protheus


Técnicas de Consulta Avançada via SQL

Para detalhamento e performance, a consulta direta às tabelas *_TTAT_LOG via SQL é a opção mais poderosa. Lembre-se de sempre referenciar o nome exato da tabela de log (Ex: SA1010_TTAT_LOG).

1. Rastreamento Geral de Atividades (Exemplo: SCR010)

SQL
-- Query 1: Rastreamento Geral da Tabela SCR010 (Alçadas de Aprovação)
SELECT TTAT_DTIME AS "Timestamp DB", TTAT_OPERATI AS "Operacao DB", TTAT_USERID AS "ID Usuário", TTAT_USER AS "Nome Usuário", TTAT_PROGRAM AS "Rotina Fonte", TTAT_IDENT AS "ID Transação", TTAT_RECNO AS "RECNO do Registro", TTAT_FIELD AS "Campo Alterado", TTAT_COLD AS "Valor Antigo", TTAT_CNEW AS "Valor Novo" FROM SCR010_TTAT_LOG WHERE TTAT_OPERATI IN ('I', 'U', 'X', 'D') AND TTAT_DTIME BETWEEN '01/01/25 00:00:00' AND '31/12/25 00:00:00,000000' ORDER BY TTAT_DTIME ASC, TTAT_IDENT ASC;

2. Rastreamento de Alterações em Campos de Alto Risco

Esta consulta foca em um campo sensível, como o Limite de Crédito (A1_LC), buscando apenas alterações (U) onde houve uma mudança real de valor.

SQL
-- Query 2: Rastreando quem modificou o Limite de Crédito (A1_LC)
SELECT TTAT_DTIME AS "Timestamp DB", TTAT_USERID AS "Usuário", TTAT_HOSTNAM AS "Origem Host", TTAT_PROGRAM AS "Rotina", TTAT_RECNO AS "RECNO do Cliente", TTAT_COLD AS "Limite Antigo", TTAT_CNEW AS "Limite Novo" FROM SA1010_TTAT_LOG WHERE TTAT_FIELD = 'A1_LC' AND TTAT_OPERATI = 'U' AND TTAT_CNEW != TTAT_COLD AND TTAT_DTIME >= '01/01/2025' ORDER BY TTAT_DTIME DESC;

3. Auditoria de Operações Externas (PSDU ou Acessos Não-Padrão)

Utilizada para identificar ações que não vieram das rotinas padrão do Protheus, focando na origem do programa (TTAT_PROGRAM).

SQL
-- Query 3: Identificação de Alterações Fora de Rotinas Padrão em SB1010
SELECT
TTAT_DTIME,
TTAT_USERID,
TTAT_UDB AS "Usuário DB",
TTAT_HOSTNAM,
TTAT_PROGRAM AS "Origem do Programa",
TTAT_FIELD,
TTAT_CNEW
FROM
SB1010_TTAT_LOG
WHERE
-- Filtra por programas de acesso direto ou admin
TTAT_PROGRAM IN ('psdu', 'sql_exec', 'admintol', 'dbaccess64.exe')
-- E/OU: Filtra por alteração/exclusão
AND TTAT_OPERATI IN ('U', 'X', 'D')
ORDER BY
TTAT_DTIME DESC;


Conclusão: O EAT como Escudo Digital da Sua Gestão

Chegamos ao fim da nossa jornada de desvendamento do Embedded Audit Trail (EAT) do Protheus, e fica evidente que essa ferramenta vai muito além de um simples registro de logs. O EAT é, na verdade, um sofisticado escudo digital para a gestão empresarial moderna, garantindo que as premissas de segurança, rastreabilidade e conformidade legal (LGPD) sejam atendidas sem comprometer a alta performance do ERP.

Dominar o EAT, desde a configuração granular no SIGACFG até a interpretação precisa dos campos como TTAT_COLD, TTAT_CNEW e o crucial TTAT_UDB, transforma o profissional de TI ou o auditor em um verdadeiro detetive de dados.

A maior força do EAT reside na facilidade e robustez da sua consulta via banco de dados. Ao acessar diretamente as tabelas *_TTAT_LOG, é possível aplicar o poder analítico do SQL para transformar dados brutos em inteligência forense acionável.

Lembrete Crucial de Segurança: Para preservar a integridade da sua trilha de auditoria, é imperativo que os usuários ou sistemas designados para a consulta dos logs do EAT possuam apenas direitos de leitura (SELECT) no banco de dados. Qualquer permissão de inclusão, alteração ou exclusão nas tabelas *_TTAT_LOG comprometeria irremediavelmente a segurança e a confiabilidade de toda a auditoria.

O Embedded Audit Trail é, portanto, a prova de que segurança e eficiência podem (e devem) caminhar lado a lado. Ao implementá-lo e consultá-lo de maneira estratégica, sua empresa garante a transparência e a accountability necessárias para navegar com confiança na era da informação.


Links Úteis:

1 - Manuais Oficiais sobre o EAT;

2 - Como configurar o EAT;


Ilustração conceitual de um auditor de dados lendo um pergaminho que revela o Embedded Audit Trail (EAT) do Protheus em código digital.


Comentários