Skip to content

Registo de auditoria

O registo de auditoria responde a uma única pergunta: quem fez isto. Cada mudança feita pelo painel ou pela API — um stream criado, uma entrega retirada, uma configuração de máquina alterada, um administrador acrescentado — deixa nele um lançamento com a hora, o autor e o nome da coisa que mudou. Para lá vão também os logins no painel, os bem-sucedidos e os falhados.

Isto não são logs nem monitoramento. Os logs respondem a «o que aconteceu dentro do processo»; o registo, a «o que uma pessoa fez». Por isso há poucos lançamentos, eles são feitos para serem lidos com os olhos, e o painel não consegue apagá-los.

A Agora é instalada no perímetro do cliente, e das ações dos operadores cuida o serviço de segurança do próprio cliente: o registo é destinado a ele.

Quem vê o registo

A seção Registo de auditoria é vista por dois papéis:

  • security — o papel de supervisão: o registo de auditoria e a própria conta (login, troca da própria senha, saída). As configurações, os streams e o estado observado lhe estão fechados por completo, leitura inclusive.
  • superadmin — como tudo o mais no painel.

Os papéis admin e viewer não têm acesso: a supervisão dos operadores não pertence aos próprios operadores, e a um observador o registo revelaria os logins dos administradores e os endereços de onde eles entram. A proibição é sustentada pelo servidor, não pelo formato do menu: um papel sem acesso é recusado também por link direto.

Os papéis são atribuídos na seção Contas. Para a pessoa que vigia as ações dos operadores cria-se uma conta própria com o papel security, em vez de lhe dar um superadmin.

O console sob o papel security: no menu apenas o registo

O que entra no registo

Deixa lançamento uma mudança que de fato aconteceu e um login no painel:

  • edições de configurações — de um stream, de uma máquina, de um modelo, de uma zona de entrega, do acesso, da própria instalação de controle;
  • trabalho com as máquinas do cluster — registro, revogação, remoção, abertura e fechamento da janela de entrada;
  • trabalho com contas — criação, edição, remoção, troca de senha;
  • trabalho com arquivos e trabalhos de VOD;
  • uma execução manual da alocação;
  • o login de um administrador e uma tentativa de login falhada.

Uma operação em massa deixa um lançamento por objeto afetado, não um por chamada: editar trezentos streams aparece como trezentos lançamentos, e uma busca por nome encontra qualquer um deles.

À parte fica a revelação de um token de acesso vigente: é uma leitura, mas revelar um segredo equivale a entregá-lo, então o lançamento fica. O valor do token nunca entra nele.

O que o registo não carrega

O registo cala sobre o que não é ação de uma pessoa:

  • Tentativas falhadas. Uma recusa por permissões, uma recusa de validação, um conflito de versões de documento: nada disso é uma mudança. Essas tentativas aparecem nos logs e nos contadores. Há uma exceção: o login falhado é sim lançado, porque adivinhar senhas é justamente o que a supervisão persegue.
  • Uma repetição que não muda nada. Salvar um documento idêntico ao já salvo não deixa lançamento.
  • As decisões próprias da máquina. A alocação planejada de streams, as limpezas por retenção, a troca de titular de um mandato pertencem aos logs e ao registo de decisões de alocação, não à auditoria. Uma execução manual da alocação é lançada, sim: uma pessoa a disparou.
  • A visualização. O registo é sobre gestão, não sobre espectadores: quem assistiu ao quê está na seção Sessões.
  • A renovação e o encerramento de sessão. São lançados o login e a tentativa falhada; renovar a sessão e sair, não.

Nos lançamentos nunca há segredos: nem senhas, nem chaves, nem tokens, nem documentos de configuração completos. De uma edição lança-se quais campos mudaram, não o que foi escrito neles.

A lista e as colunas dela

Os lançamentos vão dos novos aos antigos. O botão Mostrar mais traz a página seguinte: a lista não acaba nos primeiros cinquenta lançamentos.

A lista do registo de auditoria

A tabela tem cinco colunas:

  • Hora — o momento da ação.
  • Ator — quem agiu. É ou o login de um administrador, ou um dos tipos de serviço: chave estática (login com as credenciais de emergência de /etc/agora/secrets.env, comuns a todos, por isso sem nome por trás) e nó (o registro de uma máquina do cluster, em que o ator é o identificador dela).
  • Ação — o que foi feito, com um nome de máquina no formato <recurso>.<verbo>: stream_config.put, node_config.patch, admin.create, auth.login. Os nomes são estáveis, e por isso são cômodos para buscar e filtrar.
  • Recurso — sobre o quê: tipo e nome, por exemplo stream/conference-a.
  • Resultado — sucesso em uma ação que aconteceu e recusa em um login falhado.

A seta à esquerda da linha abre os detalhes do lançamento: o endereço de onde veio a requisição, o papel do administrador, a versão do documento após a edição, a lista de campos alterados e — se a requisição chegou com um cabeçalho de rastreamento — o identificador dele, com o qual o lançamento se casa com os logs.

Os detalhes de um lançamento sobre uma edição de configurações

Buscar no registo

Acima da lista há cinco campos, e eles trabalham juntos:

  • Tipo de recurso e Nome do recurso — «tudo o que foi feito com este stream».
  • Ator — «tudo o que esta pessoa fez».
  • De e Até — uma janela de tempo no formato RFC 3339, por exemplo 2026-08-14T14:00:00Z.

O botão Aplicar relê a lista desde o começo. Um campo vazio significa «não filtrar».

O registo filtrado por um único stream

Um incidente costuma ser desmontado em duas consultas: primeiro por recurso — o que aconteceu com este stream —, depois pelo ator do lançamento encontrado — o que mais aquela mesma pessoa fez naquele dia.

Retenção e proteção

O registo vive no mesmo banco de dados que o resto do estado da máquina e sobrevive a um reinício do processo. Ele não cria arquivos em disco.

Os lançamentos apenas se acrescentam: editar ou apagar um lançamento avulso não existe nem no painel nem na API. A retenção — sete dias por padrão — é definida pela configuração de processo audit_log_ttl_secs em /etc/agora/, e pelo painel não se pode mudar. Isso é de propósito: quem quiser esconder a sua ação não deve poder encurtar a retenção com o mesmo acesso com que a cometeu. Um valor zero significa «guardar tudo», não «apagar tudo».

Diante de quem tenha acesso ao próprio banco de dados, o registo não dá proteção nem a promete.

Exportação para SIEM

Para fora o registo é servido de uma única maneira: pela leitura. A Agora não abre arquivos, sockets nem conexões de saída para um coletor.

Um coletor externo lê GET /central/api-v4/audit-log com a mesma autorização de operador do resto da API de gestão, e avança pelo registo com um cursor: na resposta há um campo next, que é passado como parâmetro cursor na requisição seguinte. A ordem é estável — dos novos aos antigos — e cada evento tem um identificador global derivado da identidade da instalação e do número do lançamento. Por isso uma página relida depois de uma queda dá os mesmos identificadores, e o coletor descarta as duplicatas sozinho; os eventos de duas instalações diferentes não se chocam.

Os filtros são os mesmos do painel: resource_type, resource_name, actor, from, to, limit (até 1000 lançamentos por página).

Como arquivo pronto no formato CEF, que um SIEM aceita sem adaptação, o registo é exportado com o botão Exportar para CEF acima da lista e com uma requisição à parte à API — veja Exportação para SIEM (CEF).

O registo e a licença

O registo de auditoria é uma opção de licença à parte. Enquanto ela não é concedida, nada é lançado, e a seção diz isso sem rodeios: a lista fica vazia e acima dela há uma mensagem de que o registo não entra na licença. Uma lista vazia sem explicação seria indistinguível de «não há nada no registo», e uma supervisão quebrada pareceria uma supervisão funcionando.

A opção é lida a cada requisição, então uma vez concedida o registo começa a funcionar sem reinício: as ações novas são lançadas, a lista abre. O que aconteceu enquanto a opção não estava concedida não vai aparecer: esses lançamentos nunca foram criados.