نشر بواسطة : Obay Salah , November 18, 2024

 

كمسؤول قاعدة البيانات عادة تكون لك مهام خاصة تقوم بها كإغلاق قاعدة البيانات او تشغيلها، ولأن هذه المهام يقوم بها مسؤول قاعدة البيانات فقط لذا مسؤول قاعدة البيانات بحاجة لنظام مصادقة اّمن (secure authentication).

  • Administrative Privileges:

يتم منح الإمتيازات الإدارية (Administrative Privileges) المطلوبة للمسؤول لاداء المهام علي قاعدة البيانات من خلال هذه الإمتيازات الخاصة وهذه الإمتيازات (Privileges) هي:

  • SYSDBA
  • SYSOPER
  • SYSBACKUP
  • SYSDG
  • SYSKM
  • SYSRAC

 

بإستثناء الإمتياز (SYSRAC) يتم منح هذه هذه الإمتيازات (Privileges) للمستخدمين إعتماداً علي علي مستوي التفويض الذي يحتاجونه، أما بالنسبة للإمتياز SYSRAC لا يمكن منحه للمستخدمين لانه يستخدم فقط بواسطة (Oracle agent of Oracle Clusterware) للإتصال بقاعدة البيانات باستخدام مصادقة نظام التشغيل.

بدءاً من الإصدار Oracle Database 12c Release 1 (12.1) اصبحت الإمتيازات (SYSBACKUP & SYSDG & SYSKM) متاحة, وبدءاً من الإصدار Oracle Database 12c Release 2 (12.2) تم اتاحة الإمتياز SYSRAC, يمنح كل إمتياز إداري جديد الحد الأدني من الإمتيازات المطلوبة لإكمال المهام في كل مجال من مجالات الإدارة، حيث تمكنك الإمتيازات الجديدة من تجنب منح الإمتياز الإداري SYSDBA لعمل الكثير من المهام.

 هذه الإمتيازات الإدارية تمكنك من الإتصال بالDatabase Instance حتي لو كانت قاعدة البيانات مغلقة وذلك لأن التحكم في هذه الإمتيازات خارج قاعدة البيانات نفسها حيث تتضمن طرق مصادقة مسؤولي قاعدة البيانات بهذه الإمتيازات المصادقة عن طريق نظام التشغيل او الPassword File.

 

  • Operations Authorized by Administrative Privileges:

يسمح كل امتياز إداري (Administrative Privileges) مجموعة محددة من المهام كما هو موضح في الجدول ادناه:

 

عندما يتم منح المستخدم أحد هذه الإمتيازات الإدارية ويقوم بالإتصال بقاعدة البيانات من خلال الإمتياز فإنه يقوم باإتصال بالShema المرتبطة بالإمتياز وليس عبر الSchema الخاصة به، فعلي سبيل المثال عند الإتصال بالإمتياز SYSDBA تكون الShema الحالية SYS، وعند الإتصال بالإمتياز SYSOPER تكون الSchema الحالية PUBLIC، وعند الإتصال بالإمتيازات (SYSBACKUP & SYSDG & SYSRAC) تكون الSchema الحالية SYS، وعند الإتصال بالإمتياز SYSKM تكون الSchema الحالية SYSKM.

أما بالنسبة للإتصال بقاعدة البيانات بأحد الإمتيازات الإدارية (Administrative Privileges) فأنت تتصل بالمستخدم المحدد، فعند الإتصال AS SYSDBA تكون الSession User هي SYS، وعند الإتصال AS STSOPER تكون الSession User هي PUBLIC، وعند الإتصال AS

SYSBACKUP & SYSDG & SYSDG & SYSKM & SYSRAC)) تكون الSession User كالتالي

SYSBACKUP & SYSDG & SYSDG & SYSKM & SYSRAC)) علي التوالي.

 

اليك المثال التالي:

Current Schema and Session User When Connecting AS SYSBACKUP

CONNECT mydba AS SYSBACKUP

SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM DUAL;

-------------------------------------------------------------------------------

SYS

 

SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL;

-------------------------------------------------------------------------------

SYSBACKUP

 

 

  • Authentication Methods for Database Administrators:

يتم التحقق والمصادقة لمسؤولي قواعد البيانات عن طريق كلمة المرور account password او التحقق عن طريق نظام التشغيل او عن طريق password files.

 

  • About Authentication Methods for Database Administrators:

كما ذكرنا سابقاً هناك عدة تطرق للتحقق من مسؤولي قواعد البيانات، فقاعدة البيانات اوركل يمكنها التحقق من مسؤولي قاعدة البيانات عن طريق الdata dictionary وذلك عن طريق كلمة المرور وذلك مثل باقي المستخدمين.

بالإضافة للتحقق عن طريق كلمة المرور المخزنة في الdata dictionary فهناك عدة طرق للتحقق من مسؤولي قاعدة البيانات الذين يملكون الامتيازات

(SYSDBA, SYSOPER, SYSBACKUP, SYSDG or SYSKM):

  • التحقق عن طريق نظام التشغيل.
  • التحقق عن طريق ال password file
  • التحقق عن طريق الdirectory-based authentication services

بالنسبة للSYSRAC Privilege يتم التحقق فقط عن طريق نظام التشغيل.

هذه الطرق للتحقق لابد منها إذا كانت قاعدة البيانات مغلقة او غير متاحة فلا يمكن التحقق عن طريق الdata dictionary إذا كانت قاعدة البيانات مغلقة، كما يمكنك أيضا استخدام هذه الطرق إذا كانت قاعدة البيانات مفتوحة ومتاحة.

سنقوم في هذا الجزء بمناقشة التحقق عن طريق نظام التشغيل او عن طريق ال password file اما بالنسبة للتححق عن طريق الdirectory-based authentication services فيمكنك مراجعة ال Oracle Database Security Guide لمزيد من المعلومات.

 يجب العلم أن التحقق والمصادقة عن طريق نظام التشغيل لها الأولوية علي التحقق عن طريق الpassword file فإذا كنت تفي بمتطلبات التحقق عن طريق نظام التشغيل فحتي إذا كنت تستخدم التحقق عن طريق الpassword file فسيتم التحقق عن طريق نظام التشغيل.

يتأثر إختيارك بما إذا كنت تنوي إدارة قاعدة البيانات محلياً من داخل الخادم الذي تعمل عليه قاعدة البيانات, او ما إذا كنت تنوي إدارة قاعدة البيانات عن بعد من خلال جهاز اخر.

  • Nonsecure Remote Connections:

للإتصال بقاعدة البيانات كمستخدم له احد الإمتيازات الإدارية (SYSDBA, SYSOPER, SYSBACKUP, SYSDG or SYSKM) عن بعد عبر اتصال غير اّمن فيجب أن يتم التحقق عن طريق ملف الpassword file، فعند التحقق عن طريق الpassword file تستخدم قاعدة البيانات الpassword file لتتبع أسماء مستخدمي قاعدة البيانات الذين تم منحهم الإمتيازات الإدارية.

يجب العلم أن معظم برتكولات الإتصال الشائعة غير اّمنة مثل (TCP/IP and DECnet).

 

  • Local Connections and Secure Remote Connections:

إذا اردت الإتصال بقاعدة البيانات محلياً او من داخل الخادم الذي تعمل عليه قاعدة البيانات او الإتصال عن بعد عبر إتصال اّمن فأنت اما خيارين:

  • إذا كانت قاعدة البيانات لها password file وأنت تملك أحد الإمتيازات الإدارية فيمكنك الإتصال بقاعدة البيانات بإستخدام الpassword file.
  • إذا كانت قاعدة البيانات ليس بها password file أو إذا لم يتم منحك أي من الإمتيازات الإدارية فيمكنك الإتصال باستخدام التحقق عن طريق نظام التشغيل.

في معظم انظمة التشغيل مصادقة مسؤولي قاعدة البيانات يتم بتضمين أسماء المستخدمين في (Groups) مجموعات خاصة بنظام التشغيل.

 

 

  • Using Operating System Authentication:

مسؤولي قاعدة البيانات الموجودين في المجموعات الخاصة بنظام التشغيل تتيح لهم الإتصال بقاعدة البيانات عبر التحقق بنظام التشغيل بدلاً من إستخدام إسم المستخدم وكلمة المرور.

 

  • Operating System Groups:

يتم إنشاء مجموعات أنظمة التشغيل الخاصة بقاعدة البيانات اوركل ويتم تعيين الأسماء في المجموعات اثناء تثبيت قواعد البيانات.

تختلف الأسماء الإفتراضية لمجموعات نظام التشغيل الخاصة بقاعدة البيانات وفقاً لنظام التشغيل الخاص بك كما في الجدول أدناه:

 

 ال Oracle Universal Installer يستخدم هذه الأسماء الإفتراضية لإنشاء المجموعات علي نظام التشغيل ولكن في حالة نظام التشغيل (Unix & Linux) يمكن تجاهل هذه التسمية وذلك في حالة أن لديك اكثر من Instances علي نفس الخادم وكل Instance موجودة في Oracle Home مختلفة، فإذا كان لكل Instance مسؤول قاعدة بيانات مختلف، ففي هذه الحالة نحتاج لعدد من المجموعات لكل Instance.

بالنسبة لنظام التشغيل Windows فالتسمية الإفتراضية لا تتغير ولكن في حال وجود أكثر من Instance علي نفس الخادم وكل علي Instance علي Oracle Home مختلف فتتم تسمية المجموعات متضمن اسم الOracle Home كما موضح في الجدول اعلاه.

فالمستخدمون الموجودون في هذه المجموعات يستطيعون الإتصال بقاعدة البيانات كمسؤولي قاعدة بيانات وذلك كالتالي:

  • إذا كنت عضو في OSDBA Group وقمت بإستخدام الإمتياز الإداري AS SYSDBA عند الإتصال بقاعدة البيانات فتستطيع الإتصال بقاعد البيانات بالإمتياز الإداري SYSDBA.
  • إذا كنت عضو في OSOPER Group وقمت بإستخدام الإمتياز الإداري AS SYSOPER عند الإتصال بقاعدة البيانات فتستطيع الإتصال بقاعد البيانات بالإمتياز الإداري SYSOPER.
  • إذا كنت عضو في OSBACKUPDBA Group وقمت بإستخدام الإمتياز الإداري AS SYSBACKUP عند الإتصال بقاعدة البيانات فتستطيع الإتصال بقاعد البيانات بالإمتياز الإداري SYSBACKUP.
  • إذا كنت عضو في OSDGDBA Group وقمت بإستخدام الإمتياز الإداري AS SYSDG عند الإتصال بقاعدة البيانات فتستطيع الإتصال بقاعد البيانات بالإمتياز الإداري SYSDG.
  • إذا كنت عضو في OSKMDBA Group وقمت بإستخدام الإمتياز الإداري AS SYSKM عند الإتصال بقاعدة البيانات فتستطيع الإتصال بقاعد البيانات بالإمتياز الإداري SYSKM.
  • إذا كنت عضو في OSRACDBA Group وقمت بإستخدام الإمتياز الإداري AS SYSRAC عند الإتصال بقاعدة البيانات فتستطيع الإتصال بقاعد البيانات بالإمتياز الإداري SYSRAC.
  • اما إذا كنت لم تكون عضو في أياً من مجموعات نظام التشغيل أعلاه وحاولت الإتصالات بقاعدة البيانات بأحد الإمتيازات الإدارية فستفشل عملية الإتصال بقاعدة البيانات إذا كان التحقق يتم عن طريق نظام التشغيل.

 

  • Preparing to Use Operating System Authentication:

كما ذكرنا سابقاً أن مسؤولي قاعدة البيانات يستطيعون الإتصال بقاعدة البيانات ويتم التحقق من خلال نظام التشغيل من غير أن يتم إدخال المستخدم وكلمة المرور، ولكن حتي يتم التحقق عن طريق نظام التشغيل تحتاج الي:

  • أن يكون لك حساب علي نظام التشغيل وإذا لم يكن لديك حساب لابد من إنشاء حساب علي نظام التشغيل.
  • إضافة حساب نظام التشغيل لمجموعة نظام التشغيل الخاصة بإدارة قاعدة البيانات.

 

  • Connecting Using Operating System Authentication:

يمكنك الإتصال كمسؤول لقاعدة البيانات من داخل الخادم الذي تعمل عليه قاعدة البيانات من خلال المصادقة والتحقق عبر نظام التشغيل كما يلي:

CONNECT / AS SYSDBA

CONNECT / AS SYSOPER

CONNECT / AS SYSBACKUP

CONNECT / AS SYSDG

CONNECT / AS SYSKM

 فقط نظام التشغيل Windows يدعم مصادقة نظام التشغيل عند الإتصال الاّمن عن بعد عبر تحديد الNet Service Name اثناء الإتصال كالتالي:

CONNECT /@net_service_name AS SYSDBA

CONNECT /@net_service_name AS SYSOPER

CONNECT /@net_service_name AS SYSBACKUP

CONNECT /@net_service_name AS SYSDG

CONNECT /@net_service_name AS SYSKM 

 

لكن يجب أن يكون كل من الComputer Client والخادم الذي تعمل عليه قاعدة البيانات علي نظام التشغيل Windows.

 


  • Using Password File Authentication:

كذلك يستطيع مسؤولي قاعدة البيانات وذوي الإمتيازات الإدارية الاتصال بقاعدة البيانات والتحقق من خلال الPassword file.

  • Preparing to Use Password File Authentication:

تحضيراً لإستخدام المصادقة والتحقق عن طريق الPassword file لابد من وجود ملف Password file وفي حالة عدم وجوده لابد من انشاؤه، وايضاً لابد من إعداد المتغير REMOTE_LOGIN_PASSWORDFILE علي قاعدة البيانات.

في حال أنك قمت بإنشاء قاعدة البيانات من خلال الأداة Database Configuration Assistant (DBCA) فإن الDBCA تقوم بإنشاء ملف الPassword file اثناء إنشاء قاعدة البيانات.

لتفعيل المصادقة والتحقق عبر ملف الPassword file للمستخدمين ذوي الإمتيازات الإدارية يجب عليك القيام بما يلي:

  • إذا لم يوجد ملف الPassword file يجب عليك إنشاؤه بواسطة الأداة ORAPWD

orapwd FILE=filename FORMAT=12.2

  • لابد للمتغير REMOTE_LOGIN_PASSWORDFILE من أن يأخذ القيمة exclusive وهي القيمة الإفتراضية للمتغير.
  • الإتصال بقاعدة البيانات بأحد الإمتيازات الإدارية.
  • لابد لمستخدم قاعدة الييانات أن يمكلك أحد الإمتيازات الإدارية (SYSDBA, SYSOPER, SYSBACKUP, SYSDG, or SYSKM).

 

 

  • Connecting Using Password File Authentication:

يستطيع المستخدمين ذوي الإمتيازات الإدارية الإتصال بقاعدة البيانات محلياً او عن بعد عن طريق التحقق بملف الPassword file وبشكل إفتراضي وطبيعي فإن ملف الPassword file حساس لحالة الحروف (case-sensitive).

للإتصال بقاعدة البيانات والتحقق عبر ملف الPassword file يجب أولاً ان تملك أحد الإمتيازات الإدارية ومن ثم تتصل بال SQL*Plus باسم المستخدم وكلمة المرور بالإضافة لعبارة (AS SYSDBA, AS SYSOPER, AS SYSBACKUP, AS SYSDG, or AS SYSKM) علي سبيل المثال:

CONNECT mydba AS SYSDBA

CONNECT mydba AS SYSOPER

 

في حال إن المستخدم mydba لم يتم منحه الصلاحية SYSDBA او SYSOPER فإن عملية الإتصال اعلاه ستنفشل.

كما يجب التنبيه إلي أن عملية التحقق عن طريق نظام التشغيل لها الأولوية علي التحقق عن طريق ملف الPassword file في حال كان التحقق عن طريق نظام التشغيل متاحاً.

 


علامات : Database

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان