Auditoria Completa
Visão Geral
O recurso Auditoria Completa em App Builder é definido como Ativado por padrão para fontes de dados e tabelas recém-criadas. Auditoria completa é um recurso de auditoria adicionado para complementar o Audit Lite existente. O recurso Full Audit registra alterações de nível empresarial em seus dados e permite que você visualize essas alterações. Quando o Full Audit está habilitado, uma tabela de log de auditoria especial chamada App Builder auditLog é criado na sua fonte de dados. As alterações são capturadas na tabela de log de auditoria para quaisquer tabelas com Auditoria Completa habilitada.
Por padrão, App Builder não limpa ou expurga automaticamente nenhum registro armazenado na tabela Full Audit. Se você estiver procurando alterar esse comportamento, consulte a Configuração de auditoria recurso, que permite que um usuário administrador configure um período de tempo para reter dados, após o qual App Builder deve purgar registros de auditoria além do prazo definido.
Importante
O botão Auditoria para visualizar logs de auditoria só pode ser acessado dos seguintes tipos de painel:
- Formulário (botão Auditoria no quadro do painel)
- Grade (ícone Auditoria próximo aos ícones editar/excluir)
As regras CRUD não capturam atualmente qual era o valor anteriormente na tabela Auditoria. Se a regra CRUD for executada pela camada de negócios, a auditoria a capturará.
App Builder pode gerar um erro ao preencher a Baseline, se encontrar campos em excesso de Nvarchar(700) ou uma coluna binária. Como solução alternativa, você pode remover manualmente os campos em excesso ou binários da Auditoria Completa. Uma versão posterior abordará esse comportamento.
Características
Alterações no Nível de Negócios
A Auditoria Completa captura alterações de nível de negócios para tabelas habilitadas. Ou seja, a Auditoria Completa registrará qualquer evento Inserir, Atualizar ou Excluir que passe pela Camada de Negócios de 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 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 de IU 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, 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 lista, tabelas auditadas contendo chaves estrangeiras tentarão ter seus valores resolvidos. As Regras de Negócios CRUD não têm controles de Lista associados (elas não são executadas pela Camada de IU) e, portanto, essa técnica permite que a Auditoria Completa continue registrando valores de título 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 Title)
A Auditoria Completa reconhecerá a chave estrangeira na tabela Order ao registrar edições no Order.ProductID e incluirá o valor "Name" da coluna Title no log.
Promoção do Meio Ambiente
Habilitar a Auditoria Completa requer que a Fonte de Dados (e aplicativos relacionados) sejam configurados no ambiente de Desenvolvimento e promovidos para cima. Atualmente, App Builder não oferece suporte à configuração de Auditoria acima na cadeia (por exemplo, em QA 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
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 que não tenham log de auditoria anterior serão preenchidos.
App Builder inclui Auditoria Completa
A maioria das tabelas dentro App Builder ter 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 a Auditoria Completa em an App Builder aplicativo
A seção a seguir descreve como configurar o Full Audit. O Full Audit é definido como On por padrão para fontes de dados e tabelas recém-criadas.
Para Habilitar a 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 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 você deseja configurar
- Clique no botão Audit Config
- Faça as alterações necessárias e clique em Salvar
Habilitar Auditoria Completa para uma Tabela
A Auditoria Completa é habilitada em tabelas por padrão 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. App Builder insere um AppBuilder auditRefId
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 o AppBuilder auditRefID
coluna para qualquer tabela que não tenha uma única parte UUID Chave Primária. É uma boa prática também revisar e limpar as regras de migração para evitar a criação e exclusão do AppBuilder auditRefID
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 para 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 têm uma chave primária 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. Esta nova coluna usará o Audit
tipo de uso da coluna.
- Navegue até 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
(esse nome pode ser o que você quiser)
- Tipo:
-
Crie uma nova Regra de Migração para preencher a coluna para seus registros existentes
- Objetivo:
Migration
- Ação:
Update
- Selecione e direcione sua tabela acima
- Use a função MvSQL
NewUUID()
como o valor para sua coluna AuditID
- Objetivo:
-
Execute a Regra de Migração
-
Navegue de volta para os detalhes da coluna e defina o seguinte:
- Permitir Nulos:
False
- Coluna Uso Tipo:
Audit
- Permitir Nulos:
-
Navegue até a tabela e clique em Mais > Caso extremo > Habilitar auditoria completa, Prosseguir. 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 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 Built-In
- 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 Completa 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 oferece suporte ao 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 (então é seguro executar isso várias vezes, se necessário).
- Navegue até Action Drawer > 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