Artigo
· Nov. 30, 2021 3min de leitura

Aproveitando o banco de dados de auditoria

A InterSystems IRIS possui um ótimo sistema de auditoria. Ele é responsável por auditar eventos do sistema, mas você pode usá-lo para auditar seus aplicativos (ótimo recurso).

O sistema de auditoria é baseado no conceito de evento. Os eventos podem ocorrer com o IRIS ou em um aplicativo. Portanto, temos dois tipos de eventos para o sistema de auditoria:

1. Eventos do sistema: eventos ocorridos nos componentes IRIS da InterSystems (banco de dados, interoperabilidade, análise e core);

2. Eventos de usuário: evento ocorrido em aplicativos de usuário / empresa (seus), com os tipos de eventos de usuário criados (mapeados) por você no Portal de gerenciamento> Sistema> Gerenciamento de segurança> Eventos de usuário.

Para ver os eventos registrados pelos componentes do IRIS, vá para System Administration > Security > Auditing > Configure System Events. Os eventos do sistema começam com o caractere % + módulo IRIS (por exemplo,% Ensemble /% Production / StartStop,% System /% Login / Login). Se você clicar em Alterar status, poderá ativar ou desativar o tipo de evento do sistema.

Para ver o evento registrado por aplicativos de negócios (seus aplicativos), vá para System Administration > Security > Configure User Events. Você precisa modelar/registrar os tipos de eventos de seu aplicativo. O caractere % no início do nome da auditoria é reservado para os eventos de auditoria do sistema.

Todos os registros de auditoria são armazenados na tabela Security.Events Persitent Class / SQL. O nome do evento de auditoria possui 3 campos:

1. Fonte: fonte do evento (nome do aplicativo ou módulo);

2. Tipo: tipo de evento (tipo de dado ou tipo de característica);

3. Evento: nome do evento (nome da empresa, meio / descrição do evento).

Para consultar ou ver um relatório com registros de auditoria, vá para System Administration > Security > Auditing > View Audit Database. Veja:

No artigo, vou mostrar a você como fazer eventos de auditoria de usuário dentro do seu aplicativo, usando um aplicativo REST como exemplo. O aplicativo de amostra para ver os eventos de auditoria do usuário é: https://openexchange.intersystems.com/package/Audit-Mediator.

Siga estas etapas para o aplicativo de auditoria de amostra:

1. Clone o projeto

$ git clone git@github.com: yurimarx/iris-api-audit-mediator.git

2. Construa e faça o build o código-fonte do projeto

$ docker-compose up -d --build

3. Vá para Administration > Security > Auditing >  Configure User Events
4. Pressione o botão Create New Event
5. Defina o Event Source: RESTAPI
6. Defina o Event Type: solicitação
7. Defina o Event Name: RESTAPI
8. Pressione Save
9. Preencha seu aplicativo Person com dados, chame o endpoint http://localhost:52773/crud/persons/populate
10. Agora, ligue para http://localhost:52773/crud/persons/all ou qualquer outro endpoint
11. Esta solicitação será registrada no banco de dados de auditoria
12. Agora vá para System Administration > Security > Auditing >  View Audit Database
13. Procure as linhas com Event Source RESTAPI e Event Type Request e clique em Detail para ver os detalhes do registro de auditoria. Ver:

14. Clique em Details e veja:

O código fonte responsável por registrar a auditoria é:

  SET tSC = $$$OK
 
  TRY {
   
    Set tSC = $SYSTEM.Security.Audit("RESTAPI","Request", "RESTAPI","URL: "_pUrl_". Method: "_pMethod_".","REST API request")
     
  } CATCH ex {
    SET tSC = ex.AsStatus()
  }

Então, é muito fácil auditar, você deve usar a classe de método $SYSTEM.Security.Audit(). Veja mais detalhes em: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AAUDIT.

Discussão (0)1
Entre ou crie uma conta para continuar