O Keychain abstrai o backend de assinatura, mas operar um assinador em produção ainda é sua responsabilidade. Estas práticas se aplicam a todos os backends; consulte Escolhendo um backend para selecionar um.
Separe os assinadores hot e cold
Use um assinador operacional de baixo saldo ("hot") para transações frequentes e automatizadas, e um assinador separado de alto valor ("cold") para movimentações do tesouro. Apoie o assinador cold com custódia MPC ou um HSM em nuvem e exija políticas de aprovação antes que ele assine. Como a interface é idêntica, cada função pode usar um backend diferente sem alterar os pontos de chamada.
Rotacione chaves de forma deliberada
No Solana, a chave de assinatura é o endereço da conta, portanto, rotacionar uma chave gera um novo endereço. Planeje a rotação como uma migração: provisione uma nova chave, reatribua as autoridades relevantes (ou mova os fundos) para o novo endereço e, em seguida, desative a antiga. Use chaves distintas por ambiente para que as chaves da devnet nunca sejam reutilizadas na mainnet.
Conceda acesso com privilégios mínimos
Limite as credenciais de cada backend ao mínimo necessário para assinar. Para o
AWS KMS, isso corresponde a kms:Sign e kms:DescribeKey na chave específica;
prefira funções IAM em vez de credenciais estáticas. Aplique o mesmo princípio
às políticas do Vault e às chaves de API de carteiras gerenciadas.
Planeje a disponibilidade
Backends remotos dependem de um serviço de rede. Chame isAvailable() antes de
depender de um assinador, aplique novas tentativas com recuo em falhas
transitórias e defina um caminho de fallback para interrupções. O Keychain impõe
HTTPS para backends remotos e aplica um timeout de requisição padrão.
Proteja segredos e transporte
- Todos os backends remotos comunicam via HTTPS; endpoints não-HTTPS são rejeitados.
- Forneça chaves de API, tokens e credenciais a partir de um gerenciador de segredos ou variáveis de ambiente — nunca os codifique diretamente ou os confirme no controle de versão.
- O Keychain sanitiza as respostas de erro para evitar o vazamento de segredos nos logs; mantenha seus próprios registros livres de credenciais brutas e material de chave.
Monitore e audite a assinatura
Acompanhe a taxa de sucesso, latência e contagem de falhas das assinaturas, e configure alertas para picos — consulte as métricas em Prontidão para Produção. Ative os logs de auditoria do provedor (KMS, Vault ou custodiante) e reconcilie-os com as transações que sua aplicação envia.
Is this page helpful?