Auditoria completa no Jitterbit App Builder
Visão geral
O recurso Auditoria Completa no App Builder está habilitado por padrão para fontes de dados e tabelas recém-criadas. A Auditoria Completa é um recurso de auditoria adicionado para complementar o Auditoria Lite existente. A Auditoria Completa registra alterações em nível empresarial nos seus dados e permite que você visualize essas alterações. Quando a Auditoria Completa está habilitada, uma tabela de log de auditoria especial chamada App BuilderAuditLog é criada na sua fonte de dados. As alterações são capturadas na tabela de log de auditoria para todas as tabelas com a Auditoria Completa habilitada.
Por padrão, o App Builder não limpa ou expurga automaticamente nenhum registro armazenado na tabela de Auditoria Completa. Se você deseja alterar esse comportamento, consulte a Configuração de Auditoria, que permite que um usuário administrador configure um período de retenção de dados, após o qual o App Builder deve limpar registros de auditoria além do período definido.
Importante
O botão Auditoria para visualizar logs de auditoria só pode ser acessado nos seguintes tipos de painel:
- Formulário (Botão de auditoria no quadro do painel)
- Grade (ícone de auditoria próximo aos ícones de edição/exclusão)
As Regras CRUD não capturam atualmente o valor anterior na tabela de Auditoria. Se a Regra CRUD for executada na Camada de Negócios, a Auditoria a capturará.
O App Builder pode gerar um erro ao preencher a linha de base se encontrar campos com mais de Nvarchar(700) ou uma coluna binária. Como solução alternativa, você pode remover manualmente os campos com mais de Nvarchar(700) ou binários da Auditoria Completa. Uma versão posterior corrigirá esse comportamento.
Características
Mudanças no nível de negócios
A Auditoria Completa captura alterações no nível de negócios para tabelas habilitadas. Ou seja, a Auditoria Completa registra 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 CRUD Direct
- Migrações
- Manipulação direta de banco de dados
- Procedimentos armazenados
Resolução de lista
A Auditoria Completa tentará registrar valores de pesquisa quando uma edição for feita na Camada da Interface do Usuário usando um controle do tipo Lista. Por exemplo, se tivermos uma página de Pedido que inclui um controle Lista para selecionar um Produto, os valores das colunas Chave e Título (por exemplo, ProductID e ProductName) serão capturados no Log de Auditoria.
Resolução de chave estrangeira
Semelhante à resolução de listas, tabelas auditadas contendo chaves estrangeiras tentarão ter seus valores resolvidos. As Regras de Negócios CRUD não possuem controles de Lista associados (elas não passam pela Camada de Interface do Usuário) e, portanto, essa técnica permite que a Auditoria Completa continue registrando os valores de títulos resolvidos. Vamos supor que temos duas tabelas com as seguintes colunas:
Tabela de pedidos
OrderID
ProductID
(chave estrangeira para a tabela Product)
Tabela de produtos
ProductID
Name
(Uso da coluna Título)
A Auditoria Completa reconhecerá a chave estrangeira na tabela Pedido ao registrar edições em Order.ProductID e incluirá o valor "Nome" da coluna Título no log.
Promoção do meio ambiente
Para habilitar a Auditoria Completa, é necessário que a Fonte de Dados (e os aplicativos relacionados) sejam configurados no ambiente de Desenvolvimento e promovidos para níveis superiores. Atualmente, o App Builder não oferece suporte à configuração da Auditoria acima na cadeia (por exemplo, em Controle de Qualidade ou Produção, mas não em Desenvolvimento).
Embora a própria Tabela de Auditoria seja criada em ambientes acima na cadeia, nenhum dado do Log de Auditoria será transferido.
População basal
O App Builder permite que um designer preencha uma linha de base de todas as tabelas habilitadas para Auditoria Completa no Log de Auditoria. Isso deve ser feito manualmente em cada ambiente. O preenchimento da linha de base pode ser executado várias vezes — somente registros sem log de auditoria anterior serão preenchidos.
O App Builder inclui auditoria completa
A maioria das tabelas do App Builder tem a Auditoria Completa habilitada. Isso permite que os desenvolvedores visualizem logs de auditoria para itens como páginas, tabelas, colunas, controles, servidores de notificação, etc.
Para configurar a auditoria completa em um aplicativo App Builder
A seção a seguir descreve como configurar a Auditoria Completa. A Auditoria Completa é definida como Ativada por padrão para fontes de dados e tabelas recém-criadas.
Para habilitar a auditoria completa de uma fonte de dados
- Navegue até o App Workbench > clique no botão Fontes de Dados
- Selecione a Fonte de Dados que deseja configurar
- Clique no botão Ativar Auditoria
- Clique em Avançar
Para configurar opções de auditoria completas para uma fonte de dados
Para configurar opções de Auditoria Completa para sua Fonte de Dados:
- Navegue até App Workbench > clique no ficha Fontes de dados
- Selecione a Fonte de Dados que deseja configurar
- Clique no botão Configuração de auditoria
- Faça as alterações necessárias e clique em Salvar
Habilitar auditoria completa para uma tabela
A Auditoria Completa é habilitada por padrão nas tabelas para fontes de dados com ela habilitada. As etapas são fornecidas abaixo, se necessário. Após habilitar a Auditoria Completa em uma fonte de dados, todas as tabelas terão a Auditoria Completa habilitada por padrão. O App Builder insere um AppBuilderAuditRefId
coluna para 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 Desabilitar Auditoria Completa no nível da tabela. Além disso, pode ser necessário excluir a AppBuilderAuditRefID
coluna para qualquer tabela que não tenha uma única parte da Chave Primária UUID. É uma boa prática também revisar e limpar as regras de migração para evitar a criação e exclusão da AppBuilderAuditRefID
coluna.
Chave primária UUID de parte única
Para uma tabela com uma única chave primária UUID, habilitar a Auditoria Completa é simples:
- Navegue até App Workbench
- Clique no ficha Tabelas
- Localize a tabela na qual deseja habilitar a auditoria completa e clique no ícone de edição de lápis
- No painel Tabela, clique em Mais > Caso Extremo > Habilitar Auditoria Completa
Se você quiser desabilitar a Auditoria Completa em uma tabela, siga as instruções acima até a Etapa 3, clique em Caso Extremo e depois clique no botão Desabilitar Auditoria Completa.
Outras configurações de chave primária
Tabelas que não possuem uma chave primária de UUID de parte única 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. Essa nova coluna usará o Audit
Tipo de uso da coluna.
- Navegue até o App Workbench
- Localize a tabela na qual deseja habilitar a Auditoria Completa em Tabelas
- Clique no ícone de edição de lápis da tabela
-
Clique em + Coluna no painel Colunas para adicionar uma nova coluna com as seguintes propriedades:
- Tipo:
UUID
. - Permitir Nulos:
True
- Geração automática:
True
- Nome:
AuditID
(este nome pode ser o que você quiser)
- Tipo:
-
Crie uma nova Regra de Migração para preencher a coluna com seus registros existentes
- Objetivo:
Migration
- Ação:
Update
- Selecione e direcione a tabela acima
- Use a função MvSQL
NewUUID()
como o valor da sua coluna AuditID
- Objetivo:
-
Execute a Regra de Migração
-
Navegue de volta aos detalhes da coluna e defina o seguinte:
- Permitir Nulos:
False
- Tipo de Coluna Uso:
Audit
- Permitir Nulos:
-
Navegue até a tabela e clique em Mais > Caso Extremo > Habilitar Auditoria Completa, Prosseguir. O App Builder exibe 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 de auditoria completos, o painel de páginas precisa habilitar o Link de auditoria:
- Navegue até a página na qual deseja habilitar a exibição de auditoria completa
- Vá para Gaveta de Ações > Live Designer
- Selecione o painel em Layout do Painel de Página
- Na região Live Edit à direita, clique na aba Integrado
- Marque para habilitar Mostrar auditoria
- Retorne à visualização do aplicativo, atualize o navegador da web e confirme se você vê os resultados esperados
Segurança
Para acessar o log de auditoria completo, o usuário deve:
-
Pertencer a pelo menos uma das seguintes funções:
- App Builder - papel de administradores
- App Builder - papel de auditoria
-
Ter acesso de leitura ao Objeto de Dados vinculado no painel de páginas
- Ter acesso de leitura à própria linha
Preenchendo a linha de base
A Auditoria Completa permite o preenchimento de uma linha de base para todos os registros em tabelas auditadas. Isso gravará registros de log de auditoria com Populate
como um nome de 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é Gaveta de Ações > IDE > Configurações Adicionais
- Clique no botão Preencher registros de auditoria
- Localize a fonte de dados do seu aplicativo
- Clique no botão Preencher tudo na fonte de dados ou Preencher em tabelas individuais
- Clique em Continuar, isso iniciará uma tarefa em segundo plano que será executada