الملخص التقني لقوائم التحكم بالوصول ACL
يلخص هذا الموضوع معلومات حول واجهة API المُدارة لقوائم التحكم بالوصول الاختياري (DACLs) و قوائم التحكم بالوصول للنظام (SACLs) و إدخالات التحكم بالوصول (ACE). يمكنك استخدام الفئات في مساحة الاسم System.Security.AccessControl للوصول برمجياً إلى قوائم DACL، و SACLs، و ACEs لأنواع متعددة من الموارد المحمية في الإصدار 2.0 والإصدارات الأحدث من برنامج .NET Framework.
واجهة API الخاصة بقوائم ACL المُدارة تجعل العمل مع ACLs أسهل من التطبيق الغير مُدار عن طريق توفير عدة فئات تتولى التعامل مع العديد من التفاصيل من أجلك. على سبيل المثال، ليس من الممكن إنشاء قوائم null DACL في التطبيق الغير مُدار و لم تعد هناك حاجة للقلق حول إنشاء قوائم DACL غير آمنة بطريق الخطأ بسبب خطأ في ترتيب إدخالات ACE.
الكلمات الأساسية
قائمة التحكم بالوصول (ACL)، و قائمة التحكم بالوصول الإختياري (DACL)، وقائمة التحكم بالوصول للنظام (SACL)، إدخال التحكم بالوصول (ACE)، و تدوين ACE
مساحات الأسماء
التقنيات ذات الصلة
الخلفية
قائمة التحكم بالوصول الإختياري (DACL)، و التي يتم أحيانًا اختصارها إلى ACL، هي نوع من التقنيات المستخدمة بواسطة Microsoft Windows NT والإصدارات الأحدث من أجل حماية الموارد مثل الملفات والمجلدات. تحتوي قوائم DACL على عدة إدخالات تحكم بالوصول (ACE) والتي تقوم بإقران حساب أساسي ما (عادةً حساب مستخدم أو مجموعة من الحسابات) مع قاعدة تحكم باستخدام المورد. تسمح لم قوائم DACL و إدخالات ACE بالسماح أو رفض حقوق الوصول إلى الموارد استناداً إلى الأذونات التي يمكنك إقرانها مع حسابات المستخدمين. على سبيل المثال، يمكنك إنشاء إدخال ACE وتطبيقه على قائمة DACL لملف لمنع أي شخص من قراءة الملف عدا المسؤول.
قائمة التحكم بالوصول للنظام (SACL)، و التي يشار إليها أحياناً على أنها إدخال ACE، هي آلية تحكم في تدوين الرسائل المقترنة بمورد ما. و مثل DACL تحتوي قوائم SACL على إدخالات ACEs لتعريف قواعد التدوين لمورد محدد. تسمح لك إدخالات تدوين ACEs بتسجيل المحاولات الناجحة أو الفاشلة للوصول إلى مورد ما، ولكنها تختلف عن إدخالات وصول ACE لأنها لا تتحكم بالحسابات التي يمكنها استخدام مورد ما. على سبيل المثال، يمكنك إنشاء ACE وتطبيقه على قائمة SACL لملف ما لتسجيل كافة المحاولات الناجحة لفتح الملف.
نظرة سريعة على فئات ACL
يسرد الجدول التالي الفئات الرئيسية التي يمكنك استخدامها لإنشاء قوائم ACL وتعديلها بسهولة في جوانب مختلفة في التكنولوجيا. و لا تعد هذه القائمة شاملة لمساحة الاسم System.Security.AccessControl ولكنها قائمة بالفئات الرئيسية التي يجب عليك استخدامها للتعامل مع قوائم ACL.
المجال التقني |
الفئات |
---|---|
مفاتيح التشفير |
|
دلائل |
|
معالجات حدث الانتظار Wait |
|
الملفات |
|
كائنات المزامنة |
|
مفاتيح التسجيل |
|
الإشارات |
للاستعلام عن معلومات ACL الموجودة حالياُ لمورد ما أو لتطبيق معلومات ACL المعدلة على مورد ما، يجب عليك استخدام أحد الطرق المتعددة التي توفر الوصول إلى قوائم ACL لمورد موجود. الفئات في الجدول السابق توفر أساليب لبناء قوائم ACL وتحريرها ولكنها لا توفر طرق للاستعلام عن أو تطبيق قوائم ACL.
يحتوي كل مورد على أساليب مقترنة تطبق قوائم ACL أثناء إنشاء المورد (و تكون عادةً كتحميل زائد على الدالة الإنشائية)، و التي تقوم باسترداد قوائم ACL للحصول على مورد موجود و أيضاً التي تطبق قوائم ACL على مورد موجود.
يسرد الجدول التالي الأساليب المستخدمة الحصول على و ضبط قوائم ACL لكل جانب من جوانب التكنولوجيا. توجد هذه الأساليب في مساحات أسماء متعددة خارج مساحة الاسم System.Security.AccessControl وهي تعد جزء من فئات عالية المستوى تمثل مورد معين. على سبيل المثال، لعمل استعلام عن ACL لمجلد محدد، يمكنك استخدام الأسلوب Directory.GetAccessControl للحصول على كائن DirectorySecurity الذي يقوم بتغليف قوائم DACL و SACLs للمجلد. لاحظ أن بعض الموارد، مثل الملفات والمجلدات، لديها العديد من الطرق المكافئة في فئات مختلفة و توفر وصول إلى قوائم ACL.
المجال التقني |
أساليب الحصول على وتعيين قوائم ACL |
---|---|
مفاتيح التشفير |
CspParameters.CryptoKeySecurity CspParameters.CspParameters CspParameters.CspParameters |
دلائل |
DirectoryInfo.GetAccessControl |
معالجات حدث الانتظار Wait |
EventWaitHandle.GetAccessControl EventWaitHandle.SetAccessControl EventWaitHandle.EventWaitHandle |
الملفات |
FileStream.FileStream |
كائنات المزامنة |
Mutex.Mutex |
مفاتيح التسجيل |
|
الإشارات |
Semaphore.Semaphore |