Skip to content

Publicação e Segurança

A Publicação é o processo de implantar e disponibilizar uma versão de fluxo para execução em um determinado Ambiente. Durante essa etapa, o Console vincula a versão ao ambiente de destino, aplica os escopos de origem permitidos e configura as políticas de Segurança (API Keys e regras CORS) que protegerão o endpoint em tempo de execução.


Uma versão nos estados DESENVOLVIMENTO ou PRONTO pode ser publicada em um ou mais ambientes configurados na plataforma (ex: Dev, Homolog, Prod).

Ciclo de publicação
┌──────────────────┐ Operação de Publicação ┌──────────────────┐
│ Versão (Fluxo) │ ─────────────────────────────────────────────────► │ Ambiente Alvo │
└──────────────────┘ └────────┬─────────┘
│ Notificação
│ de Cache
┌──────────────────┐
│ Engine (Cache) │
└──────────────────┘

A publicação cria uma relação explícita entre a versão do fluxo e o ambiente (EntidadePublicacao). Esse vínculo registra quem realizou a publicação, o horário do deploy e o status da publicação no ambiente.

Ao publicar, atualizar escopos ou despublicar uma versão, o Console executa uma chamada de alta performance via API interna para notificar a Engine do ambiente correspondente.

  • Atualização Implícita: A Engine invalida a versão antiga em seu cache de gestão e carrega imediatamente o novo modelo visual, adaptadores e regras de segurança.

  • Sem Downtime: A atualização de cache ocorre em memória de forma não-bloqueante, permitindo atualizar fluxos sem reiniciar serviços ou derrubar conexões ativas.


Durante a publicação, o desenvolvedor seleciona os Escopos de Origem autorizados a acionar o fluxo naquele ambiente. Cada escopo libera uma rota específica na Engine:

PUBLICO

Libera o endpoint público REST resolvido via slugs (/public/{slugProjeto}/{slugPacote}/{slugFluxo}). É destinado a integrações vindas de clientes externos e aplicações de terceiros via internet.

INTERNO

Libera a rota interna resolvida via código único do fluxo (/internal/{coFluxo}). Restringe a chamada apenas a subfluxos (autorreferência) ou microsserviços confiáveis rodando dentro da mesma rede privada.

AGENDADOR

Libera a rota de execução para o componente Agendador (/scheduler/{coFluxo}). Permite que o agendador de tarefas temporais programadas dispare o fluxo em background nos horários CRON configurados.


Para proteger os endpoints publicados (especialmente no escopo PUBLICO), o Console permite configurar regras de segurança isoladas por Versão + Ambiente.

Pipeline de validação de segurança
Requisição HTTP ──► [ Validação CORS (web_origin) ] ──► [ Validação API Key (SHA-256) ] ──► Execução da Engine

1. Gerenciamento de Chaves de API (API Keys)

Section titled “1. Gerenciamento de Chaves de API (API Keys)”

As API Keys fornecem autenticação simplificada baseada em cabeçalho HTTP (Api-Key).

  • Geração Criptográfica: O Console gera chaves no formato prefixo_sufixoAleatorio. A chave bruta é exibida ao desenvolvedor apenas no momento da criação.
  • Armazenamento Seguro: No banco de dados, o Console armazena apenas o hash SHA-256 da chave de API.

  • Controle de Acesso: O Console permite alternar o status das chaves (ativa/inativa), renovar o hash ou definir uma data de expiração. Em tempo de execução, a Engine valida o hash SHA-256 da chave recebida contra o índice de chaves válidas antes de autorizar a sessão.

As regras de CORS protegem as chamadas públicas vindas de navegadores web.

  • Permissão por Domínio: O desenvolvedor cadastra a lista de origens permitidas (web_origin, ex: [https://meusite.com.br](https://meusite.com.br)).

  • Wildcard: Suporta a configuração de asterisco (*) para liberar chamadas de qualquer origem (recomendado apenas para ambientes de testes).

  • Validação na Engine: Na entrada da requisição, a Engine inspeciona o cabeçalho Origin contra as regras do ambiente publicado. Se a origem não estiver cadastrada, a requisição é rejeitada antes de iniciar a sessão.

Ao despublicar uma versão de um ambiente:

  1. O registro de publicação é removido no Console (EntidadePublicacao).

  2. O Console notifica a Engine do ambiente para purge/remoção da versão do cache de gestão.

  3. Requisições subsequentes para aquela versão/slug naquele ambiente passam a retornar HTTP 404 Not Found.