Files
Investidor-V2/docs/implementation/adr/ADR-007-rls.md
T
nala 4f35313d06
tests / ci (push) Canceled after 0s
novas funcionalidades dos formulario
2026-10-02 11:13:37 +02:00

14 lines
1.4 KiB
Markdown

# ADR-007 — RLS e autorização SQL
- Estado: Aceite como gate de segurança; activação por tabela bloqueada até matriz de papéis e contexto aprovada.
- Data: 2026-10-01
- Contexto: baseline não encontrou `ENABLE/FORCE ROW LEVEL SECURITY` ou `CREATE POLICY`; permissões SQL e bypass não foram auditados. Decisões anteriores proíbem inventar roles/tenants.
## Decisão
Preservar Policies/Gates da aplicação como autorização obrigatória e não declarar RLS activo. Antes de expor dados protegidos a mais de um actor, aprovar matriz de papéis, fronteiras de isolamento/tenant, contas de runtime/migration e comportamento para jobs. Depois, aplicar RLS em tabelas e operações explicitamente mapeadas, usando papel runtime sem propriedade/`BYPASSRLS`, políticas `USING`/`WITH CHECK`, e `FORCE ROW LEVEL SECURITY` quando compatível com operações técnicas. Contexto por pedido deve ser transaccional e limpo ao devolver conexão ao pool. Garantir testes permitidos e negados, inclusive acesso SQL directo e papel privilegiado conforme ameaça.
## Alternativas e consequências
RLS genérico com tenant inventado é rejeitado; RLS desligado como se fosse controlo é igualmente rejeitado. Até a matriz e auditoria serem aprovadas, a cobertura permanece bloqueada e a aplicação não deve alegar isolamento na camada SQL. Sem alteração funcional nesta Etapa 1.