Keychain abstraheert de ondertekeningsbackend, maar het beheren van een ondertekenaar in productie blijft uw verantwoordelijkheid. Deze praktijken zijn van toepassing op alle backends; zie Een backend kiezen voor het selecteren van een backend.
Scheid hete en koude ondertekenaars
Gebruik een operationele ondertekenaar met laag saldo ("hot") voor frequente, geautomatiseerde transacties, en een afzonderlijke ondertekenaar met hoge waarde ("cold") voor schatkistbewegingen. Ondersteun de koude ondertekenaar met MPC-bewaring of een cloud-HSM en vereist goedkeuringsbeleid voordat deze ondertekent. Omdat de interface identiek is, kan elke rol een andere backend gebruiken zonder de aanroeplocaties te wijzigen.
Roteer sleutels doelbewust
Op Solana is de ondertekeningssleutel het accountadres, dus het roteren van een sleutel levert een nieuw adres op. Plan rotatie als een migratie: voorzie een nieuwe sleutel, wijs de relevante bevoegdheden (of verplaats fondsen) toe aan het nieuwe adres en zet de oude vervolgens buiten gebruik. Gebruik afzonderlijke sleutels per omgeving zodat devnet-sleutels nooit opnieuw worden gebruikt op mainnet.
Verleen minimale toegangsrechten
Beperk de inloggegevens van elke backend tot het minimum dat nodig is om te
ondertekenen. Voor AWS KMS zijn dat kms:Sign en kms:DescribeKey op de
specifieke sleutel; geef de voorkeur aan IAM-rollen boven statische
inloggegevens. Pas hetzelfde principe toe op Vault-beleid en beheerde
wallet-API-sleutels.
Plan voor beschikbaarheid
Externe backends zijn afhankelijk van een netwerkdienst. Roep isAvailable()
aan voordat u vertrouwt op een ondertekenaar, pas nieuwe pogingen toe met
terugval bij tijdelijke fouten en definieer een alternatief pad voor storingen.
Keychain dwingt HTTPS af voor externe backends en past een standaard time-out
voor verzoeken toe.
Bescherm geheimen en transport
- Alle externe backends communiceren via HTTPS; niet-HTTPS-eindpunten worden geweigerd.
- Geef API-sleutels, tokens en inloggegevens op vanuit een secret manager of omgevingsvariabelen — codeer ze nooit hard of sla ze op in versiebeheer.
- Keychain zuivert foutmeldingen om te voorkomen dat geheimen in logs terechtkomen; houd uw eigen logging vrij van onbewerkte inloggegevens en sleutelmateriaal.
Ondertekening monitoren en controleren
Volg het succespercentage, de latentie en het aantal mislukkingen bij het ondertekenen, en stel meldingen in voor pieken — zie de statistieken in Productiegereedheid. Schakel provider-side auditlogboeken in (KMS, Vault of bewaarder) en vergelijk deze met de transacties die uw applicatie indient.
Is this page helpful?