Üretim ortamı için en iyi uygulamalar

Keychain imzalama arka ucunu soyutlar; ancak bir imzalayıcıyı üretim ortamında işletmek hâlâ sizin sorumluluğunuzdadır. Bu uygulamalar tüm arka uçlar için geçerlidir; bir arka uç seçmek için bkz. Arka uç seçimi.

Sıcak ve soğuk imzalayıcıları ayırın

Sık gerçekleştirilen otomatik işlemler için düşük bakiyeli bir operasyonel ("sıcak") imzalayıcı, hazine transferleri için ise ayrı bir yüksek değerli ("soğuk") imzalayıcı kullanın. Soğuk imzalayıcıyı MPC saklama veya bir bulut HSM ile destekleyin ve imzalamadan önce onay politikaları zorunlu kılın. Arayüz aynı olduğundan, her rol çağrı noktalarını değiştirmeden farklı bir arka uç kullanabilir.

Anahtarları planlı biçimde döndürün

Solana'da imzalama anahtarı aynı zamanda hesap adresidir; dolayısıyla bir anahtarı döndürmek yeni bir adres oluşturur. Rotasyonu bir geçiş olarak planlayın: yeni bir anahtar sağlayın, ilgili yetkileri (veya fonları) yeni adrese yeniden atayın, ardından eskisini devre dışı bırakın. Her ortam için ayrı anahtarlar kullanarak devnet anahtarlarının mainnet'te hiçbir zaman yeniden kullanılmamasını sağlayın.

En az ayrıcalıklı erişim sağlayın

Her arka ucun kimlik bilgilerini yalnızca imzalamak için gereken en düşük düzeyle sınırlayın. AWS KMS için bu, belirli anahtar üzerinde kms:Sign, kms:DescribeKey ve kms:GetPublicKey izinleridir (kullanılabilirlik denetimi son ikisini kullanır); statik kimlik bilgileri yerine IAM rollerini tercih edin. Aynı ilkeyi Vault politikalarına ve yönetilen cüzdan API anahtarlarına da uygulayın.

Kullanılabilirliği planlayın

Uzak arka uçlar bir ağ servisine bağlıdır. Bir imzalayıcıya güvenmeden önce kullanılabilirliği kontrol edin (TypeScript'te isAvailable(), Rust ve Python'da is_available(), Go'da IsAvailable(ctx)), yalnızca imzalama gerektiren hataları geri çekilmeli olarak yeniden deneyin ve kesintiler için bir geri dönüş yolu tanımlayın. Yayın yapan bir arka ucu (Crossmint, Fordefi native auto modu) körü körüne yeniden denemeyin: bkz. Onaylanmamış yayınları yönetin. Keychain, yapılandırılmış temel URL'lerde HTTPS'yi zorunlu kılar, yönlendirmeleri reddeder ve varsayılan bir istek zaman aşımı uygular.

Onaylanmamış yayınları yönetin

Crossmint ve Fordefi native auto modu, imzalama ve yayınlamayı sunucu tarafında yapar; bu nedenle başarısız bir çağrı hiçbir şeyin ağa ulaşmadığı anlamına gelmez. Sağlayıcı işlemi kabul etmiş olabilirse Keychain BROADCAST_UNCONFIRMED hatasını bildirir (Rust'ta SignerError::BroadcastUnconfirmed). Hata, oluşturma isteği kabul edildiyse sağlayıcının işlem kimliğini taşır; ayrıca oluşturma isteğinin gönderildiği, mesajdan türetilmiş idempotency anahtarını her zaman taşır.

  • Başka bir şey yapmadan önce işlem kimliğini kullanarak sağlayıcıyla mutabakat sağlayın.
  • Bayt düzeyinde birebir aynı işlemi yeniden göndermek güvenlidir: idempotency anahtarı bunu tekilleştirir.
  • İşlemi yeniden oluşturmak (örneğin yeni bir blockhash ile) yeni bir anahtar ve dolayısıyla yeni bir transfer üretir.

Gizli bilgileri ve aktarımı koruyun

  • Uzak arka uçlar, yapılandırılmış temel URL'lerde HTTPS'yi zorunlu kılar ve yönlendirmeleri reddeder. Tek istisna Vault'tur; yerel bir vault server -dev çalışabilsin diye loopback üzerinde düz HTTP'yi kabul eder.
  • API anahtarlarını, token'ları ve kimlik bilgilerini bir gizli bilgi yöneticisinden veya ortam değişkenlerinden sağlayın — bunları hiçbir zaman doğrudan koda gömmeyIn veya kaynak denetimine işlemeyin.
  • Keychain, hata yanıtlarını gizli bilgilerin günlüklere sızmasını önlemek amacıyla arındırır; kendi günlüklerinizi ham kimlik bilgileri ve anahtar materyalinden uzak tutun.

İmzalamayı izleyin ve denetleyin

İmzalama başarı oranını, gecikmeyi ve hata sayısını takip edin, ani artışlarda uyarı alın — bkz. Üretime Hazırlık içindeki metrikler. Sağlayıcı tarafı denetim günlüklerini (KMS, Vault veya saklama sağlayıcısı) etkinleştirin ve bunları uygulamanızın gönderdiği işlemlerle karşılaştırın.

Keychain'in neleri kontrol ettiğini bilin

  • Keychain, işleminizi değil imzalama adımını doğrular: simülasyon, işlem içeriği kontrolü ve politika motoru yoktur. Bunları uygulamanızda veya sağlayıcının politika denetimlerinde uygulayın.
  • Fordefi native manual modu, işlemi imzalamadan önce yeniden yazar (blockhash, Compute Budget ücret talimatları). Gönderdiğiniz işlemden değil, döndürdüğü işlemden devam edin ve bunu diğer tüm imzalayıcılardan önce çalıştırın.
  • Rust, ara anahtar tamponlarını sıfırlar; Python ve Go bunu yapamaz. Bu dillerde Memory arka ucunu kullanırken tüm işlem belleğini hassas kabul edin.
  • Ledger ile, neyin imzalandığına dair güvenilir tek açıklama cihaz ekranıdır. Üretim ortamında unsafe-debug özelliğini veya solana_remote_wallet için TRACE günlüklemesini etkinleştirmeyin; her ikisi de cihaz ve işlem ayrıntılarını günlüğe kaydeder.

Tüm resim için güvenlik modeline bakın.

Is this page helpful?

© 2026 Solana Vakfı. Tüm hakları saklıdır.