Auditoria Completa no Jitterbit App Builder
Visão Geral
O recurso Auditoria Completa no App Builder está ativado por padrão para fontes de dados e Tabelas recém-criadas. A Auditoria Completa é um recurso de auditoria adicionado para complementar a capacidade existente de Auditoria Lite. A Auditoria Completa registra alterações em nível de negócios nos seus dados e permite que você visualize essas alterações. Quando a Auditoria Completa está habilitada, uma tabela especial de log de auditoria chamada App BuilderAuditLog é criada na sua fonte de dados. As alterações são capturadas na tabela de log de auditoria para quaisquer tabelas com a Auditoria Completa ativada.
Por padrão, o App Builder não limpa ou purga automaticamente nenhum registro armazenado na tabela de Auditoria Completa. Se você deseja alterar esse comportamento, consulte o recurso Configuração de Auditoria, que permite a um usuário Administrador configurar um período de tempo para reter dados, após o qual o App Builder deve purgar registros de auditoria além do período de tempo definido.
Importante
O botão de Auditoria para visualizar logs de auditoria só pode ser acessado a partir dos seguintes tipos de painel:
- Formulário (Botão de Auditoria no quadro do painel)
- Grade (Ícone de Auditoria próximo aos ícones de editar/excluir)
As Regras CRUD atualmente não capturam qual era o valor anteriormente na tabela de Auditoria. Se a Regra CRUD passar pela Camada de Negócios, a Auditoria a capturará.
O App Builder pode gerar um erro ao Popular a Linha de Base, se encontrar campos que excedam Nvarchar(700) ou uma coluna binária. Como solução alternativa, você pode remover manualmente campo(s) em excesso ou binário da Auditoria Completa. Uma versão futura abordará esse comportamento.
Recursos
Alterações em nível de negócios
A Auditoria Completa captura alterações em nível de negócios para tabelas habilitadas. Ou seja, a Auditoria Completa registrará qualquer evento de Inserção, Atualização ou Exclusão que passe pela Camada de Negócios do App Builder. Isso inclui:
- Edições da Camada de Aplicação
- Regras de Negócios CRUD
Modificações que não são suportadas:
- Regras Diretas CRUD
- Migrações
- Manipulação direta do banco de dados
- Procedimentos Armazenados
Resolução de lista
O Full Audit tentará registrar os valores de pesquisa quando uma edição for feita a partir da Camada de UI usando um tipo de controle de Lista. Por exemplo, se tivermos uma página de Pedido que inclui um controle de Lista para selecionar um Produto, tanto os valores das colunas Chave quanto Título (por exemplo, ProductID e ProductName) serão capturados no Log de Auditoria.
Resolução de chave estrangeira
Semelhante à resolução de lista, tabelas auditadas contendo chaves estrangeiras tentarão ter seus valores resolvidos. As Regras de Negócio CRUD não possuem controles de Lista associados (não passam pela Camada de UI), e assim essa técnica permite que o Full Audit continue registrando os valores de título resolvidos. Vamos supor que temos duas tabelas com as seguintes colunas:
Tabela de Pedido
OrderID
ProductID
(chave estrangeira para a tabela de Produto)
Tabela de Produto
ProductID
Name
(uso da coluna Título)
O Full Audit reconhecerá a chave estrangeira na tabela de Pedido ao registrar edições no Order.ProductID e incluirá o valor da coluna Título "Name" no log.
Promoção de ambiente
Habilitar o Full Audit requer que a Fonte de Dados (e aplicativos relacionados) sejam configurados no ambiente de Desenvolvimento e promovidos para cima. Atualmente, o App Builder não suporta a configuração de Auditoria a montante (por exemplo, em QA ou Produção, mas não em Desenvolvimento).
Embora a Tabela de Auditoria em si seja criada em ambientes a montante, nenhum dos dados do Log de Auditoria será transferido.
População de linha de base
O App Builder permite que um designer populasse uma linha de base de todas as tabelas habilitadas para Full Audit no Log de Auditoria. Isso deve ser feito manualmente em cada ambiente. A população da linha de base pode ser executada várias vezes - apenas registros que não possuem log de auditoria anterior serão populados.
O App Builder inclui auditoria completa
A maioria das tabelas dentro do App Builder tem o Full Audit habilitado. Isso permite que os desenvolvedores visualizem logs de auditoria para coisas como páginas, tabelas, colunas, controles, servidores de notificação, etc.
Para configurar auditoria completa em um aplicativo App Builder
A seção a seguir descreve como configurar a Auditoria Completa. A Auditoria Completa é ativada por padrão para fontes de dados e tabelas recém-criadas.
Para habilitar auditoria completa para uma fonte de dados
- Navegue até App Workbench > clique no botão Data Sources
- Selecione a Data Source que você deseja configurar
- Clique no botão Enable Audit
- Clique em Proceed
Para configurar opções de auditoria completa para uma fonte de dados
Para configurar opções de Auditoria Completa para sua Fonte de Dados:
- Navegue até App Workbench > clique no bloco Data Sources
- Selecione a Data Source que você deseja configurar
- Clique no botão Audit Config
- Faça as alterações necessárias e clique em Save
Habilitar auditoria completa para uma tabela
A Auditoria Completa é habilitada nas tabelas por padrão para fontes de dados com ela ativada. Os passos são fornecidos abaixo, se necessário. Após habilitar a Auditoria Completa em uma fonte de dados, todas as tabelas terão a Auditoria Completa ativada por padrão. O App Builder insere uma coluna AppBuilderAuditRefId
em todas as tabelas para acomodar os dados de auditoria.
Se necessário, você pode desabilitar a Auditoria Completa para tabelas individuais que não devem ser auditadas. Para desabilitar a Auditoria Completa em uma tabela, clique manualmente no botão Disable Full Audit no nível da tabela. Além disso, pode ser necessário excluir a coluna AppBuilderAuditRefID
para qualquer tabela que não tenha uma Chave Primária UUID de uma única parte. É uma boa prática também revisar e limpar as regras de migração para evitar a criação e exclusão da coluna AppBuilderAuditRefID
.
Chave primária UUID de uma única parte
Para uma tabela com uma chave primária UUID de uma única parte, habilitar a Auditoria Completa é simples:
- Navegue até App Workbench
- Clique no bloco Tables
- Localize a Tabela na qual você deseja habilitar a Auditoria Completa e clique no ícone de edição de lápis
- No painel da Tabela, clique em More > Edge Case > Enable Full Audit
Se você deseja desativar a Auditoria Completa em uma tabela, siga as direções acima até o Passo 3, clique em Edge Case e, em seguida, clique no botão Desativar Auditoria Completa.
Outras configurações de chave primária
Tabelas que não possuem uma chave primária UUID de uma única parte exigem um pouco mais de trabalho para habilitar a Auditoria Completa. Como a Auditoria Completa requer um UUID exclusivo por registro de tabela, precisaremos adicionar e preencher uma nova coluna. Esta nova coluna usará o tipo de uso da coluna Audit
.
- Navegue até App Workbench
- Localize a tabela na qual deseja habilitar a Auditoria Completa em Tables
- Clique no ícone de edição em forma de lápis da tabela
-
Clique em + Column no painel de Colunas para adicionar uma nova coluna com as seguintes propriedades:
- Type:
UUID
. - Allow Nulls:
True
- Autogenerate:
True
- Name:
AuditID
(este nome pode ser o que você quiser)
- Type:
-
Crie uma nova Migration Rule para preencher a coluna para seus registros existentes
- Purpose:
Migration
- Action:
Update
- Selecione de e direcione para sua tabela acima
- Use a função MvSQL
NewUUID()
como o valor para sua coluna AuditID
- Purpose:
-
Execute a Migration Rule
-
Navegue de volta para os detalhes da coluna e defina o seguinte:
- Allow Nulls:
False
- Tipo de coluna Usage:
Audit
- Allow Nulls:
-
Navegue até a tabela e clique em More > Edge Case > Enable Full Audit, Proceed. O App Builder fornece uma mensagem de sucesso quando a tarefa é concluída.
Habilitar auditoria completa em uma página
Para que os usuários possam ver os logs da Auditoria Completa, o painel da página precisa habilitar o Audit Link:
- Navegue até a página na qual deseja habilitar a exibição da Auditoria Completa
- Vá para Action Drawer > Live Designer
- Selecione o painel do Layout do Painel da Página
- Na região de Edição ao Vivo à direita, clique na aba Built-In
- Marque para habilitar Show Audit
- Retorne à visualização da Aplicação, atualize o navegador da web e confirme que você vê os resultados esperados
Segurança
Para acessar o log da Auditoria Completa, o usuário deve:
-
Pertencer a pelo menos um dos seguintes papéis:
- Construtor de Aplicativos - Papel de Administrador
- Construtor de Aplicativos - Papel de Auditoria
-
Ter acesso de leitura ao Objeto de Dados vinculado no painel da página
- Ter acesso de leitura à própria linha
Populando a linha de base
A Auditoria Completa suporta a população de uma linha de base para todos os registros em tabelas auditadas. Isso irá gravar registros de log de auditoria com Populate
como nome da operação para todos os registros existentes na tabela auditada. Quaisquer logs de auditoria que já existam para um registro não serão duplicados (portanto, é seguro executar isso várias vezes, se necessário).
- Navegue até Painel de Ação > IDE > Configurações Adicionais
- Clique no botão Popular Registros de Auditoria
- Localize sua Fonte de Dados do aplicativo
- Clique no botão Popular Todos na Fonte de Dados ou Popular em tabelas individuais
- Clique em Prosseguir, isso iniciará uma tarefa em segundo plano que será executada