SQL Server - Section2 - الصلاحيات: GRANT, REVOKE, DENY في SQL Server
الصلاحيات: GRANT, REVOKE, DENY في SQL Server
في SQL Server، تُستخدم أوامر GRANT
و REVOKE
و DENY
لإدارة صلاحيات الوصول للمستخدمين على مستوى الجداول، القواعد، والإجراءات.
🟢 GRANT – منح صلاحية
يُستخدم الأمر GRANT
لمنح المستخدم أو الدور حق تنفيذ أمر معين، مثل القراءة من جدول أو تنفيذ إجراء مخزن.
GRANT SELECT ON Customers TO mahmoud;
⬅ يمنح المستخدم mahmoud
صلاحية SELECT
على جدول Customers
.
🛑 DENY – منع صلاحية
يُستخدم DENY
لمنع مستخدم من تنفيذ إجراء معين، حتى لو كان له صلاحية عن طريق دور آخر.
DENY SELECT ON Customers TO mahmoud;
⬅ يمنع المستخدم mahmoud
من استخدام SELECT
على جدول Customers
.
🔄 REVOKE – سحب الصلاحية
يُستخدم REVOKE
لإزالة صلاحية تم منحها سابقًا باستخدام GRANT
أو DENY
.
REVOKE SELECT ON Customers FROM mahmoud;
⬅ يُزيل أي صلاحية SELECT
كانت ممنوحة أو ممنوعة على المستخدم mahmoud
.
📋 صلاحيات شائعة في SQL Server
الصلاحية | الوصف |
---|---|
SELECT |
قراءة البيانات من جدول أو View |
INSERT |
إدخال بيانات جديدة |
UPDATE |
تعديل بيانات موجودة |
DELETE |
حذف البيانات |
EXECUTE |
تشغيل إجراء مخزن أو دالة |
🧠 ملاحظات مهمة
DENY
يتغلب علىGRANT
– إذا تم منحهما معًا.REVOKE
لا يمنع، بل يُزيل الصلاحية فقط.- تستطيع منح أو سحب صلاحيات من مستخدم أو
Role
. - بعض الصلاحيات تكون على مستوى السيرفر، مثل
CREATE DATABASE
.
🔐 استخدام الأدوار Roles
يمكنك منح الصلاحيات لمجموعة مستخدمين من خلال دور Role
بدلاً من كل مستخدم على حدة.
GRANT SELECT ON Customers TO db_datareader;
⬅ يمنح جميع أعضاء الدور db_datareader
صلاحية القراءة من جدول Customers
.
تعليقات
إرسال تعليق