سفارش تبلیغ
صبا ویژن

محدودیت های مختلف و کاربردی در اکتیودایرکتوری

در این مقاله به بررسی انواع محدودیت های موجود در اکتیودایرکتوری می پردازیم و همچنین پیشنهادهایی را ارائه می دهیم که رعایت آن ها در طراحی و پیاده سازی زیرساخت اکتیودایرکتوری مهم و حیاتی است. محدودیت هایی که بررسی می کنیم عبارتند از:

    بیشترین تعداد Object
    بیشترین تعداد شناسه امنیتی یا همان SID
    بیشترین تعداد موجودیت های Discretionary و Security Access Control List
    بیشترین تعداد عضویت در گروه ها برای Security Principalها
    محدودیت های طول FQDN
    محدودیت طول نام و آدرس فایل ها
    محدودیت های دیگر در طول نام ها
    محدودیت های Schema برای طول نام ها
    محدودیت های طول نام در عملیات های اتصال از طریق LDAP
    محدودیت تعداد GPOهای اعمال شده
    محدودیت Trustها
    محدودیت تعداد اکانت ها در هر تراکنش LDAP
    راهنمای انتخاب بیشترین تعداد کاربر در یک گروه
    راهنمای انتخاب بیشترین تعداد دامین در هر Forest
    راهنمای انتخاب بیشترین تعداد دامین کنترلر در یک دامین
    راهنمای انتخاب بیشترین تعداد تنظیماتKerberos


بیشترین تعداد Objectها

هر دامین کنترلر در یک forest در تمام عمرش می تواند کمی کمتر 2.15 بیلیون object بسازد. هر دامین کنترلر در اکتیودایرکتوری یک شناسه منحصر به فرد دارد که مخصوص همان دامین کنترلر است. این شناسه ها که به آن ها Distinguished Name Tag یا DNT هم می گویند، replicate نمی شوند و ار دید دامین کنترلرهای دیگر پنهان هستند. DNT می تواند مقداری از 0 تا 2,147,483,393 را داشته باشد. زمانی که در دامین کنترلر یک object ساخته می شود، یک مقدار منحصر به فرد به آن اختصاص داده می شود. وقتی که یک object را پاک می کنیم، دیگر از DNT مربوط به آن شی استفاده نخواهد شد. بنابراین تعداد اشیا هر دامین کنترلر محدود به 2 بیلیون شی می شود (که اشیائی که از طریق replication ساخته می شود را شامل می شود). این محدودیت همه اشیا در همه پارتیشن هایی (domain NC، configuration schema و هر application directory partition) که در آن دامین کنترلر داریم را شامل می شود. زمانی که تعداد DNTها به حداکثر رسیده باشد، در سطح پایگاه داده خطای زیر را می بینید:

Error: Add: Operations Error. <1> Server error: 000020EF: SvcErr: DSID-0208044C, problem 5012 (DIR_ERROR), data -1076.


نکته: در بعضی از اکتیو دایرکتوری ها مشکلی وجود دارد که اندازه پایگاه داده اکتیودایرکتوری در دامین کنترلری که roleهای DNS بر روی آن نصب هستند، به شدت افزایش می یابد. البته یک hotfix برای رفع این مشکل ارایه شده که شماره آنKB2548145 است. دلیل اصلی این افزایش سایز در بالا بودن تعداد اشیا delete شده است.

بیشترین تعداد SID

این قسمت را با ویندوز سرور 2012 شروع می کنیم که بیسترین تعداد SIDهایی که در تمام عمر یک دامین می توان ساخته شود 2,147,483,647 RID است. در ویندوز سرور 2012 بهبودهای چشمگیری در روش های ساخت و نظارت بر RIDها صورت گرفت و همین امر باعث افزایش تعداد شناسه های امنیتی شد.در ویندوز سرور 2008 و سیستم عامل های قدیمی تر، بیشترین تعداد security identifier در عمر یک دامین در حدود 1 بیلیون است. اندازه دقیق آن 1,073,741,823 RID است.در ویندوز سرور 2012 زمانی که %1 از تعداد RIDها باقی مانده باشد، هر دامین کنترلری که درخواست RID میکند، یک event با شناسه 16656 در event log سیستم هایشان ثبت می کنند.در ویندوز سرور 2008 R2 و سیستم عامل های قدیمی تر، زمانی که از تمام محدوده RIDها استفاده شده باشد، یک event با شناسه 16644 در event log ثبت می شود که متن آن مشابه متن زیر است:

The maximum domain account identifier value has been reached. No further account-identifier pools can be allocated to domain controllers in this domain.


اگر تمام RIDهای مجاز استفاده شده باشد، دستور Dcdiag را اجرا کنید، با خطای زیر مواجه می شوید:

The DS has corrupt data: rIDAvailablePool value is not valid.


یکی از راه حل های موقتی برای این مشکل این است که یک دامین additional برای مدیریت اکانت ها بسازیم و سپس اکانت ها را به دامین جدید منتقل کنیم. همچنین برای انتقال اکانت ها باید بین دامین ها trustها برقرار کنید.

نکته: پایگاه داده اکتیودایرکتوری بر روی تعداد objectهای درون یک container (برای مثال Organizational unit) محدودیت اعمال نمی کند. ممکن است که هنگام کار کردن با هزاران object با محدودیت هایی مواجه شوید. این محدودیت ها برای بهبود در دسترس بودن برنامه ها یا سرویس ها ایجاد شده اند. برای مثال کنسول Active Directory Users and Computers طوری طراحی شده است که حداکثر 2000 object را در هر container نمایش دهد. می توانید این مقدار را در منوی View و با استفاده از قسمت Filter Options تغییر دهید. همچنین برای بهبود عملکرد دامین کنترلرها، سیاست هایی در LDAP تنظیم شده است.

بیشترین تعداد موجودیت های Discretionary و Security Access Control List

تعداد موجودیت های هر Discretionary Access Control List (یا DACL) و یا Security Access Control List (یا SACL) با استفاده از ntSecurityDescriptor اندازه 64000 شی است. این تعداد از محدود بودن Access Control List (یا ACL) ایجاد می شود. از آن جا که حجم موجودیت های Access Control (یا ACEها) متفاوت است، تعداد واقعی این موجودیت ها، حداکثر 1820 موجودیت می شود.

بیشترین تعداد عضویت در گروه ها برای Security Principalها

Security Principalها (مانند user، group و computer account) می توانند حداکثر عضو 1015 گروه باشند. محدود بودن حجم رمزهای عبور برای هر security policy، این محدودیت را به وجود می آورد. لازم به ذکر است که این محدودیت با چیدمان گروه ها ارتباطی ندارد.