Meilleures pratiques en production

Keychain abstrait le backend de signature, mais l'exploitation d'un signataire en production reste votre responsabilité. Ces pratiques s'appliquent à tous les backends ; consultez Choisir un backend pour en sélectionner un.

Séparer les signataires chauds et froids

Utilisez un signataire opérationnel à faible solde (« chaud ») pour les transactions fréquentes et automatisées, et un signataire séparé à haute valeur (« froid ») pour les mouvements de trésorerie. Adossez le signataire froid à une garde MPC ou à un HSM cloud, et exigez des politiques d'approbation avant toute signature. L'interface étant identique, chaque rôle peut utiliser un backend différent sans modifier les points d'appel.

Effectuer la rotation des clés de manière délibérée

Sur Solana, la clé de signature est l'adresse du compte, de sorte que la rotation d'une clé produit une nouvelle adresse. Planifiez la rotation comme une migration : provisionnez une nouvelle clé, réassignez les autorités concernées (ou transférez les fonds) vers la nouvelle adresse, puis retirez l'ancienne. Utilisez des clés distinctes par environnement afin que les clés devnet ne soient jamais réutilisées sur le mainnet.

Accorder l'accès au moindre privilège

Limitez les identifiants de chaque backend au strict nécessaire pour signer. Pour AWS KMS, il s'agit de kms:Sign et kms:DescribeKey sur la clé spécifique ; préférez les rôles IAM aux identifiants statiques. Appliquez le même principe aux politiques Vault et aux clés API de portefeuille géré.

Planifier la disponibilité

Les backends distants dépendent d'un service réseau. Appelez isAvailable() avant de vous fier à un signataire, appliquez des tentatives avec backoff en cas de défaillances transitoires, et définissez un chemin de repli en cas de panne. Keychain impose le HTTPS pour les backends distants et applique un délai d'expiration de requête par défaut.

Protéger les secrets et le transport

  • Tous les backends distants communiquent via HTTPS ; les endpoints non-HTTPS sont rejetés.
  • Fournissez les clés API, jetons et identifiants depuis un gestionnaire de secrets ou des variables d'environnement — ne les codez jamais en dur ni ne les committez dans le contrôle de source.
  • Keychain assainit les réponses d'erreur pour éviter que les secrets ne se retrouvent dans les logs ; veillez à ce que votre propre journalisation soit exempte d'identifiants bruts et de matériel de clé.

Surveiller et auditer la signature

Suivez le taux de succès de signature, la latence et le nombre d'échecs, et configurez des alertes en cas de pics — consultez les métriques dans Production Readiness. Activez les journaux d'audit côté fournisseur (KMS, Vault ou dépositaire) et réconciliez-les avec les transactions soumises par votre application.

Is this page helpful?

Table des matières

Modifier la page
© 2026 Fondation Solana. Tous droits réservés.