Skip to main content
O Lerian SPB é a integração de mensageria nativa da Lerian para o STR (Sistema de Transferência de Reservas), o sistema de liquidação bruta em tempo real do BACEN, acessado pela RSFN. Defina essas variáveis no momento do deploy. Uma mudança apenas tem efeito depois que você reinicia o serviço. A maioria das variáveis é específica deste trilho. Para os parâmetros que se comportam da mesma forma em todo serviço Go da Lerian (postura de deploy, armazenamento de dados e telemetria), veja Fundamentos de configuração do BYOC. Nas tabelas abaixo, Obrigatório marca uma variável que você deve definir, de forma global ou na condição indicada. Um qualificador como Em produção ou Se habilitado restringe quando a exigência se aplica. — significa que não há padrão.
ENV_NAME ativa os portões de segurança mais rígidos. Defina-o como production ou staging e o serviço passa a exigir TLS no Redis e na conexão STR, e verify-full no PostgreSQL. Ele também exige custódia baseada em hardware para a chave privada SFN, e rejeita superfícies exclusivas de desenvolvimento. ENV_NAME não tem padrão. Defina-o explicitamente. O serviço se recusa a iniciar quando ENV_NAME não está definido ou contém um valor não reconhecido.

Runtime e servidor

Autenticação

O Lerian SPB delega a autorização, incluindo a API administrativa do systemplane, ao Access Manager. Veja Fundamentos de configuração do BYOC.

Declaração de permissões

O Lerian SPB pode publicar seu próprio conjunto de permissões no Access Manager na inicialização. IDP_DECLARATION_ENABLED=true ativa isso, e qualquer valor diferente de true ou false impede o serviço de iniciar. Com a publicação ativa, uma variável ausente abaixo recusa iniciar. Com a declaração ativa, PLUGIN_AUTH_ENABLED deve ser true e PLUGIN_AUTH_ADDRESS deve estar definido, porque o serviço os usa para obter o token que a publicação usa.

Licença

O Lerian SPB precisa de uma licença em todo ambiente, inclusive no de desenvolvimento. Ele não inicia sem LICENSE_FILE_PATH ou LICENSE_KEY. A licença é global: o Lerian SPB não lê nenhum identificador de organização. Para o host que a verificação da chave consulta, veja License Manager. A licença protege toda rota sob /v1/str. Uma licença recusada responde 403 com um código LCS-, como a lista de erros descreve.

PostgreSQL

Réplica do PostgreSQL

Réplica de leitura opcional. Todos os campos usam o primário como padrão quando não definidos.

Redis

Conectividade STR (RSFN)

O Lerian SPB troca mensagens STR com o BACEN pela RSFN usando um transporte IBM MQ. Essas variáveis definem a identidade do participante, a conexão com o queue manager e as filas. Os três nomes de fila derivam de STR_ISPB. Produção e staging recusam um nome de fila diferente do nome derivado. O serviço inicia quando não consegue alcançar o queue manager e se conecta quando o queue manager volta. Qualquer outra falha de conexão impede a inicialização. Um exemplo é um queue manager que recusa o nome do queue manager, o canal, as credenciais, as configurações de TLS ou os nomes das filas.

Circuit breaker

Protege o transporte STR contra falhas no queue manager.

Assinatura de mensagens e certificados

O certificado SFN em PROCESS_CERT_PATH é a identidade do Lerian SPB na RSFN. A chave privada dele assina toda mensagem STR de saída e descriptografa as mensagens de entrada que o BACEN criptografa para esse certificado. Em um HSM, permita assinatura e descriptografia nessa chave. SPB_SIGNER_KIND define onde a chave fica. Produção e staging rejeitam a custódia file e exigem pkcs11 ou kmip.

Custódia PKCS#11

Obrigatório quando SPB_SIGNER_KIND=pkcs11.

Custódia KMIP

Obrigatório quando SPB_SIGNER_KIND=kmip (KMIP sobre HTTP para um HSM de rede).

Eventos e outbox

O Lerian SPB registra toda mensagem antes do envio e publica eventos de ciclo de vida para o broker de streaming por meio de um outbox transacional. O streaming não tem modo desabilitado. Defina as configurações compartilhadas STREAMING_* conforme descrito em Streaming e outbox. O serviço se recusa a iniciar quando STREAMING_EVENT_POLICIES desliga um evento do SPB que não seja str.message.submitted, str.approval.signed, str.approval.quorumReached, str.reconciliation.opened, str.reconciliation.resolved, str.certificate.rotated ou str.certificate.expiring.

Aprovação (maker-checker)

Aprovação opcional por faixa de valor que controla a emissão STR. Desativada por padrão. As faixas e as regras por tipo que um operador armazena pela API de governança têm precedência sobre APPROVAL_ALCADA_BANDS.

Rate limiting e idempotência

Systemplane e configuração de runtime

O Lerian SPB monta a API administrativa de configuração de runtime do systemplane em /v1/system na porta principal. O PostgreSQL dá suporte a esse plano, para que os operadores possam ler e alterar configurações com hot reload sem reiniciar o serviço. Veja Systemplane para a API, os namespaces e as permissões. As origens CORS, os quatro valores de rate limit e os dois valores de envio do outbox aceitam hot reload. Para essas configurações, a variável define o valor inicial, e um valor armazenado no Systemplane tem precedência.

Criptografia e segredos

Nunca faça commit nem registre em log os valores de nenhuma variável marcada como Sensível (senhas, tokens, PINs e chaves AES). Injete-os no momento do deploy por meio do seu gerenciador de segredos.

Observabilidade

Apenas desenvolvimento

Mantenha essas variáveis não definidas fora do desenvolvimento local. Elas ampliam a superfície de ataque, e produção ou staging as rejeita ou as força a desativar.

Health e readiness

O Lerian SPB expõe GET /health (liveness) e GET /readyz (readiness) na porta HTTP principal. Veja Health and readiness para o contrato de probes. A resposta de /readyz inclui uma verificação license. Com LICENSE_KEY, a verificação não faz nenhuma chamada e aparece como no ar. Uma licença que deixa de ser válida após a inicialização não leva /readyz a 503. As verificações certificates, bacen-public-certificate, ibm-mq e ldl-advisory-consumer reportam sem fazer /readyz falhar, então um serviço em execução continua em rotação. A verificação certificates aparece como fora do ar quando o certificado SFN está expirado ou ainda não é válido, ou quando a custódia não responde. A verificação bacen-public-certificate aparece como fora do ar quando o certificado público do BACEN tem um problema. Um signer ausente ainda faz /readyz falhar. Crie alertas sobre essas verificações, porque /readyz sozinho não sinaliza um certificado expirado.