أنا حاليًا أقوم بتطوير إضافة لـ Discourse وقد واجهت تحديًا محددًا يتعلق بالأمان. تتطلب إضافتي تخزين البيانات الحساسة والوصول إليها، وأنا أستكشف طرقًا لضمان بقاء هذه البيانات آمنة، خاصة من الوصول إليها بواسطة إضافات أخرى في نفس بيئة Discourse.
هل يمكنك تقديم رؤى أو توصيات بشأن السؤال التالي:
هل من الممكن عزل إضافة Discourse بحيث لا يمكن قراءة ملف الأسرار أو البيانات الحساسة التي تستخدمها إضافتي أو الوصول إليها بواسطة إضافات أخرى مثبتة على نفس مثيل Discourse؟ إذا كان الأمر كذلك، فما هي أفضل الممارسات أو الأساليب الموصى بها لتحقيق هذا المستوى من الأمان؟
أنا مهتم بشكل خاص بالطرق التي تسمح لي بتخزين مفاتيح التشفير أو البيانات الحساسة المماثلة بشكل آمن والوصول إليها داخل إضافتي، دون كشفها لإضافات أخرى أو أجزاء من نظام Discourse.
بالطبع، كتطبيق RoR، يدير Discourse تفويض المستخدم بشكل صحيح، لذلك، على سبيل المثال، لا يمكنك الوصول إلى موارد المسؤول كمستخدم عادي.
ولكن المكون الإضافي له نطاق إداري (يتجاوز مرحلة التهيئة الأولية)، لذا يجب أن يكون افتراضك الأساسي هو أنه من الممكن لمكون إضافي الوصول إلى بيانات من مكون إضافي آخر (حتى لو كان غير مرجح للغاية - هل سينشر مكون إضافي للتفاعلات بياناتك إلى فيسبوك؟! أشك في ذلك!! )
يقع على عاتق المثبت (أي المسؤول البشري) فحص جميع التعليمات البرمجية التي تتم إضافتها إلى مثيل حتى لا يساء استخدام أي بيانات.
إذا كنت تتجنب المخاطر، فما عليك سوى عدم تثبيت المكونات الإضافية الخارجية التي لا تفهمها تمامًا - التزم بالتثبيت الأساسي فقط.
ولكن في نهاية المطاف، تأكد من أن لديك مطور RoR كبير في فريقك لمراجعة كل ما تتم إضافته إلى مثيل؟