Keychain abstrauje backend podpisywania, jednak obsługa sygnatariusza w środowisku produkcyjnym nadal należy do Twoich obowiązków. Te praktyki mają zastosowanie we wszystkich backendach; zapoznaj się z Wyborem backendu, aby dokonać wyboru.
Oddziel sygnatariuszy hot i cold
Używaj operacyjnego sygnatariusza z niskim saldem ("hot") do częstych, zautomatyzowanych transakcji oraz oddzielnego sygnatariusza wysokiej wartości ("cold") do operacji skarbowych. Zabezpiecz cold sygnatariusza przy użyciu MPC custody lub sprzętowego modułu bezpieczeństwa (HSM) w chmurze i wymagaj polityk zatwierdzania przed podpisaniem. Ponieważ interfejs jest identyczny, każda rola może korzystać z innego backendu bez zmiany miejsc wywołań.
Rotuj klucze w sposób przemyślany
W Solana klucz podpisywania jest adresem konta, więc rotacja klucza tworzy nowy adres. Zaplanuj rotację jako migrację: udostępnij nowy klucz, przypisz ponownie odpowiednie uprawnienia (lub przenieś środki) na nowy adres, a następnie wycofaj stary. Używaj odrębnych kluczy dla każdego środowiska, aby klucze devnet nigdy nie były ponownie używane w mainnecie.
Przyznawaj dostęp z minimalnymi uprawnieniami
Ogranicz dane uwierzytelniające każdego backendu do minimum niezbędnego do
podpisywania. Dla AWS KMS oznacza to kms:Sign i kms:DescribeKey dla
konkretnego klucza; preferuj role IAM zamiast statycznych danych
uwierzytelniających. Stosuj tę samą zasadę do polityk Vault i kluczy API
zarządzanych portfeli.
Zaplanuj dostępność
Zdalne backendy zależą od usługi sieciowej. Wywołaj isAvailable() przed
poleganiem na sygnatariuszu, stosuj ponowne próby z wycofaniem przy
przejściowych błędach i zdefiniuj ścieżkę awaryjną na wypadek awarii. Keychain
wymusza HTTPS dla zdalnych backendów i stosuje domyślny limit czasu żądania.
Chroń sekrety i transport
- Wszystkie zdalne backendy komunikują się przez HTTPS; punkty końcowe bez HTTPS są odrzucane.
- Dostarczaj klucze API, tokeny i poświadczenia z menedżera sekretów lub zmiennych środowiskowych — nigdy nie koduj ich na stałe ani nie zapisuj w kontroli wersji.
- Keychain oczyszcza odpowiedzi błędów, aby zapobiec wyciekowi sekretów do logów; dbaj, aby Twoje własne logi były wolne od nieprzetworzonych poświadczeń i materiału klucza.
Monitoruj i audytuj podpisywanie
Śledź współczynnik powodzenia podpisywania, opóźnienia i liczbę błędów oraz skonfiguruj alerty na skoki — zapoznaj się z metrykami w Gotowości Produkcyjnej. Włącz logi audytu po stronie dostawcy (KMS, Vault lub powiernik) i uzgadniaj je z transakcjami przesyłanymi przez Twoją aplikację.
Is this page helpful?