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:
- plano completo;
- ADR 0002 — retenção e backup protegido na OCI;
- formulário de contingência;
- procedimento local de backup e restauração;
- baseline Terraform e publicador do backup protegido.
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.