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.
تعليقات
إرسال تعليق