EnfaseCloud.ScanEnfaseCloud.WebApiEnfaseCloud.LibraryEnfaseCloud.IDP
Draft
Objetivo
Explicitar requisitos nao funcionais da plataforma MCGI/EnfaseCloud, incluindo os pontos numericos da especificação funcional.
Baseline de produção aprovado
EnfaseCloud.WebApp: Azure App Service.
EnfaseCloud.WebApi: Azure App Service.
- GED: Azure SQL, um banco por tenant.
EnfaseCloud.IDP: Azure App Service.
- Identidade: Azure SQL exclusivo do IDP.
- Documentos: Azure Storage Account, com pasta/prefixo por tenant.
- Processamento assíncrono: WebApi/App Service e jobs internos, sem fila externa no baseline.
Alternativas como PostgreSQL, Object Storage S3, RabbitMQ/Kafka e Kubernetes nao sao baseline. Elas so devem entrar por ADR futura, com plano de migração e justificativa operacional.
Segurança
| ID |
Requisito |
Criterio |
| RNF-001 |
Criptografia em repouso |
AES-256 ou controle equivalente aprovado para storage, banco e fila local |
| RNF-002 |
Criptografia em transito |
TLS 1.2+ para WebApi, Vue, IDP e integrações externas |
| RNF-003 |
Proteção de tokens |
Tokens locais protegidos por mecanismo do sistema operacional |
| RNF-004 |
Segregação multi-tenant |
Tenant resolvido antes de leitura, escrita, auditoria ou storage |
| ID |
Requisito |
Criterio |
| RNF-005 |
Indexação documental |
Resposta de indexação interativa em ate 2 segundos quando nao depender de OCR assíncrono |
| RNF-006 |
Upload chunked |
Retomada sem reenviar chunks ja confirmados |
| RNF-007 |
Consulta documental |
Filtros usuais devem responder dentro do SLO definido por tenant |
Disponibilidade e continuidade
| ID |
Requisito |
Criterio |
| RNF-008 |
SLA minimo |
99,5% para servicos cloud, salvo janela planejada |
| RNF-009 |
Backup |
Retenção minima de 30 dias para dados criticos |
| RNF-010 |
Restauração |
RTO/RPO devem ser definidos por ambiente e tenant |
Auditoria e compliance
| ID |
Requisito |
Criterio |
| RNF-011 |
Retenção de logs |
Minimo de 5 anos ou prazo maior por politica/cliente |
| RNF-012 |
Imutabilidade de logs |
Hash-chain e/ou storage imutavel/off-host para eventos sensiveis |
| RNF-013 |
PDF/A |
PDF/A obrigatorio para digitalização operacional |
| RNF-014 |
Decreto 10.278 |
Integridade, autenticidade, rastreabilidade, metadados e confidencialidade verificaveis |
Acessibilidade
| ID |
Requisito |
Criterio |
| RNF-015 |
WCAG |
Vue deve buscar conformidade WCAG 2.1 AA nas telas operacionais novas |
| RNF-016 |
Operação por teclado |
Fluxos principais de cadastro, indexação e QC devem ser operaveis por teclado |
Observabilidade
| ID |
Requisito |
Criterio |
| RNF-017 |
Metricas |
Upload, OCR, PDF/A, assinatura, filas e preservação devem expor metricas |
| RNF-018 |
Alertas |
Falhas de hash, PDF/A, assinatura, backup e fixidez devem gerar alerta |
| RNF-019 |
Tracing |
Operações distribuidas devem propagar correlation/trace id |
Pendencias nao funcionais ainda abertas
A arquitetura de produção foi fechada em Azure App Service, Azure SQL e Azure Storage Account com pasta/prefixo por tenant. Permanecem pendentes somente criterios mensuraveis e detalhes operacionais:
- busca: SQL full-text, Elasticsearch ou OpenSearch;
- observabilidade detalhada: Azure Monitor, Log Analytics e/ou outra composição aprovada;
- SLOs por ambiente e tenant;
- RTO/RPO;
- politica de backup;
- politica de retenção;
- limites operacionais de lote, OCR e validação PDF/A.
Aceite
- Cada RNF possui criterio mensuravel.
- Baseline de produção usa Azure App Service, Azure SQL, Azure Storage Account com pasta/prefixo por tenant e jobs internos.
- Testes de aceite cobrem segurança, performance, disponibilidade, auditoria e acessibilidade.