Pular para o conteúdo principal

Isolamento entre organizações

Cada cliente do COBRES é uma organização. Os clientes compartilham a implantação da plataforma e o banco, com isolamento lógico reforçado no PostgreSQL. A documentação de uma organização não deve ser interpretada como uma instalação privada por empresa.

Camadas de isolamento​

A autenticação identifica a pessoa, sessão ou chave. O contexto da transação define a organização válida. RLS limita as linhas acessíveis. A autorização de aplicação verifica as permissões e os módulos acrescentam os escopos de negócio.

Não basta enviar um organization_id no corpo para escolher outra organização. No fluxo de equipe, a organização vem da sessão ou da chave. No Audience, o código da organização aparece no caminho e precisa corresponder a um relationship ativo do usuário.

Escopos dentro da organização​

No COBRES, memberships podem ter escopo de empresas e função de cobrança. Carteiras, atribuições e responsabilidades delimitam os registros operacionais. A existência de uma dívida no banco não significa que todo membro da organização pode consultá-la.

Um recurso ausente e um recurso fora do escopo frequentemente respondem com o mesmo 404 not_found. Esse comportamento evita usar a API para descobrir cadastros de outros clientes ou equipes.

Público externo​

O portal usa um pool e uma role de banco separados. Essa role não lê livremente as tabelas da equipe. O produto expõe projeções de leitura e comandos vinculados ao relationship, como as visões do portal do credor.

Um EndUser não se transforma em membro da equipe por estar vinculado à mesma organização. Os tokens e as portas HTTP são separados.

Administração da plataforma​

A equipe da plataforma opera no console com permissões próprias. Definir uma organização de contexto não concede automaticamente as permissões do backoffice daquela organização. Acesso administrativo e acesso operacional têm contratos distintos.

Práticas para integrações​

Use uma chave por consumidor e organização, conceda o menor conjunto de permissões necessário e teste leituras fora do escopo. Não copie dados de produção para demonstrações nem use uma chave de um cliente como acesso central para vários clientes.

Veja permissões, arquitetura e fronteira SQL.