Introdução: | Com o Log de Auditoria podemos obter um histórico de todas as inclusões, alterações e exclusões que ocorreram na(s) tabela(s) selecionada(s) para serem auditadas. O Log de auditoria é composto por uma série de Procedures, onde quando é(são) selecionada(s) uma tabela(s) a ser(em) auditada(s), cria-se uma "Tabela Espelho" em um Schema exclusivo do Log de Auditoria(TOTVSAUDIT) e Trigger(s) no banco de dados, dependendo da ação escolhida (Insert, Update, Delete). Quando houver transações que utilizam a(s) tabela(s) selecionada(s), a Trigger é disparada e grava na tabela de Log (ZAUDITCHANGES) as informações sobre o autor da ação, e os dados que foram criados, alterados ou deletados é salvo na "Tabela Espelho" (Ex.: TOTVSAUDIT.PFUNC, tabela espelho a tabela do sistema RM.PFUNC). Estas informações podem ser consultadas através de QUERY´s no banco de dados ou através da interface do usuário do Log de Auditoria. Com a criação da lei do LGPD (Lei Geral de Proteção de Dados), o Log de Auditoria sofreu algumas alterações. A partir deste momento tabelas que possuam ao menos um campo considerado SENSÍVEL/PESSOA, passará a ser auditada automaticamente caso o Log de Auditoria esteja habilitado, nesta condição o usuário não poderá desmarcar a(s) tabela(s) que possuem este tipo de dados. Além de serem automaticamente auditadas pelo sistema, os campos que sejam considerados SENSÍVEL/PESSOAL não poderão ser excecionados. O funcionamento do Log de Auditoria para LGPD será mostrado mais abaixo no manual.
|
Homologação Conversões de Bases de Dados Oracle | Caso seja necessário se restaurar uma base de dados Oracle em um ambiente de homologação, utilizando-se das ferramentas IMP e IMPDP, deve-se restaurar o Schema RM, após o final da restauração deve-se executar a Stored Procedure p_FixNovoLog. Comando: EXEC p_FixNovoLog Esta nova Stored Procedure faz uma verificação e cria/recria os objetos necessários para o correto funcionamento do Novo Log de Auditoria, Schema, Tabelas, Grants, Etc. |
Passo a passo: | - Para habilitar o Log de Auditoria vá em Serviços Globais, Administração, Log de Auditoria, Configurações:
![](/download/attachments/519198454/0.jpg?version=1&modificationDate=1571839864677&api=v2)
Após clique no botão Inativo para que o mesmo mude para Ativo: ![](/download/attachments/519198454/1.jpg?version=1&modificationDate=1571839863307&api=v2)
- Clique em Salvar:
![](/download/attachments/519198454/2.jpg?version=1&modificationDate=1571839863357&api=v2)
Com a implementação da LGPD, a partir do momento em que o Log de Auditoria é habilitado todas as tabelas que possuem ao menos um campo considerado SENSÍVEL/PESSOAL, passará a ser auditada automaticamente, e será apresentada na lista de tabelas com o fundo cinza, e sem opção de se desmarcar as ações de auditoria.
Abaixo temos o exemplo da GUSUARIO, que neste exemplo possui campos considerados SENSÍVEL/PESSOAL.
Image Added
A partir do momento que o Log estiver ativo você poderá selecionar as tabelas que serão necessárias para auditoria, lembrando que tabelas que possuem ao menos um campos considerado SENSÍVEL/PESSOAL não podem ser desabilitadas devido a LGPD. Para habilitar a auditoria na tabela PFUNC, vamos em [P] Totvs Folha de Pagamento e pressione CTRL + F para localizar a tabela, ou se preferir busque a mesma na lista de tabelas. Assim que a tabela é localizada escolhemos o tipo de Auditoria que necessitamos na tabela, elas são, Update (Quando um registro é alterado na tabela), Delete (Quando um registro é excluído na tabela) e Insert (Quando um registro e inserido na tabela):
![](/download/attachments/519198454/3.jpg?version=1&modificationDate=1571839863537&api=v2)
Após selecionar é só clicar em salvar que as Triggers de auditoria serão criadas no banco para a tabela em questão e um log será exibido: ![](/download/attachments/519198454/4.jpg?version=1&modificationDate=1571839863407&api=v2)
E possível manipular quantas Triggers forem necessárias ao mesmo tempo, tanto habilitando quanto desabilitando: ![](/download/attachments/519198454/5.jpg?version=1&modificationDate=1571839863753&api=v2)
![](/download/attachments/519198454/6.jpg?version=1&modificationDate=1571839863860&api=v2)
Para remover uma Trigger é só desmarcar todas as opções da tabela: ![](/download/attachments/519198454/7.jpg?version=1&modificationDate=1571839863810&api=v2) ![](/download/attachments/519198454/8.jpg?version=1&modificationDate=1571839863957&api=v2)
No novo Log foi implementada a funcionalidade de Exceção. Existem 2 tipos de exceções, uma por Tabelas/Colunas e outra de DataServer da aplicação. A primeira (Tabelas/Colunas), não audita a tabela especifica caso somente esta coluna tenha sido alterada. Com a implementação da LGPD, campos considerados SENSÍVEL/PESSOAL não poderão ser excecionados, assim os mesmos não irão aparecer na lista de campos que pode ser colocados em exceção Mais abaixo será mostrado um exemplo de uma tabela que possui campos considerados SENSÍVEL/PESSOAL:
![](/download/attachments/519198454/9.jpg?version=1&modificationDate=1571839863907&api=v2)
![](/download/attachments/519198454/10.jpg?version=1&modificationDate=1571839864050&api=v2)
No campo domínio, digite o nome da tabela que você deseja criar a exceção de coluna: ![](/download/attachments/519198454/11.jpg?version=1&modificationDate=1571839864000&api=v2)
E selecione as colunas que serão ignoradas, clique em Salvar e depois OK: ![](/download/attachments/519198454/12.jpg?version=1&modificationDate=1571839864167&api=v2)
No exemplo abaixo onde o campo NOME da tabela PFUNC é considerado sensível, vemos que o mesmo não é apresentado na lista de colunas que podem sofre exceção:
Image Added
- Marcação de muitas colunas, pode acarretar em uma queda de performance na execução da Trigger que será montada, desta forma criamos uma validação apenas para informar o cliente:
![](/download/attachments/519198454/image2019-7-9_9-31-14.png?version=1&modificationDate=1571839867913&api=v2) - Caso o cliente marque todas as colunas da tabela, neste caso entendemos que o correto é retirar a coluna da auditoria, nestes casos será mostrado a seguinte mensagem:
![](/download/attachments/519198454/image2019-7-9_9-33-13.png?version=1&modificationDate=1571839867970&api=v2) - Somente poderá ser cadastrado uma exceção por Domínio, caso tentem realizar a adição duplicada será apresentado a seguinte mensagem:
![](/download/attachments/519198454/image2019-7-19_14-28-46.png?version=1&modificationDate=1571839868037&api=v2) - Após o cadastro do registro, no momento da edição o campo Dominio ficará desabilitado para edição:
![](/download/attachments/519198454/image2019-7-19_14-31-30.png?version=1&modificationDate=1571839868087&api=v2) Exceção criada com sucesso, as triggers já refletirão esta nova exceção: ![](/download/attachments/519198454/13.jpg?version=1&modificationDate=1571839864107&api=v2)
A Segunda (DataServer), ignora processos específicos do sistema, como o Recalculo da Folha. Para adicionar uma exceção de Dataserver vá até a aba DataServers, e depois botão incluir: ![](/download/attachments/519198454/14.jpg?version=1&modificationDate=1571839864230&api=v2)
As exceções de DataServer são globais, assim elas se aplicam a todas as tabelas que estão sendo utilizadas pelo processo e que estão sendo auditadas. Exemplo: Caso seja incluída uma exceção de DataServer no processo RM.Fop.CalcularFolha.FopCalcLogServer (Calculo da Folha) e a tabela PFUNC esteja sendo auditada, nenhum registro modificado pelo processo será auditado, porem caso exista uma alteração manual (realizada pelo usuário) sendo realizada ao mesmo tempo (alteração no cadastro do funcionário) a mesma será auditada normalmente. Inclua o código do Dataserver no campo Descrição, Salvar e depois OK:
![](/download/attachments/519198454/15.jpg?version=1&modificationDate=1571839864443&api=v2)
Assim como nas exceções de Colunas quando o registro é salvo a exceção reflete em todas as triggers do sistema, então quanto mais tabelas auditadas, maior poderá ser o tempo para finalizar o processo:
![](/download/attachments/519198454/16.jpg?version=1&modificationDate=1571839864343&api=v2)
Para excluir uma exceção, tanto de coluna quanto de DataServer é só selecionar a mesma e clicar no X para excluir:
![](/download/attachments/519198454/17.jpg?version=1&modificationDate=1571839864560&api=v2)
Para desativar o Log de auditoria em todas as tabelas, é só clicar no botão ATIVO e Salvar:
![](/download/attachments/519198454/18.jpg?version=1&modificationDate=1571839864503&api=v2)
Com isso todas as triggers serão removidas, mas irá manter a configuração que você já realizou, para caso queira reativar o Log:
![](/download/attachments/519198454/19.jpg?version=1&modificationDate=1571839864617&api=v2)
- Visualização do Log de Auditoria
![](/download/attachments/519198454/image2018-1-15_14-7-57.png?version=1&modificationDate=1571839865177&api=v2)
- Para visualizar selecione o registro desejado e de um duplo clique no mesmo, nesta tela teremos as informações do Usuário que gerou a auditoria.
![](/download/attachments/519198454/image2018-1-15_14-10-57.png?version=1&modificationDate=1571839865337&api=v2)
- Para verificar o que foi alterado vá em Detalhe das alterações do Log de Auditoria, selecione o registro e de um duplo clique.
Neste exemplo vemos que os campos Apelido, Investtreinament e CodNaturalidade foram alterados.
![](/download/attachments/519198454/image2018-1-15_14-13-59.png?version=1&modificationDate=1571839865463&api=v2)
- Expurgo parcial é realizado quando desejamos excluir das tabelas de auditoria registros específicos.
Vá em Processos, e Expurgo Parcial do Log de Auditoria
![](/download/attachments/519198454/image2018-1-15_14-17-45.png?version=1&modificationDate=1571839865567&api=v2) - Nesta etapa temos que selecionar o filtro de Limpeza/Expurgo
![](/download/attachments/519198454/image2018-1-15_14-18-9.png?version=1&modificationDate=1571839865717&api=v2) - Neste exemplo iremos expurgar os registros de 14/01/2018 a 15/01/2018 para operações de Update
![](/download/attachments/519198454/image2018-1-15_14-19-24.png?version=1&modificationDate=1571839866040&api=v2) - Aqui selecionamos as tabelas que desejamos que seja feito o expurgo.
![](/download/attachments/519198454/image2018-1-15_14-21-8.png?version=1&modificationDate=1571839866147&api=v2)
![](/download/attachments/519198454/image2018-1-15_14-22-7.png?version=1&modificationDate=1571839866217&api=v2)
- Expurgo Total
Aqui iremos fazer o expurgo de todos os dados das tabelas de auditoria, esta é a forma mais rápida e pratica para quando a auditoria não é mais necessária.
![](/download/attachments/519198454/image2018-1-15_14-26-46.png?version=1&modificationDate=1571839866277&api=v2)
![](/download/attachments/519198454/image2018-1-15_14-27-8.png?version=1&modificationDate=1571839866340&api=v2)
![](/download/attachments/519198454/image2018-1-15_14-27-30.png?version=1&modificationDate=1571839866403&api=v2)
- Podemos gerar os relatórios a partir dos dados coletados pela auditoria para isso vamos em Processos, Gerar Relatório com Base no Log de Auditoria
![](/download/attachments/519198454/image2018-1-15_14-31-59.png?version=1&modificationDate=1571839866460&api=v2) Aqui teremos a tela de filtros
![](/download/attachments/519198454/image2018-1-15_14-32-39.png?version=1&modificationDate=1571839866523&api=v2) Definimos os filtros necessário e onde o arquivo deve ser gerado.
![](/download/attachments/519198454/image2018-1-15_14-33-14.png?version=1&modificationDate=1571839866750&api=v2) Selecionamos as tabelas que desejamos que o relatório seja gerado
![](/download/attachments/519198454/image2018-1-15_14-33-49.png?version=1&modificationDate=1571839867130&api=v2)
![](/download/attachments/519198454/image2018-1-15_14-34-32.png?version=1&modificationDate=1571839867793&api=v2) Abaixo modelo de relatório gerado
![](/download/attachments/519198454/image2018-1-15_14-36-42.png?version=1&modificationDate=1571839867857&api=v2)
|