DAC (Dynamic Access Control) چیست و چگونه آن را پیاده سازی کنیم؟

توسط این ویژگی ارزشمند مایکروسافت، این امکان وجود خواهد داشت که Permission ها و محدودیت دسترسی خاص و قوی، برای منابع خود در شبکه دومین ایجاد کنیم.

 

غالباً ما برای ایجاد محدودیت بر روی فایل‌ها و فولدرها در شبکه، در تب Security با دادن Permissions ، محدودیت‌هایی در سطح خواندن و نوشتن و… ایجاد می‌کنیم که روش کارآمد و معقولی است.

شرکت نیرومند مایکروسافت 💪، اما ویژگی جالب‌تر و قوی‌تری نیز به ما ارائه کرده است که در شبکه‌های مبتنی بر دومین، به راحتی و با کمی حوصله، می‌توان محدودیت‌هایی به مراتب قدرتمندتر و متفاوت‌تر از آنچه تا به حال با آن سروکار داشتیم، ایجاد کنیم، که آن ویژگی Dynamic Access Control  و یا به اختصار DAC می‌باشد.

با این ویژگی، می‌توان به راحتی با ایجاد قوانین و قواعدی برای فایل‌ها و فولدرها، دسترسی کاربران را بر اساس attribute های موجود آنان در اکتیودایرکتوری، محدود کنیم.

به عنوان مثال، کاربرانی که در طبقه سوم دپارتمان اداری شرکت theways در شعبه‌ی شهر تهران هستند و عنوان شغلی آنان مدیر مالی است، به فولدر myresource که در آن شرکت است، دسترسی خواندن و نوشتن داشته باشند، ولی کاربرانی که سمت آنان کارمند مالی است فقط دسترسی خواندن و سایر کاربران به آن دسترسی نداشته باشند.

می‌توان هزاران مثال متفاوت و پیچیده‌تر، با کمی حوصله، به راحتی با این ویژگی، پیاده‌سازی کرد.

در اصل ویژگی DAC، فراتر از ایجاد مجوزها بر روی گروه‌ها و کاربران، با نوشتن Rule های متفاوت، سطوح دسترسی دقیق‌تر و منعطف‌تری ایجاد می‌کند و نیز می‌توان با تلفیق آن با  Classification، در مباحث مدیریت منابع فایل سرور (FSRM)، به ویژگی‌های خفنی! به معنای واقعی کلمه، دست پیدا کرد.

در این ویژگی، از عبارت Claim به عنوان خصوصیات کاربران که در اصل همان attribute های آنان است استفاده شده (به عنوان مثال عنوان شغلی یک کاربر) و از عبارت Properties به عنوان خصوصیات منابع و Resource ها (به عنوان مثال شرکتی که آن فولدر متعلق به آن است).

در واقع، Property ها، برای توصیف و طبقه‌بندی منابع، مانند فایل‌ها و فولدرها، در زمان نوشتن قوانین استفاده می‌شود و مقدار آن‌ها از نوع‌های گوناگونی می‌تواند باشد؛ مثل:

  • Date Time
  • Multi-Valued Choice
  • Single-Valued Choice
  • Ordered List
  • Number
  • Text
  • Yes / No

پیش از شروع به کانفیگ DAC، باید مشخص کنیم که برای کدام منابع و آبجکت‌های دومین و بر اساس چه سناریو و شروطی می‌خواهیم محدودیت اعمال کنیم. بر این اساس مراحل را به ترتیب جلو می‌بریم.

چگونگی ایجاد و کانفیگDAC  :

 

۱- تعریف Claim:

برای این اینکار در سرورDC، وارد کنسول Active Directory Administrator Center  می شویم (dsac را در run  تایپ کنید) . سپس از بخش Dynamic Access Control   به زیر شاخه ی   Claim Types رفته و در آنجا با راست کلیک، New Claim Type را انتخاب میکنیم.

در صفحه بازشده، بر اساس خصوصیاتی که برای کاربران در نظر داریم، آن‌ها را از لیست موجود انتخاب کرده و در بخش Display Name  یک نام به آن اختصاص می‌دهیم

 

۲- تعریف Property:

در همان کنسول ADAC ، به مسیر زیر میرویم:

Dynamic Access Control -> Resource Properties

در این بخش می‌توانیم یکی از پراپرتی‌های موجود را Enable کنیم یا با راست کلیک روی New و سپس Resource Property، یک پراپرتی جدید برای منابع خود ایجاد کنیم.

در صفحه بازشده، در بخش Display Name نامی برای پراپرتی انتخاب کرده و نوع آن را در بخش Value Type تعیین می‌کنیم. (نوع های موجود، بالاتر اشاره شده است) . سپس در بخش Suggested Values  مقادیر مرتبط با آن پراپرتی که می خواهیم براساس آن، محدودیت اعمال کنیم را می نویسیم.  تعریف می‌کنیم (مثلاً شهرهایی که منابع در آنجا مستقر هستند).

 

۳- اضافه کردن Resource Properties به لیست قابل استفاده در شبکه:

برای اینکار به زیر شاخه ی Resource Properties Lists  رفته و پراپرتی‌هایی که برای منابع تعریف کرده‌ایم  را به لیست Global Resource Properties List اضافه می کنیم. این لیست به صورت خودکار در تمام فایل سرورها دانلود می شود و قابل دسترسی است.

برای این کار، Global Resource Properties List را انتخاب کرده و با زدن گزینه  ی Add Resource Properties، پراپرتی هایی که ایجاد کردیم و یا به حالت فعال در آوردیم را به آن اضافه میکنیم.

۴- ایجاد Rule ، برای احراز صلاحیت دسترسی به منابع:

برای این کار، در همان کنسول ADAC، به زیر شاخه ی  Central Access Rules رفته و با کلیک روی New و انتخاب Central Access Rule، وارد کنسول ایجاد Rule  می شویم.

در صفحه بازشده، یک نام در بخش Name، به Rule  جدید میدهیم  و در بخش Target Resources، با زدن دکمه ی Edit، مشخص می کنیم که این قوانین دسترسی به کدام منبع، با چه شروطی، اعمال شود. اگر محدودیتی اضافه نشود، روی تمام منابع این قوانین اعمال می شود؛ برای اینکار، در پنجره Edit، روی گزینه ی Add a Condition ، جهت اضافه شدن یک شرط جدید کلیک می کنیم و تعیین می کنیم که پراپرتی ای که قبلاً ایجاد کرده ایم، برای منابع وجود داشته باشد (Exists) و به آنها اعمال شود.

سپس در بخش Permissions، برای اینکه مجوزهایی که تعریف می کنیم، اعمال بشود (و تنها گزارشگیری انجام نشود)، گزینه ی Use Following Permissions as current permissions را انتخاب و مجوزهای مد نظر را، با کلیک روی دکمه ی Edit در بخش permissions، اعمال می کنیم. در پنجره ی باز شده، روی Select a Principle  کلیک می کنیم و گروه ای که می خواهیم این مجوز ها برای آنها اعمال شود را انتخاب میکنیم. (برای اعمال روی همه ی کاربرانی که در شبکه احراز هویت شده اند، گروه Authenticated Users  را انتخاب میکنیم)  و در بخش Basic Permission (ویا Advanced Permissions) مجوزهایی که قرار است یوزرها، نسبت به آن منابع اعمال شود را انتخاب می کنیم.

و درنهایت، در بخش Condition، شروطی اعمال میکنیم که اگر آن شروط برقرار بود، آن مجوزها به یوزرها اعمال شود. برای این کار، روی add a condition کلیک میکنیم و تعیین میکنیم که پراپرتی منابع ما، با کدام Claim یوزر، باید مطابقت داشته باشد.

 

۵- اضافه کردن Rule ایجاد شده به یک Policy:

در زیر شاخه ی Central Access Policies، یک New Central Access Policies ایجاد میکنیم. در پنجره بازشده، به پالیسی جدید، یک نام میدهیم و در بخش Member Central Access Rules، با کلیک روی Add، رولی که در مرحله قبل ایجاد کرده ایم را، به پالیسی اضافه می کنیم.

 

۶- اعمال Policy ایجاد شده به سیستم های داخل شبکه:

برای این منظور، وارد کنسول Group Policy Management می شوید و یک Group Policy Object جدید ایجاد میکنیم و در بخش Edit آن، به مسیر:

Computer Configuration -> Policies -> Windows Settings -> Security Settings -> File System

می رویم و روی Central Access Policy راست کلیک و Manage Central Access Policies کلیک میکنیم.  در پنجره باز شده، پالیسی ای که ایجاد کرده ایم را اضافه می کنیم.

و درنهایت در بخش Security Filtering پالیسی جدید، با حذف Authenticated users و اضافه کردن فایل سرور مورد نظر، تعیین میکنیم که این پالیسی فقط در فایل سرور، اعمال شود.

 

۷- معرفی Claim و Resource Property های ایجاد شده به Kerberos:

جهت این منظور، در همان کنسول GPM، روی پالیسی آبجکت Default Domain Policy راست کلیک و Edit  را میزنیم و به مسیر:

Computer Configuration -> Policies -> Administrative Template -> System -> KDC

میرویم و گزینه ی KDC support for claims compound authentication and Kerberos armoring  را به حالت Enable تغییر میدهیم.

با دستور gpupdate /force نیز میتوانیم پالیسی هایی ایجاد شده را اعمال کنیم.

 

خب، تا اینجا، کارمان با دومین کنترلر و تنظیماتش تمام شده و به سراغ فایل سرور مان می رویم:

 

۸- نصب ویژگی FSRM (File Server Resource Manager) بر روی فایل سرور:

در این مرحله، روی فایل سروری که منابع مورد نظرمان روی آن است، FSRM را نصب می کنیم، تا تب Classification با راست کلیک روی پوشه مورد نظر و رفتن به Properties آن، قابل مشاهده باشد.

 

۹- تعیین Properties مناسب برای منبع مورد نظر:

اگر تمام مراحل را به درستی انجام داده باشیم، Property هایی که در مراحل بالا برای منابع خود ایجاد کرده ایم را در تب Classification خواهیم دید و با توجه به مقادیری که به آنها اختصاص دادیم، مقدار مناسب را برای آن منبع(فولدر)، انتخاب می کنیم.

 

۱۰- تنظیم Central Policy  ایجاد شده بر روی منبع:

از منوی Properties فولدر مورد نظر، وارد تب Security شده و روی دکمه ی Advanced کلیک می کنیم و در پنجره بازه شده، وارد تب Central Policy می شویم.

در بخش Central Policy، روی Change کلیک کرده و از منوی کشویی، Central Policy ای که در ADAC ایجاد کرده ایم را انتخاب می کنیم و  می توانیم تعیین می کنیم که این پالیسی روی چه چیزی (Folder, Sun Folders, Files, …) اعمال شود.

و در کادر پایین، Rule هایی شامل این پالیسی می شود نیز قابل مشاهده است که در اصل همان Rule ای خواهد بود که قبلاً تعریف کرده ایم و تمام😎.

و از این به بعد، کاربرانی به آن منبع (فولدر) دسترسی خواهند داشت که attribute مورد نظرآنها با Property هایی که در classification به آن منبع اختصاص دادیم، برابر باشد(در این سناریو)

حالا شما هم می توانید با تعریف Claim ها و Properties و تعریف پالیسی های مورد نظرتان، یک سناریوی دسترسی به منابع به صورت داینامیک و حرفه ای ایجاد کنید.

امیدوارم که مطب فوق مورد استفاده شما قرار گرفته باشه و خوشحال میشم که نظراتتون رو در خصوص این ویژگی قدرتمند، بنویسید.

موفق باشید.🌸

 

DACDAC چیستDynamic Access ControlMicrosoftنحوه ی پیاده سازی DAC
Comments (0)
Add Comment