يُجرِّد Keychain خلفية التوقيع، غير أن تشغيل موقِّع في بيئة الإنتاج لا يزال مسؤوليتك. تنطبق هذه الممارسات على جميع الخلفيات؛ راجع اختيار خلفية لتحديد الأنسب.
فصل الموقِّعين الساخن والبارد
استخدم موقِّعًا تشغيليًا ("ساخنًا") برصيد منخفض للمعاملات المتكررة والآلية، وموقِّعًا منفصلًا ("باردًا") عالي القيمة لتحركات الخزينة. ادعم الموقِّع البارد بحضانة MPC أو HSM سحابي، واشترط سياسات موافقة قبل التوقيع. نظرًا لأن الواجهة متطابقة، يمكن لكل دور استخدام خلفية مختلفة دون تغيير نقاط الاستدعاء.
تدوير المفاتيح بتخطيط مدروس
في سولانا، مفتاح التوقيع هو عنوان الحساب، لذا فإن تدوير المفتاح يُنشئ عنوانًا جديدًا. خطِّط للتدوير كعملية ترحيل: أنشئ مفتاحًا جديدًا، وأعد تعيين الصلاحيات المعنية (أو انقل الأموال) إلى العنوان الجديد، ثم أوقف العمل بالقديم. استخدم مفاتيح مستقلة لكل بيئة حتى لا تُعاد استخدام مفاتيح devnet على mainnet.
منح الوصول بأدنى الصلاحيات
قيِّد بيانات اعتماد كل خلفية بالحد الأدنى اللازم للتوقيع. بالنسبة لـ AWS KMS،
ذلك يعني kms:Sign و kms:DescribeKey على المفتاح المحدد؛ فضِّل أدوار IAM على
بيانات الاعتماد الثابتة. طبِّق المبدأ ذاته على سياسات Vault ومفاتيح API للمحافظ
المُدارة.
التخطيط للتوافر
تعتمد الخلفيات البعيدة على خدمة شبكية. استدعِ isAvailable() قبل الاعتماد على
الموقِّع، وطبِّق إعادة المحاولة مع تراجع تدريجي عند الأعطال العابرة، وحدِّد
مسارًا احتياطيًا عند انقطاع الخدمة. يُطبِّق Keychain بروتوكول HTTPS للخلفيات
البعيدة ويضع مهلة افتراضية للطلبات.
حماية الأسرار والنقل
- تتواصل جميع الواجهات الخلفية البعيدة عبر HTTPS؛ يتم رفض نقاط النهاية غير المستخدمة لـ HTTPS.
- قم بتوفير مفاتيح API والرموز المميزة وبيانات الاعتماد من مدير الأسرار أو متغيرات البيئة — ولا تقم أبدًا بترميزها بشكل ثابت أو إيداعها في نظام التحكم بالمصدر.
- يقوم Keychain بتنقية استجابات الخطأ لتجنب تسرب الأسرار إلى السجلات؛ احرص على أن تكون سجلاتك الخاصة خالية من بيانات الاعتماد الخام ومواد المفاتيح.
مراقبة عمليات التوقيع وتدقيقها
تتبّع معدل نجاح التوقيع وزمن الاستجابة وأعداد الإخفاقات، وأنشئ تنبيهات عند حدوث ارتفاعات مفاجئة — راجع المقاييس في الجاهزية للإنتاج. قم بتفعيل سجلات التدقيق على جانب المزود (KMS أو Vault أو الوصي) وقم بمطابقتها مع المعاملات التي يُرسلها تطبيقك.
Is this page helpful?