اي الطريقتين أفضل لإضافة المستخدمين في قاعدة البيانات؟
#1
السلام عليكم ورحمة الله وبركاته ،

في تطبيق يستعمل قاعدة البيانات من نوع خادم / عميل  Client/Server  ،

لابد من إنشاء مستخدمين Users و إعطاء كل مستخدم صلاحيات محددة من قبل المدير Adminstrator  .

عن نفسي أقوم بإضافة المستخدم علة مستوى سرفير قاعدة البيانات  ومن ثم استعمال الأوامر Grant و Revoke لإعطاء أو حذف الصلاحيات على الجداول و الإجراءات المخزنة .

أما بعض زملائي فيقوم بإنشاء جدول المستخدمين داخل قاعدة البيانات و من ثم  يعطي كل مستخدم صلاحياته.

وعند الدخول إلى التطبيق يكون ب العميل  SYSDBA   ثم اسم المستخدم.

في رأيكم أي الطريقتين أفضل و أسلم؟

استخدم الانتربيز و الفايربيرد.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#2
و عليكم السلام و رحمة الله و بركاته,

أظن أن معالجة المستخدمين و صلاحياتهم على مستوى البرنامج أكثر مرونة منه على مستوى سرفر قاعدة البيانات. فذلك يعطيك إمكانية التحكم بصلاحيات أخرى خارج قاعدة البيانات ( مثل طباعة الكشوف و الوثائق أو مشاهدة أرصدة الزبائن أو الموردين مثلا).
و الله أعلم.
من قال حاد عن أصله أو قال مات فقد كذب
[-] كل من 1 user says قال شكرا ل h-farid على المشاركة المفيدة
  • أبو معاذ
الرد
#3
ممكن سيعدك كثير
https://www.youtube.com/watch?v=3ATXQLV1R5k
[-] كل من 2 users say قال شكرا ل delphi17 على المشاركة المفيدة
  • أبو معاذ, h-farid
الرد
#4

و عليكم السلام و رحمة الله و بركاته
استخدم الطريقتين معا احسن
قم بانشاء مستخدم جديد غير SYSDBA لاتصال والولوح لقاعدة البيانات
+جدول خاص بالمستخدمين لكل ما تبقى من صلاحيات
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ
الرد
#5
(12-09-2018, 09:13 AM)جزاكم الله خيرا على المشاركات. B.M.AbdelAziZ كتب :

قم بانشاء مستخدم جديد غير SYSDBA لاتصال والولوح لقاعدة البيانات



أخي عبد العزيز ، ما فائدة المستخدم الجديد من غير SYSDBA ؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#6
بالتلخيص بسرعة.

التعامل مع صلاحيات المستخدمين تتلخص في جزئين:
1- صلاحيات التعامل مع جداول قاعدة البيانات.
2- صلاحيات التعامل مع البرنامج.



بالنسبة للنقطة الأولى:
إقحام المستعمل الرئيسي SYSDBA في العمليات اليومية الروتينية قد يشكل خطر على الهيكلة والاستحواذ على قاعدة البيانات (عن عمد أو عن غير قصد). SYSDBA هو صمام الأمان وحجر الأساس عند كل خطر أو إعادة الهيكلة والتصميم، وهو القناة المضمونة للتعامل مع الخادم.

إعطاء الصلاحيات للمستخدمين "العاديين" للتعامل مع الجداول (قراءة، تعديل وإضافة) يكون أكثر فعالية عند استخدام Views محصورة على المعلومات المطلوبة فقط.

بالنسبة للنقطة الثانية:
إعطاء الصلاحيات لاستعمال البرنامج عبر تخزينها في قاعدة البيانات (صحيح) لكن مع عدم القدرة على التعديل على جدول المستخدمين.

والأهم إن الطريقة الموضحة في الفيديو في الرابط فوق، الشق المتعلق بكيفية الدخول نظريا وفي الأساس صحيح (التعامل مع برنامج وسيط أفضل)، لكن كيفية إعطاء الصلاحيات (Enabled=False و Visible=False) غير مجدية (مع مستعمل خبير أو حتى script kiddie).

من الأفضل أن يكون هناك برنامج وسيط (خادم) يقوم بإرسال أجزاء من البرنامج حسب الصلاحية الممنوحة - نظريا المستخدمون العاديون أكثر من المدراء (إحدى طرق Adobe على الأقل في السابق، عند التسجيل سيوفر تحميل أجزاء أخرى غير موجودة أثناء عملية التثبيت – طبعا مع أخذ بعين الاعتبار أن المستخدم معروف وليس رقم تسجيل عام).



رأيي:
عدم إعطاء المستخدمين الصلاحيات للتعامل مع قواعد البيانات، وإنما تسيير إمدادهم بالمعلومات عبر وسيط (نتحدث هنا من منظور أمن المعلومات).
لزيادة الحماية عدم استعمال جمل SQL مباشرة في البرنامج وإنما -كما قلت- طلب المعلومات عبر وسيط (يقوم بمراعاة طرق الاختراق المعروفة).
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم