Mejores prácticas en producción

Keychain abstrae el backend de firma, pero operar un firmante en producción sigue siendo tu responsabilidad. Estas prácticas aplican a todos los backends; consulta Elegir un backend para seleccionar uno.

Separar firmantes calientes y fríos

Utiliza un firmante operativo de saldo bajo ("caliente") para transacciones frecuentes y automatizadas, y un firmante separado de alto valor ("frío") para movimientos del tesoro. Respalda el firmante frío con custodia MPC o un HSM en la nube, y exige políticas de aprobación antes de que firme. Dado que la interfaz es idéntica, cada rol puede usar un backend diferente sin modificar los puntos de llamada.

Rotar claves de forma deliberada

En Solana, la clave de firma es la dirección de la cuenta, por lo que rotar una clave genera una nueva dirección. Planifica la rotación como una migración: aprovisiona una nueva clave, reasigna las autoridades relevantes (o transfiere fondos) a la nueva dirección y luego retira la antigua. Utiliza claves distintas por entorno para que las claves de devnet nunca se reutilicen en mainnet.

Otorgar acceso de mínimo privilegio

Limita las credenciales de cada backend al mínimo necesario para firmar. Para AWS KMS, eso es kms:Sign e kms:DescribeKey sobre la clave específica; prefiere roles de IAM en lugar de credenciales estáticas. Aplica el mismo principio a las políticas de Vault y a las claves de API de billeteras administradas.

Planificar la disponibilidad

Los backends remotos dependen de un servicio de red. Llama a isAvailable() antes de depender de un firmante, aplica reintentos con retroceso exponencial ante fallos transitorios y define una ruta de contingencia para interrupciones. Keychain impone HTTPS para backends remotos y aplica un tiempo de espera de solicitud predeterminado.

Proteger secretos y el transporte

  • Todos los backends remotos se comunican a través de HTTPS; los endpoints que no usen HTTPS serán rechazados.
  • Proporciona claves de API, tokens y credenciales desde un gestor de secretos o variables de entorno — nunca los codifiques de forma fija ni los registres en el control de versiones.
  • Keychain sanea las respuestas de error para evitar que los secretos se filtren en los registros; mantén tus propios registros libres de credenciales en texto plano y material de claves.

Monitorear y auditar la firma

Realiza un seguimiento de la tasa de éxito de la firma, la latencia y el recuento de errores, y configura alertas ante picos — consulta las métricas en Production Readiness. Habilita los registros de auditoría del proveedor (KMS, Vault o custodio) y reconcílialos con las transacciones que envía tu aplicación.

Is this page helpful?

Tabla de Contenidos

Editar Página