Auditing

Escrito por Gionei Mistura em 3 de setembro de 2008, 09:39h

Os recursos de “Auditing” do OpenEdge 10.1X propiciam maior flexibilidade na Administração dos bancos de dados. Você poderá ter controle total sobre as alterações feitas no banco de dados. Aquela velha frase “Eu não fiz nada...” ou “O sistema fez sozinho...” poderá ser facilmente contestada, caso exista um registro de auditoria que mostre que o usuário realmente fez aquela alteração.

 

O que pode ser auditado?

 

Estes são os eventos que podem ser auditados:

 

Database Events – Create, Update e Delete;

 

Internal Events – Autenticação (login), Mudanças de Schema do banco, Segurança (criação, exclusão de usuário, etc), Administração do banco (Startup, shutdown, reindexação, etc);

 

Application Events – Eventos incluídos no desenvolvimento de aplicações.

 

Pré-requisitos

 

  • Para habilitar o Auditing, é necessário que o banco possua pelo menos uma área do tipo “Storage Área II”. Esta área armazenará os dados provenientes da auditoria.

 

  • É de extrema importância ter pleno conhecimento das tabelas do sistema, para ter certeza que somente os dados necessários serão auditados, evitando problemas de performance e desperdício de espaço em disco.

Habilitando o Auditing

Para habilitar o Auditing, é utilizado o comando abaixo (em mono-usuário):

“proutil <database-name> -C enableauditing area <"area-name"> [indexarea "area-name2"] [deactivateidx]”

Quando o comando acima é executado, as tabelas internas utilizadas pelo Auditing são criadas. 

 

 

Policies

O funcionamento do auditing é baseado em Policies. Pode-se criar uma ou várias Policies, as quais vão definir quais os dados que serão auditados. Para a criação e manutenção das Policies, a Progress disponibiliza o “Audit Policy Maintenance”, que pode ser acessado pelo Data Administration > Tools > Audit Policy Maintenance (ou através de qualquer aplicativo Progress que possua o menu padrão “Tools”).

 

 

Vale salientar a importância de auditar somente as informações realmente necessárias, pois ao selecionar tabelas ou campos desnecessários, poderá causar sérios problemas de performance no ambiente. 

Archive

Quando o Auditing é habilitado, os dados gerados pela auditoria são armazenados no mesmo banco de dados. Conforme a quantidade de informações que está sendo auditada, é possível que este banco cresça de forma exagerada. Para este caso, a Progress disponibiliza o Archive, que realiza a cópia dos dados auditados para um banco que irá armazenar somente os dados provenientes da auditoria.

Este banco (também chamado de long-term) poderá armazenar dados de vários bancos de dados. Ou seja, se existir um ambiente de produção com 3 bancos, o archive desses bancos poderá ser feito em somente um banco.

Para o banco de produção, recomenda-se utilizar o parâmetro “-deactivateidx” durante a habilitação do auditing, pois desta forma os índices utilizados por este serão desativados. Esta alteração não degradará a performance do ambiente de produção.

Já para o banco de Archive, aconselha-se manter os índices ativados, pois os relatórios e buscas para os dados auditados serão feitos neste banco, o que garantirá uma melhor performance. 

Relatórios

Os relatórios do Auditing estão disponíveis através do Data Administration à Database à Reports à Auditing Reports. Podem-se visualizar os dados em relatórios pré-configurados de acordo com os eventos (Prefiltered reports) ou gerar um relatório customizado, informando em detalhes os dados que deseja visualizar (Custom filtered reports).

Em resumo, a utilização do Auditing pode auxiliar o DBA na identificação de alterações indevidas, tanto na manipulação dos dados quanto nas tarefas de administração do banco de dados.

Categorias: Banco de dados | Progress | Segurança

Tags:

Comentários (6) -

em 5 de março de 2010, 17:38h

Boa tarde Gionei.
Aqui na empresa estamos pensando em usar a auditoria do OpenEdge. Mas estamos com uma dúvida.
No seu artigo, você fala que em banco de produção é interessante utilizar o parâmetro "-deactivateidx".
Este parâmetro desabilita os índices de quem? Os índices das tabelas de auditoria, ou os índices do banco de produção?

Leandro

em 8 de março de 2010, 09:22h

Leandro,

O deactivateidx citado desativa os índices somente das tabelas do Auditing. Este comando é recomendado nos bancos de produção porque na geração dos logs de auditoria, são criados/alterados vários registros.

Se os índices estiverem habilitados, o banco de dados precisa atualizar todos eles a cada operação.

A ordem natural é gerar os logs de auditoria no banco de produção, mas arquivar e consultar os logs no banco Archive. Se você não vai realizar consultas de auditoria no banco de produção, não há porque pagar o preço da manutenção dos índices nesse banco.

kirchner

em 30 de julho de 2010, 09:07h

Bom dia pessoal.

Ativei a auditoria aqui na empresa, mas agora estou tendo um problema que não esperava.
Configurei para auditar um evento de update em um determinado campo da tabela.
O que ocorre é que quando este campo é alterado, a ferramenta de auditoria não registra os campos chaves deste registro para saber exatamente qual registro foi alterado.
Mesmo deixando a nível de tabela o evento de update, se alterarmos somente o campo determinado, nos relatórios não aparecem os campos chaves do registro.
Pesquisei na apostilas da Progress, verifiquei as tabelas de sistema da auditoria, mas não consegui "achar" onde poderiam ser salvos os campos chaves.
Queria confirmar com vocês se é isso mesmo que ocorre, se no evento de update, somente os campos que são alterados são registrados, sem salvar também o campo chave.

Leandro

em 30 de julho de 2010, 16:21h

Leandro,

Para avaliar melhor esta situação, seriam necessários alguns testes em tabelas e situações. Sugiro que abra um chamado com a empresa que presta lhe presta suporte Progress.

gionei

em 1 de setembro de 2011, 17:06h

Existe meio de auditar os arquivos de logs, afim de depurar possíveis erros gerados nos arquivos *.lg ?

Pedro

em 2 de setembro de 2011, 12:22h

Pedro,

Os arquivos de log do banco são arquivos texto, você pode processá-los com um script ou um programa qualquer.
Eu particularmente acho o PowerShell excelente para isto, mas qualquer um serve.

kirchner

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading


Acesso LogMeIn

Informe o código PIN: