نماذج التفويض: RBAC وMAC وDAC
قارن بين نماذج التحكم بالوصول القائم على الأدوار والإلزامي والاختياري، وتعلّم متى يكون كل نموذج مناسبًا في سياقات المؤسسات والحكومات.
نماذج التفويض: RBAC وMAC وDAC درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
نظرة عامة على نماذج التحكم في الوصول
تحدّد نماذج التحكم في الوصول القواعد والسياسات التي تنظّم أيّ الكيانات (المستخدمين والعمليات) يمكنها الوصول إلى أيّ كائنات (الملفات والأنظمة والبيانات). ويحدّد النموذج المختار من يمكنه منح الوصول، وكيفية إسناد الأذونات، وكيفية تطبيقها. يغطي اختبار Security+ أربعة نماذج أساسية: التحكم التقديري في الوصول (DAC)، والتحكم الإلزامي في الوصول (MAC)، والتحكم في الوصول القائم على الأدوار (RBAC)، والتحكم في الوصول القائم على القواعد. ويُعد فهم نقاط قوة كل نموذج وحالات استخدامه المناسبة أمرًا أساسيًا لتصميم أنظمة تفويض فعّالة.
التحكم التقديري في الوصول (DAC)
في التحكم التقديري في الوصول (DAC)، يملك مالك المورد صلاحية تحديد من يمكنه الوصول إلى موارده، ويمكنه منح الوصول إلى مستخدمين آخرين أو سحبه منهم. ويتمثل الجانب «التقديري» في أن المالكين هم من يتخذون القرارات — إذ يطبّق النظام قراراتهم لكنه لا يفرضها. وهذا هو النموذج المستخدم في معظم بيئات الحوسبة الشخصية (أذونات ملفات Windows NTFS وأذونات ملفات Linux/Unix). وتتمثل محدودية DAC الأمنية في أنه يتطلب من كل مالك مورد اتخاذ قرارات وصول صحيحة — فالمستخدم الذي يحصل على الوصول إلى ملف يمكنه منح ذلك الوصول لآخرين من دون تدخل المسؤول، مما قد يؤدي إلى انتشار البيانات الحساسة خارج نطاق الجمهور المقصود.
# DAC example: Linux file permissions (owner controls access)
# Create a file and check default permissions
touch confidential_data.txt
ls -la confidential_data.txt
# -rw-rw-r-- 1 alice users (owner=alice, can read/write; group can read/write; others read)
# Owner (Alice) discretionarily removes all access for others
chmod 600 confidential_data.txt
# -rw------- 1 alice users (only Alice can read/write)
# Alice grants read to a specific user via ACL
setfacl -m u:bob:r confidential_data.txtمخاطر DAC: مشكلة الوكيل المربك
ينطوي DAC على خطرين أمنيين متأصلين. الوصول المتسلسل: يمنح المستخدم A المستخدمَ B حق الوصول، ثم يمنح المستخدم B المستخدمَ C حق الوصول — وقد لا يعرف المالك الأصلي حتى أن C يملك حق الوصول إلى مورده. مشكلة الوكيل المربك: قد يستخدم برنامج ذو امتيازات، يعمل نيابةً عن مستخدم أقل امتيازًا، امتيازاته عن غير قصد بطريقة لا يستطيع المستخدم تنفيذها مباشرةً. وفي بيئات DAC، قد يتمكن حساب واحد مخترق من الوصول إلى جميع الموارد التي مُنح ذلك المستخدم حق الوصول إليها، وقد يمنح الآخرين حق الوصول قبل اكتشاف الاختراق. يتميز DAC بالسهولة، لكنه يفرض تحديات أمام الاحتواء الصارم للمعلومات.
التحكم الإلزامي في الوصول (MAC)
في التحكم الإلزامي في الوصول (MAC)، يطبّق نظام التشغيل سياسات الوصول استنادًا إلى تصنيفات أمنية تُسند إلى الكيانات (المستخدمين) والكائنات (البيانات) معًا. ولا يستطيع المستخدمون تجاوز هذه السياسات أو تغييرها — ولا يمكن تعديلها إلا بواسطة مسؤول النظام أو سياسة الأمان. يُستخدم MAC في البيئات الحكومية والعسكرية المصنفة، حيث يجب تقسيم البيانات إلى أقسام معزولة بصرامة. فلا يستطيع مستخدم لديه تصريح «سري» الوصول إلى بيانات مصنفة «سري للغاية»، حتى لو رغب مالك البيانات في منحه الوصول. ويُعد نموذجا Bell-LaPadula (لا قراءة إلى أعلى، لا كتابة إلى أسفل) وBiba (لا كتابة إلى أعلى، لا قراءة إلى أسفل) تطبيقين رسميين لـ MAC.
# SELinux is a MAC implementation for Linux
# Check SELinux mode and policy
getenforce # Enforcing / Permissive / Disabled
sestatus # Detailed SELinux status
# View SELinux security context labels on files
ls -Z /etc/passwd
# system_u:object_r:passwd_file_t:s0 /etc/passwd
# Security context: user:role:type:level
# A process can only access files where its type has explicit permission
sudo ausearch -m avc -ts recent # View MAC policy denialsنموذجا Bell-LaPadula وBiba لـ MAC
يعبّر نموذجان رسميان لـ MAC عن أهداف الأمان في صورة قواعد رياضية. يركّز Bell-LaPadula على السرية: لا يمكن للكيانات قراءة بيانات أعلى من مستوى تصنيفها (لا قراءة إلى أعلى)، ولا يمكنها كتابة البيانات إلى مستوى تصنيف أدنى (لا كتابة إلى أسفل). ويمنع ذلك تدفق المعلومات الحساسة إلى المستخدمين غير المصرح لهم. يركّز Biba على السلامة: لا يمكن للكيانات الكتابة إلى مستوى سلامة أعلى (لا كتابة إلى أعلى)، ولا القراءة من مستوى سلامة أدنى (لا قراءة إلى أسفل). ويمنع Biba تلويث البيانات عالية السلامة بمدخلات منخفضة السلامة. وتجمع أنظمة MAC الفعلية (مثل SELinux) بين جوانب من كلا النموذجين.
التحكم في الوصول القائم على الأدوار (RBAC)
يسند التحكم في الوصول القائم على الأدوار (RBAC) الأذونات إلى الأدوار بدلًا من إسنادها مباشرةً إلى المستخدمين الأفراد، ثم يسند المستخدمين إلى الأدوار. ويحل ذلك تحدي إدارة إسناد الأذونات الفردية على نطاق واسع. وتشمل الأدوار الشائعة في بيئات المؤسسات: admin وauditor وdeveloper وHR_manager وfinance_analyst. وعند انضمام موظف جديد، يُضاف إلى الدور المناسب ويرث فورًا جميع الأذونات التي يتطلبها ذلك الدور. وعندما يغيّر الموظف منصبه، يتغير دوره وتُعدّل أذوناته تلقائيًا. ويُعد RBAC النموذج السائد في أنظمة IAM المؤسسية.
# RBAC example (database permissions)
# Create roles and assign permissions
CREATE ROLE readonly_analyst;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_analyst;
CREATE ROLE data_engineer;
GRANT SELECT, INSERT, UPDATE ON customer_data TO data_engineer;
# Assign users to roles
GRANT readonly_analyst TO alice;
GRANT data_engineer TO bob;
# When Alice is promoted: revoke old role, grant new one
REVOKE readonly_analyst FROM alice;
GRANT data_engineer TO alice;مزايا RBAC: قابلية التوسع الإداري وفصل المهام
تتمثل الميزة الأساسية لـ RBAC في قابلية التوسع الإداري. إذ يؤثر تعديل أذونات دور ما فورًا في جميع المستخدمين المنتمين إليه — فلا حاجة إلى تحديث سجلات المستخدمين الفردية عبر مئات الأنظمة. ويدعم RBAC طبيعيًا فصل المهام من خلال ضمان عدم امتلاك أي دور أذونات متعارضة (مثل دور يستطيع إنشاء المعاملات المالية والموافقة عليها معًا). كما يبسّط RBAC الامتثال؛ إذ يستطيع المدققون مراجعة الأدوار وأذوناتها بدلًا من تدقيق آلاف عمليات إسناد المستخدمين الفردية. أما القيد فهو تضخم الأدوار — إذ تنشئ المؤسسات أحيانًا عددًا كبيرًا جدًا من الأدوار الدقيقة، مما يؤدي إلى تعقيد إداري يقوّض ميزة قابلية التوسع.
التحكم في الوصول القائم على القواعد
يمنح التحكم في الوصول القائم على القواعد (ويجب عدم الخلط بينه وبين RBAC) الوصول أو يرفضه استنادًا إلى مجموعة من القواعد الشرطية بدلًا من الهوية أو الدور وحدهما. وتُعد قواعد جدار الحماية المثال التقليدي: «السماح بـ TCP من 192.168.1.0/24 إلى أي وجهة عبر المنفذ 443. رفض جميع حركات المرور الأخرى». ويُقيَّم الوصول مقابل القواعد بالترتيب إلى أن تُعثر على مطابقة. ويُدمج التحكم القائم على القواعد عادةً مع نماذج أخرى: إذ يستخدم MAC التصنيفات الأمنية بوصفها قواعد، بينما يوسّع التحكم في الوصول القائم على السمات (ABAC) المنطق القائم على القواعد لتقييم سمات متعددة (قسم المستخدم، ونوع الجهاز، ووقت اليوم، وتصنيف المورد) في الوقت نفسه لاتخاذ قرارات دقيقة.
# Rule-based access control: iptables firewall rules
# Rules are evaluated in order; first match wins
# Allow established/related connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow specific source IP to SSH
iptables -A INPUT -s 10.0.0.100 -p tcp --dport 22 -j ACCEPT
# Allow HTTPS from anywhere
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Default deny all other inbound
iptables -A INPUT -j DROPالتحكم في الوصول القائم على السمات (ABAC)
يُعد ABAC (التحكم في الوصول القائم على السمات) أكثر نماذج التحكم في الوصول مرونةً ودقةً. وتقيّم قرارات الوصول سمات متعددة في الوقت نفسه: سمات الكيان (قسم المستخدم، ومستوى التصريح، والموقع)، وسمات الكائن (تصنيف البيانات، وقسم المالك، وتصنيف الاحتفاظ)، والسمات البيئية (وقت اليوم، ونوع الجهاز، وموقع الشبكة)، وسمات الإجراء (القراءة والكتابة والحذف). وقد تنص سياسة ما على ما يلي: «السماح بالوصول إذا كان user.department = Finance وresource.classification = Internal وdevice.type = corporate وtime.hour BETWEEN 8 و18». يتيح ABAC اتخاذ قرارات للسياسات وفق مبدأ انعدام الثقة، وتطبّقه منتجات مثل XACML ومحركات سياسات IAM السحابية.
اختيار النموذج المناسب
يعتمد نموذج التحكم في الوصول المناسب على متطلبات الأمان والسياق التنظيمي. DAC: مناسب للحوسبة الشخصية والفرق الصغيرة التي تعطي الأولوية للسهولة على التحكم الصارم. MAC: مطلوب في البيئات الحكومية والعسكرية المصنفة ذات التقسيم الصارم للمعلومات. RBAC: مثالي للمؤسسات التي تكون فيها قابلية التوسع الإداري حاسمة وتتطابق الأدوار بوضوح مع الوظائف الوظيفية. ABAC: مناسب للبيئات السحابية وبنى انعدام الثقة التي تحتاج إلى سياسات دقيقة واعية بالسياق. وعمليًا، تستخدم معظم المؤسسات مزيجًا من النماذج: يكون RBAC أساسًا، مع استخدام ABAC لاتخاذ قرارات وصول حساسة للسياق.
قوائم التحكم في الوصول (ACLs)
بغضّ النظر عن نموذج التحكم في الوصول، تُعدّ قوائم التحكم في الوصول (ACLs) آلية التنفيذ التقنية الأكثر شيوعًا. تحدد قائمة التحكم في الوصول المرتبطة بموردٍ ما أيّ الكيانات يمكنها تنفيذ أيّ إجراءات. تتحكم قوائم التحكم في الوصول إلى نظام الملفات (Windows NTFS وLinux POSIX ACLs) في الوصول إلى الملفات والمجلدات. وتتحكم قوائم التحكم في الوصول إلى الشبكة في تدفق حركة المرور على مستوى الموجّه أو الشبكة السحابية. أما قوائم التحكم في الوصول إلى قاعدة البيانات فتتحكم في الوصول إلى مستوى الجداول والصفوف. ويمكن لقوائم التحكم في الوصول تنفيذ أيٍّ من النماذج التي ناقشناها: إذ تنفّذ قائمة الوصول إلى ملف نموذج DAC عندما يتحكم المالك فيها؛ وتنّفذ قائمة الوصول في نظام أمني نموذج MAC عندما تحدد التسميات الإدخالات؛ وتنّفذ قائمة الوصول في أحد التطبيقات نموذج RBAC عندما تشير الإدخالات إلى الأدوار.
# Windows NTFS ACL example using icacls
# View current ACL on a folder
icacls 'C:\Sensitive\HR_Data'
# BUILTIN\Administrators:(OI)(CI)(F) <- Full control
# CONTOSO\HR_Team:(OI)(CI)(RX) <- Read and Execute
# Grant specific permissions to HR Managers group
icacls 'C:\Sensitive\HR_Data' /grant 'CONTOSO\HR_Managers:(OI)(CI)(M)'
# (OI)=Object Inherit, (CI)=Container Inherit, (M)=Modify
# Remove access for a former contractor
icacls 'C:\Sensitive\HR_Data' /remove 'CONTOSO\contractors'تحقق سريع
اختبر مدى فهمك لمفاهيم CompTIA Security+ (SY0-701) التي تناولها هذا الدرس.
مراجعة الدرس
لقد تعلمت في هذا الدرس أن: DAC يتيح لمالكي الموارد التحكم في الوصول (وهو مرن لكنه ينطوي على مخاطر)؛ ويستخدم MAC تسميات أمنية يفرضها النظام (وهو صارم ويُستخدم في البيئات المصنّفة)؛ ويُسند RBAC الصلاحيات إلى الأدوار لتحقيق قابلية التوسع في المؤسسات؛ ويقيّم ABAC سمات متعددة لاتخاذ قرارات دقيقة في إطار انعدام الثقة. ننتقل بعد ذلك إلى الهوية المُوحّدة: SAML وOAuth وOpenID Connect.
الأسئلة الشائعة
هل درس «نماذج التفويض: RBAC وMAC وDAC» مجاني؟
نعم — نص درس «نماذج التفويض: RBAC وMAC وDAC» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «نماذج التفويض: RBAC وMAC وDAC»؟
قارن بين نماذج التحكم بالوصول القائم على الأدوار والإلزامي والاختياري، وتعلّم متى يكون كل نموذج مناسبًا في سياقات المؤسسات والحكومات. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «نماذج التفويض: RBAC وMAC وDAC»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- سياسات كلمات المرور والمصادقة متعددة العوامل
- المقاييس الحيوية والمصادقة القائمة على الرموز
- نماذج التفويض: RBAC وMAC وDAC
- الهوية الموحّدة: SAML وOAuth وOpenID Connect