انتقل إلى محتوى الدرس

Inspecting and Revoking Privileges مراجعة وسحب الصلاحيات REVOKE

تعلّم إدارة الصلاحيات والأدوار عبر GRANT و REVOKE وتطبيق مبدأ أقل الصلاحيات في MySQL 8 مع أمثلة SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تتطلب المراجعة الأمنية الدورية فحص الصلاحيات الفعلية الممنوحة لكل حساب عبر SHOW GRANTS، وسحب أي صلاحية زائدة فوراً عبر الأمر القياسي REVOKE:

  • SHOW GRANTS FOR 'shop_app'@'10.0.1.%';: يعرض قائمة دقيقة بجميع جمل GRANT المطبقة حالياً على هذا الحساب.
  • REVOKE UPDATE ON shop_db.* FROM 'shop_app'@'10.0.1.%';: يسحب صلاحية التحديث فوراً من الحساب مع الإبقاء على صلاحيتي SELECT وINSERT دون تأثر.
  • قاعدة تطابق النطاق عند السحب: لسحب صلاحية مُنحت على مستوى قاعدة البيانات (ON shop_db.*)، يجب تحديد نفس النطاق تماماً (ON shop_db.*) داخل جملة REVOKE.
  • REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'host';: يجرد الحساب من كافة الصلاحيات في جميع المستويات ويعيده إلى حالة USAGE الأساسية دون حذف الحساب نفسه.
+------------------------------------------------------------------+
| Grants for [email protected].%                                     |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `shop_app`@`10.0.1.%`                      |
| GRANT SELECT, INSERT ON `shop_db`.* TO `shop_app`@`10.0.1.%`     |
+------------------------------------------------------------------+
SQL
SHOW GRANTS FOR 'shop_app'@'10.0.1.%';

REVOKE UPDATE
ON shop_db.*
FROM 'shop_app'@'10.0.1.%';

SHOW GRANTS FOR 'shop_app'@'10.0.1.%';