بتاريخ: 8 مارس 200422 سنة comment_2879 السلام عليكم ورحمة الله وبركاته أخواني الأعزاء أعضاء المنتدى من المواضيع الهامة التي تواجه مدراء قواعد بيانات الأوراكل والمسؤليين عن حماية قاعدة البيانات موضوع الدخول الغير مصرح به والتعديل على بيانات خصوصا من المستخدمين الذين لديهم صلاحيات للدخول على بعض التطبيقات وبموجب هذه الصلاحيات يمكنهم الدخول على قاعدة البيانات من برامج أخرى فمثلا لو افترضنا ان المستخدم "خالد" لديه صلاحية الدخول على قاعدة البيانات عن طريق برنامج Oracle forms run time أي ان لديه صلاحية create session او Connect role بموجب هذه الصلاحية يمكنه الدخول ايضا على برنامج كال SQL*PLUS السؤال المطروح الآن هو كيفية منع المستخدمين من الدخول على بعض التطبيقات كا SQL*PLUS ؟هناك عدة طرق لحل هذه المشكلة سوف أذكرها ولكن مايهمنا منها هو الطريقة الثالثة :1-الطريقة الأولى write code to enable privileges in the application كتابة كود داخل النماذج للتفعيل صلاحيات المستخدم بعد التأكد منه أي ان صلاحيات المستخدم تفعل فقط وقت دخوله على النماذج وبمجرد خروجه يتم إلغاء تفعيل الصلاحيات وبالتالي لايمكنه الدخول على أي برنامج آخر لإن صلاحياته غير مفعلة .2-الطريقة الثانية وهي إيقاف الدخول على SQL*PLUS عن طريق الشبكة وهي طريقة طويلة وتحتاج إلى تنفيذ الكثير من الإجراءات على نظام التشغيل ، أيضا منع مستخدمي نظام التشغيل من عمل اعداد (installation ) لل SQL*PLUS .3-الطريقة الثالثة وهي الطريقة الأسهل والتي سوف نناقشها وهي التحكم في الأمن على مستوى التطبيقات Product-level Securityويقصد بهذه الطريقة ان المستخدم يمكن ان يقيد في استخدام أوامر في برنامج SQL*PLUS مثل أمر DECLARE او أي أمر آخر ويتم إنجاز هذا الموضوع بإضافة بيانات هذا التقييد إلى جدول SQLPLUS_PRODUCT_PROFILE حيث يتم قراءة بيانات هذا الجدول مع دخول أي مستخدم إلى قاعدة البيانات بإستثناء المستخدمين SYS & SYSTEM وتطبيق التقييد على ال SESSION الحالي لهذا المستخدم .إعــــــــــــــــــداد بيئة ال SQL*PLUS للتعامل مع هذه الطريقة :يتم إنشاء الجدول SQLPLUS_PRODUCT_PROFILE تلقائيا عند إنشاء SYSTEM schema ،مع Synonyms التالية والمتاحة للدخول عليه وهي PRODUCT_USER_PROFILE and PRODUCT_PROFILE .يمكننا إعداد هذا الجدول عن طريق الدخول عن طريق المستخدم system و تنفيذ الملف pupbld.sql والموجود في ال ORACLE_HOME/sqlplus/admin" path" .محتويات جدول PRODUCT_USER_PROFILE : PRODUCT - وهي عبارة عن إسم البرنامج الذي نريد أن نقيد المستخدم من تنفيذ أمر معين فيه مثلا "SQL*Plus". USERID - هنا نضع إسم المستخدم بالأحرف الكبيرة upper case . ATTRIBUTE - هنا نحدد الأمر الذي نريد تقييد المستخدم من إستخدامه مثلا "DECLARE" وبالأحرف الكبيرة upper case . CHAR_VALUE - هنا نضع كلمة غير مغعل "DISABLED" لإلغاء تفعيل الأمر أو الخاصية لدى المستخدم. الأوامر التي يمكننا تقييدها :أولا :أوامر ال SQL وهي ALTER, AUDIT, ANALYZE, CREATE, DELETE, DROP, INSERT, LOCK, NOAUDIT, RENAME, SELECT, UPDATE, VALIDATE, TRUNCATE, GRANT, REVOKE, SET ROLE, SET TRANSACTION ثانيا : أوامر ال PL/SQL DECLARE, BEGIN ثالثا : أوامر ال SQL*PLUS COPY, HOST, SET, EDIT, PASSWORD, SPOOL, EXECUTE, QUIT, START, EXIT, RUN, GET, SAVE مثــــــــــــــــــــــــــــــــــــــــال :لنأخذ مثال على الموضوع حيث نريد منع المستخدم SCOTT من تنفيذ أمر DECLARE فقط نقوم بتنفيذ جملة ال INSERT التالية : insert into product_user_profile(product, userid, attribute, char_value) values('SQL*Plus', 'SCOTT', 'DECLARE', 'DISABLED'); في هذه الحالة لو حاول المستخدم SCOTT تنفيذ جملة DECLARE كما في هذا الأمر : DECLARE V_EMPNO NUMBER; BEGIN V_EMPNO:=7788; END; سوف تظهر له رسالة خطأ وهي : SP2-0544: invalid command: declareوأخيرا فلقد قرأت ونقلت هذا الموضوع من الرابط http://dbasupport.com/oracle/ora9i/lockDow..._SQL_Plus.shtmlتحياتي ولاتنوسنا من دعوة صالحة .... تم تعديل 8 مارس 200422 سنة بواسطة msh تقديم بلاغ
بتاريخ: 8 مارس 200422 سنة comment_2884 مشكور يا أخي العزيز على هذه المعلومات الجميلة.بارك الله فيك و لك و عليك.أخوك:سامر حداد تقديم بلاغ
بتاريخ: 9 مارس 200422 سنة comment_2923 جزاك الله خير وأدامك الله على الطاعةتحياتي / أبو ساري تقديم بلاغ
بتاريخ: 9 مارس 200422 سنة comment_2939 بسم الله الرحمن الرحيمالسلام عليكم ورحمة الله وبركاتهوالحمد لله رب العالمين والصلاة والسلام على الحبيب المصطفى والى الأمام دوماوبارك الله فيك ولك وعليك وجعله فى ميزان حسناتك--------------------------------------------------------------------------------------------------------سبحان الله العظيم - سبحان الله وبحمده عدد خلقه ورضاء نفسه وزنة عرشه ومداد كلماته ولا حول ولا قوة الابالله تقديم بلاغ
بتاريخ: 15 مارس 200421 سنة comment_3355 شكر الله لك أخي الفاضل .. ونفع بك الإسلام و المسلمين .. تقديم بلاغ
بتاريخ: 15 مارس 200421 سنة comment_3366 جزاك الله الف خير على هذا المجهود الرائع أخوك عادل تقديم بلاغ
بتاريخ: 10 أبريل 200520 سنة comment_32595 جزاك الله خير الجزاء وزادك من علمه اريد ان اظيف هنا انه يمكن ان نعطي صلاحيات على بيانات الجدول بمعنى جزء من البيانات في الجدول متاح لمستخدم معين والجزء الاخر غير متاح ولكن لم ابحث في هذا الموضوع ولكنه موجود ومطبق في قاعدة بيانات اوراكل .والى الامام جميعاً تقديم بلاغ
بتاريخ: 16 أبريل 200619 سنة comment_66467 مشكووووووووووور يا عزيزي وربنا يوفقك آآآآآآآآآآآآآآآآآمين يا رب تقديم بلاغ
بتاريخ: 26 سبتمبر 200718 سنة comment_111075 السلام عليكمشكرا يا اخى على هذه الملعومة القيمةوان شاء الله تكون فى ميزان حسناتك تقديم بلاغ
بتاريخ: 19 يونيو 200916 سنة comment_160763 شكرا لك ونرجو المزيد دائما حنيين [email protected][وسط][/وسط] تقديم بلاغ
بتاريخ: 20 يونيو 200916 سنة comment_160764 مشكور أخي على هذه المعلومات القيمةوبارك الله فيك تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.