الدرس الخامس عشر: انشاء الصلاحيات وRoles, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل
السلام عليكم ورحمة الله وبركاته
في هذا الدرس سنتحدث عن ROLES وكيفية انشائها وسنشرح بعض النقاط المهمه بها
ROLES هو عبارة عن مجموعة من الشروط يتم انشائها ليتم الزام المستخدم بها وهي
Creating a Role
لانشاء ال Role يجب انشاء Role system privileges وليتم ذلك نتبع الخطوات التالية
في هذا الدرس سنتحدث عن ROLES وكيفية انشائها وسنشرح بعض النقاط المهمه بها
ROLES هو عبارة عن مجموعة من الشروط يتم انشائها ليتم الزام المستخدم بها وهي
Creating a Role
لانشاء ال Role يجب انشاء Role system privileges وليتم ذلك نتبع الخطوات التالية
كود:
CREATE ROLE role_name
[ NOT IDENTIFIED |
IDENTIFIED {BY password | USING [schema.] package | EXTERNALLY |
GLOBALLY };
حيث
role_name هو اسم ال role
NOT IDENTIFIED : توضع في حال تعريف ال role حيث تفعل الrole ولا يحتاج لكلمة سر لتفعيل ال role
IDENTIFIED هنا يجب ان تقوم بتعريف خصائص ال role قبل تفعيلها
BY password هنا تعني ان المستخدم يجب ان يضع كلمة سر قبل تفعيل ال role
USING package هنا انك قد انشأت مجموعة من role ويجب تطبيقها من خلال البرنامج
EXTERNALLY وهذا يعني انك تحتاج الى تعريف خصائص EXTERNALLY قبل تشغيل ال role
GLOBALLY يعني ان المستخدم يستطيع تعريف او الاطلاع على اليوزر عن طريق مجلدات ال enterprise
مع ملاحظة اننا اذا لم نضع NOT IDENTIFIED او نضع IDENTIFIED سوف يتم انشاء ال role على اساس انها NOT IDENTIFIED
مثال
ننشئ role ونسميها test_role
role_name هو اسم ال role
NOT IDENTIFIED : توضع في حال تعريف ال role حيث تفعل الrole ولا يحتاج لكلمة سر لتفعيل ال role
IDENTIFIED هنا يجب ان تقوم بتعريف خصائص ال role قبل تفعيلها
BY password هنا تعني ان المستخدم يجب ان يضع كلمة سر قبل تفعيل ال role
USING package هنا انك قد انشأت مجموعة من role ويجب تطبيقها من خلال البرنامج
EXTERNALLY وهذا يعني انك تحتاج الى تعريف خصائص EXTERNALLY قبل تشغيل ال role
GLOBALLY يعني ان المستخدم يستطيع تعريف او الاطلاع على اليوزر عن طريق مجلدات ال enterprise
مع ملاحظة اننا اذا لم نضع NOT IDENTIFIED او نضع IDENTIFIED سوف يتم انشاء ال role على اساس انها NOT IDENTIFIED
مثال
ننشئ role ونسميها test_role
كود:
CREATE ROLE test_role;
هنا ننشئ role ولكن نستخدم
الباسوورد حيث يطلب الباسوورد عند تشغيلها
كود:
CREATE ROLE test_role
IDENTIFIED BY test123;
Grant Privileges (on Tables) to Roles
اعطاء الصلاحيات على الجداول ل role باستخدام privilege
وهناك انواع من الصلاحيات على الجداول
* Select لاعطاء صلاحية الاستعلام باستخدام جملة select
*Insert هو اعطاء صلاحية اضافة سجل جديد على الجداول
*Update اعطاء صلاحية التحديث على سجل في الجدول
*Delete اعطاء صلاحية الحذف لسجل من الجدول
*References اعطاء صلاحية لانشاء ال Constraints
* Alter اعطاء صلاحية التعديل على الجدول
*Index اعطاء صلاحية لانشاء ال index على الجدول
القاعدة
كود:
grant privileges on
object to role_name
مثال على اعطاء بعض
الصلاحيات ل
Roles
كود:
grant select, insert, update, delete on suppliers to test_role;
مثال على اعطاء
الصلاحيات لجميع ال
Roles
كود:
grant all on suppliers to test_role;
إلغاء الصلاحيات عن Roles
Revoke Privileges (on Tables) to Roles
هذه الخاصية هي كيفية الغاء الصلاحية عن Roles
Revoke Privileges (on Tables) to Roles
هذه الخاصية هي كيفية الغاء الصلاحية عن Roles
كود:
revoke privileges on object from role_name;
مثال الغاء عن مجموعة
من الصلاحيات
كود:
revoke delete on suppliers from test_role;
مثال على الغاء جميع
الصلاحيات
كود:
revoke all on suppliers from test_role;
اعطاء الصلاحية ل Roles لCompilation Procedure /Functions
Grant Privileges (on Functions/Procedures) to Roles
الصلاحية تسمى ب Execute
وهي تمكن الRoles من عمل ترجمة وتشغيل للبروسيجر والفانكشن بشكل مباشر
كود:
grant execute on Find_Value to test_role;
الغاء الصلاحية عن ال roles
كود:
revoke execute on object from role_name;
مثال
كود:
revoke execute on Find_Value from test_role;
اعطاء صلاحيات ال Roles الى المستخدم
Granting the Role to a User
وهي تمكن من السيطرة على صلاحيات المستخدم للنظام
القاعدة
كود:
GRANT role_name TO user_name;
مثال
كود:
GRANT test_role to smithj;
استخدام ال The SET ROLE statement
هذه الخاصية التي تدعى ال Set Role لتفعيل او عدم تفعيل ال Roles
قاعدة الاستخدام
هذه الخاصية التي تدعى ال Set Role لتفعيل او عدم تفعيل ال Roles
قاعدة الاستخدام
كود:
SET ROLE
( role_name [ IDENTIFIED BY password ]
| ALL [EXCEPT role1, role2, ... ]
| NONE );
role_name اسم ال Role
IDENTIFIED BY password هنا لوضع كلمة سر على ال Role
ALL تعني تفعيل جميع ال Roles والتي تكون داخل قائمة ال Except
NONE لعدم تفعيل ال Role
مثال
IDENTIFIED BY password هنا لوضع كلمة سر على ال Role
ALL تعني تفعيل جميع ال Roles والتي تكون داخل قائمة ال Except
NONE لعدم تفعيل ال Role
مثال
كود:
SET ROLE test_role IDENTIFIED BY test123;
خصائص تحويل ال role مثل ال DefualtRole
Setting a role as DEFAULT Role
قاعدة ....
كود:
ALTER USER user_name
DEFAULT ROLE
( role_name
| ALL [EXCEPT role1, role2, ... ]
| NONE );
role_name اسم ال Role
ALL تعني تفعيل جميع ال Roles والتي تكون داخل قائمة ال Except
NONE لعدم تفعيل ال Role
مثال
ALL تعني تفعيل جميع ال Roles والتي تكون داخل قائمة ال Except
NONE لعدم تفعيل ال Role
مثال
كود:
ALTER USER smithj
DEFAULT ROLE
test_role;
مثال 2
كود:
ALTER USER smithj
DEFAULT ROLE
ALL EXCEPT test_role;
Dropping a Role
حذف ال Role
القاعدة
كود:
DROP ROLE role_name;
امثلة
كود:
DROP ROLE test_role
انتهى الدرس
بارك الله فيك على هذا الشرح القيم
ردحذف