Pular para o conteúdo

Implementação de Auditoria de Acesso com DBMS_FGA no Oracle

Implementação de Auditoria de Acesso a Grão Fino com DBMS_FGA no Oracle

A segurança dos dados é uma preocupação fundamental em ambientes de banco de dados, e a capacidade de auditar o acesso aos dados é uma parte crucial desse processo. No Oracle Database 19c, a implementação da Auditoria de Acesso a Grão Fino (Fine-Grained Auditing – FGA) é facilitada pelo pacote PL/SQL DBMS_FGA. Este artigo explorará os conceitos fundamentais do DBMS_FGA, discutirá sua implementação prática e fornecerá exemplos detalhados.

Introdução ao DBMS_FGA

O DBMS_FGA é um pacote PL/SQL que faz parte do Oracle Database. Ele oferece uma maneira flexível e eficaz de auditar o acesso a dados específicos dentro de uma tabela ou exibição. A Auditoria de Acesso a Grão Fino permite que os administradores do banco de dados capturem informações detalhadas sobre quem acessa determinados dados, quando o acesso ocorre e que tipo de operação está sendo realizada.

Principais Componentes do DBMS_FGA

O DBMS_FGA consiste em vários procedimentos e funções, mas alguns dos componentes mais essenciais incluem:

  • ADD_POLICY: Este procedimento é usado para adicionar uma política de auditoria a uma tabela ou exibição. Uma política define as condições que acionam a auditoria, como as colunas a serem auditadas, as condições para a auditoria e as ações a serem executadas quando a auditoria é acionada.
  • DROP_POLICY: Permite a remoção de uma política de auditoria de uma tabela ou exibição.
  • GENERATE_AUDIT_SQL: Esta função gera declarações SQL para uma política de auditoria específica, o que pode ser útil para revisar ou depurar as políticas existentes.

Exemplo Prático de Implementação do DBMS_FGA

Vamos considerar um cenário em que desejamos auditar acessos à tabela de funcionários (employees) sempre que alguém consultar informações salariais (salary) para os funcionários do departamento de Vendas (department_id = 30).

Adicionando uma Política de Auditoria:
BEGIN
  DBMS_FGA.ADD_POLICY(
    object_schema   => 'HR',
    object_name     => 'EMPLOYEES',
    policy_name     => 'Salary_Audit_Policy',
    audit_condition => 'department_id = 30',
    audit_column    => 'SALARY'
  );
END;
/

Resultado: A política Salary_Audit_Policy é adicionada à tabela employees, esquema HR, com a condição de auditoria definida para operações de leitura (SELECT) na coluna SALARY quando department_id = 30.

Consultando as Informações de Auditoria:
SELECT * FROM DBA_FGA_AUDIT_TRAIL WHERE policy_name = 'Salary_Audit_Policy';

Resultado: Esta consulta recupera as informações de auditoria registradas pela política Salary_Audit_Policy.

Removendo uma Política de Auditoria:
BEGIN
  DBMS_FGA.DROP_POLICY(
    object_schema => 'HR',
    object_name   => 'EMPLOYEES',
    policy_name   => 'Salary_Audit_Policy'
  );
END;
/

Resultado: A política de auditoria Salary_Audit_Policy é removida da tabela employees, esquema HR.

Conclusão

A Auditoria de Acesso a Grão Fino com o DBMS_FGA oferece uma maneira poderosa de auditar o acesso a dados específicos no Oracle Database 19c. Este artigo forneceu uma visão geral dos conceitos fundamentais e apresentou um exemplo prático de implementação. Ao incorporar políticas de auditoria em seu banco de dados, os administradores podem fortalecer a segurança dos dados e garantir a conformidade com regulamentos e políticas organizacionais.

Abs

Referências

Giovano Silva

Giovano Silva

Giovano Silva é um profissional com mais de 10 anos de experiência em tecnologias Oracle, com ênfase em PL/SQL. Ele adora escrever sobre soluções para problemas comuns enfrentados por profissionais Oracle em seu dia a dia. Seu objetivo é compartilhar conhecimento, simplificar conceitos complexos e ajudar a comunidade Oracle a crescer coletivamente.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress