وفقًا للرابط، هناك اهتمام ولكن مرّت عدة سنوات ولا أعرف ما إذا كانوا قد طبقوه بالفعل أم لا.
سيناريو مفيد جدًا لهذا هو تكوين خادم VPS بنفس الإعدادات الدقيقة للخادم الإنتاجي، وستكون وحدة VPS المستنسخة هذه مخصصة للتطوير فقط. بهذه الطريقة، يمكنني العمل بفعالية أكبر مع فريقي من المطورين.
أنت بحاجة إلى أكثر بكثير من مجرد الإعدادات لترى أن الأمور تعمل. لماذا لا تستعيد قاعدة بيانات الإنتاج إلى بيئة الاختبار المؤقتة (staging)؟ انظر إعداد خادم اختبار مؤقت.
سؤال واحد: هل يستنسخ ذلك أيضًا بيانات اعتماد المنتدى ومحتواه؟ لأنه من الواضح أن المطورين لا يحتاجون إلى ذلك، فقط التكوين الأساسي لتطوير المكونات الإضافية. لا أريد أن يكون لديهم وصول إلى حسابات المستخدمين الخاصة بي، ناهيك عن حسابات المسؤول.
نعم - إنه يستنسخ كل شيء على الإطلاق. إذا كان لديك مطورون غير موثوق بهم، فقد لا يكون هذا هو أفضل شيء. شخصيًا، سأحصل على مطورين موثوق بهم!
كما هو الحال، ستحتاج إلى الالتزام باستنساخ الهيكل الموجود هناك الذي تحتاجه (على سبيل المثال، الإعدادات، الفئات، المجموعات، المكونات الإضافية، إلخ) وإما الحفاظ عليه متزامنًا يدويًا، أو إعادة استنساخه عند الحاجة، أو تطوير الحل الخاص بك لأتمتة ذلك.
حتى لو كنت تثق بمطوريك، قد تكون هناك لوائح (مثل اللائحة العامة لحماية البيانات - GDPR) تمنعك من مشاركة المعلومات الشخصية مع أشخاص خارج نطاق ولاية قضائية معينة أو تتطلب منك تقليل كمية المعلومات الشخصية التي يتم نسخها إلى نظام آخر. بالإضافة إلى ذلك، يقوم خادم التطوير أو التدريج بتشغيل برامج غير مختبرة قد تحتوي على مشكلات أمنية.
نحن دائمًا نشغل شيئًا كهذا على خادم التدريج فور استعادة النسخة الاحتياطية من بيئة الإنتاج، مما يؤدي إلى إخفاء هوية جميع المستخدمين باستثناء الموظفين وأولئك الموجودين في مجموعة testusers.
keep_groups = Group.where(name: ['staff', 'testusers']).pluck(:id)
acting_user = User.find(-1)
User.all.each do |u|
next if u.in_any_groups? keep_groups
user = UserAnonymizer.new(u, acting_user).make_anonymous
end