Retencao Backup e Continuidade - ifpebj-ti/controle-acesso-veiculos GitHub Wiki

Retenção, Backup e Continuidade

Estado

Decisões operacionais registradas em 29/09/2026. A direção foi incorporada pelo PR #313, mas a Issue #30 continua aberta até o provisionamento na OCI, a revisão arquivística e o exercício institucional da segunda unidade.

Eurico, do Setor de Transporte, é o responsável funcional pelo processo. A manutenção técnica pertence à equipe designada pelo curso de Engenharia de Software, acompanhada pelos orientadores. O substituto do responsável e a referência arquivística ou de proteção de dados ainda precisam ser designados.

A fonte técnica versionada é composta por:

O que já foi comprovado

  • dump lógico do PostgreSQL em formato custom;
  • senha fora do dump e da linha de comando;
  • manifesto JSON com nome, tamanho, horário UTC e SHA-256;
  • validação do manifesto antes de copiar o dump ao PostgreSQL;
  • restauração integral em banco temporário isolado;
  • conferência das tabelas essenciais;
  • rejeição automatizada de cópia adulterada;
  • limpeza dos recursos temporários;
  • repetição com dados fictícios pelo workflow CI - Database recovery.

Esse ensaio reduz o risco de restaurar uma cópia inválida, mas ainda não é backup de produção. O checksum detecta alteração enquanto o manifesto permanece íntegro; ele não autentica a origem nem protege a confidencialidade.

Retenção operacional

O prazo de cinco anos foi definido pelo responsável pelo processo. Ele é uma decisão operacional, não uma interpretação jurídica. A referência arquivística ou de proteção de dados deve confirmar o enquadramento antes da ativação de descarte automático.

Grupo Prazo operacional Observação
Acessos, usos institucionais, eventos e auditorias cinco anos após o encerramento preserva consulta e apuração operacional
Pessoas, veículos e identidade mínima de contas enquanto ativos ou necessários a registros ainda retidos depois devem ser eliminados ou anonimizados por procedimento aprovado
Logs técnicos 90 dias exceção somente por incidente documentado
Backups de produção janela móvel de 35 dias backup é recuperação, não arquivo histórico
Formulários de contingência reconciliados cinco anos após o fechamento do incidente original físico preservado como evidência da transcrição

Documento pessoal permanece opcional no fluxo geral. Uma obrigação, investigação ou incidente pode suspender o descarte de registros específicos, com motivo, responsável, escopo e data de revisão.

Metas de continuidade

Indicador Meta ou capacidade Estado
RPO-alvo de produção até 1 hora depende de WAL/PITR na Issue #312
RPO técnico atual até 24 horas capacidade intermediária do dump diário
RTO-alvo de produção até 4 horas no período com suporte precisa ser medido no exercício
Contingência imediata no papel exercício previsto para a segunda unidade
Backup lógico diário e monitorado desenho aprovado; agendamento de produção pendente
Restauração trimestral e após mudança material primeira execução real pendente

pg_dump é um backup lógico e não compõe sozinho uma cadeia de recuperação pontual. A Issue #312 tratará backup físico e arquivamento contínuo de WAL para comprovar o RPO de uma hora.

Desenho aprovado para a OCI

A Issue #311 possui agora uma baseline reproduzível na main que define:

  • bucket privado do OCI Object Storage em compartimento dedicado;
  • criptografia com chave gerenciada no OCI Vault;
  • VM autenticada por instance principal, sem chave de usuário no host;
  • MFA e contas humanas individuais;
  • grupos IAM separados para upload, recuperação, custódia de chaves e auditoria;
  • regra imutável de 35 dias, ensaiada antes do bloqueio irreversível;
  • lifecycle para exclusão somente depois da janela protegida;
  • alerta para ausência ou falha do backup esperado;
  • restauração em banco isolado.

Desenvolvedores e orientadores não compartilharão arquivos de chave. Custódia significa autorização controlada pelo IAM e Vault, com revisão de acessos nas trocas de equipe. O Terraform, os testes estáticos e o publicador por instance principal foram incorporados pelo PR #381, mas a OCI ainda não foi provisionada. Portanto, a configuração é implementação revisável no repositório; bucket, Vault, IAM, retenção, alarme e restauração externa ainda não são controles operacionais comprovados.

Contingência e papel

Indisponibilidade confirmada
    ↓
Porteiro ou Vigilante abre incidente e formulário numerado
    ↓
Registra os movimentos mínimos no papel
    ↓
TI e Setor de Transporte são avisados
    ↓
Serviço volta e a saúde é confirmada
    ↓
Uma pessoa digita e outra confere
    ↓
Eurico ou delegado fecha o incidente
    ↓
Papel fica sob acesso restrito por cinco anos

O formulário preserva horário observado, placa, tipo, condutor, objetivo, categoria ou evento e operador. Documento pessoal não é copiado por padrão e a folha não deve ser fotografada nem enviada por aplicativo pessoal.

Os endpoints atuais não podem recriar ocorrências antigas com autoria e horário corretos. A Issue #100 permanece bloqueada até o exercício definir e validar a reconciliação autenticada, idempotente e auditável.

O que ainda falta para encerrar a Issue #30

  • designar substituto de Eurico e referência arquivística/proteção de dados;
  • provisionar e validar a infraestrutura da Issue #311;
  • implementar e comprovar PITR pela Issue #312;
  • definir o canal institucional de acionamento;
  • executar o exercício de recuperação e contingência na segunda unidade;
  • medir RPO/RTO e registrar divergências;
  • implementar a reconciliação segura da Issue #100.