Najlepsze praktyki produkcyjne

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?

Spis treści

Edytuj stronę