الملخص التقني لقوائم التحكم بالوصول 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

مساحات الأسماء

System.Security.AccessControl

التقنيات ذات الصلة

الأمان في .NET Framework

الخلفية

قائمة التحكم بالوصول الإختياري (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.

المجال التقني

الفئات

مفاتيح التشفير

CryptoKeySecurity

CryptoKeyAccessRule

CryptoKeyAuditRule

دلائل

DirectorySecurity

FileSystemAccessRule

FileSystemAuditRule

معالجات حدث الانتظار Wait

EventWaitHandleSecurity

EventWaitHandleAccessRule

EventWaitHandleAuditRule

الملفات

FileSecurity

FileSystemAccessRule

FileSystemAuditRule

كائنات المزامنة

MutexSecurity

MutexAccessRule

MutexAuditRule

مفاتيح التسجيل

RegistrySecurity

RegistryAccessRule

RegistryAuditRule

الإشارات

SemaphoreSecurity

SemaphoreAccessRule

SemaphoreAuditRule

للاستعلام عن معلومات 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

CspKeyContainerInfo.CryptoKeySecurity

دلائل

Directory.GetAccessControl

Directory.SetAccessControl

DirectoryInfo.GetAccessControl

DirectoryInfo.SetAccessControl

DirectoryInfo.Create

معالجات حدث الانتظار Wait

EventWaitHandle.GetAccessControl

EventWaitHandle.SetAccessControl

EventWaitHandle.EventWaitHandle

الملفات

FileStream.GetAccessControl

FileStream.SetAccessControl

FileStream.FileStream

File.GetAccessControl

File.SetAccessControl

File.Create

FileInfo.GetAccessControl

FileInfo.SetAccessControl

كائنات المزامنة

Mutex.GetAccessControl

Mutex.SetAccessControl

Mutex.Mutex

مفاتيح التسجيل

RegistryKey.GetAccessControl

RegistryKey.SetAccessControl

RegistryKey.CreateSubKey

الإشارات

Semaphore.GetAccessControl

Semaphore.SetAccessControl

Semaphore.Semaphore

راجع أيضًا:

موارد أخرى

نظرة عامة على تكنولوجيا قوائم التحكم في الوصول (ACL)

الأمان في .NET Framework