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

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

 محدودیت های طول FQDN

در اکتیو دایرکتوری FQDNها یا همان Fully Qualified Domain Nameها نمی توانند طولی بیشتر از 64 کاراکتر داشته باشند که این مقدار شامل ویرگول و نقطه ها می شود. برای مثال نام هاست زیر 65 کاراکتر دارد که یک دامین مجاز در اکتیودایرکتوری نیست:

Server10.branch-15.activedirectory.education.networking.itpro.ir

خیلی مهم است که این محدودیت را هنگام نام گذاری دامین ها در نظر داشته باشید.


محدودیت طول نام و آدرس فایل ها

فایل های فیزیکی که اجزا مختلف اکتیودایرکتوری از آن ها استفاده می کنند (مانند SYSVOL، پایگاه داده (یا NTDS.DIT) و آدرس فایل های log) تحت تاثیر تعداد 260 کاراکتر MAX_PATH در APIهای Win32 هستند. هنگام نصب اکتیودایرکتوری، زمانی که آدرس فایلهای SYSVOL و پایگاه داده را تعیین می کنید، از انتخاب فولدرهای تودرتو جلوگیری کنید. زیرا این ساختار تودرتو، طول آدرس فولدرهای SYSVOL، پایگاه داده و فایل های log را بیشتر از 260 کاراکتر می کند.


محدودیت های دیگر در طول نام ها

در اکتیودایرکتوری محدودیت های دیگری برای طول نام ها وجود دارد که عبارتند از:

    نام کامپیوترها و دامین ها در NetBIOS حداکثر 15 کاراکتر است.
    نام هاست ها در DNS حداکثر 24 کاراکتر است.
    نام OU ها حداکثر 64 کاراکتر است.



محدودیت های Schema برای طول نام ها

Schema بر روی نام objectهای مختلف در اکتیودایرکتوری محدودیت هایی اعمال می کند. موارد زیر مثال هایی از محدودیت های schema برای نام ها است:

    Display name طولی معادل 256 کاراکتر دارد.
    Common name طولی معادل 64 کاراکتر دارد.
    SAM-Account-Name (که در نسخه های قبل از ویندوز 2000 به آن نام کاربری هم می گفتند) در schema دارای طولی معادل 256 کاراکتر است.



محدودیت های طول نام در عملیات های اتصال از طریق LDAP

در عملیات های اتصال به یک دایرکتوری از طریق LDAP، Distinguished Name (که معمولا آن را با DN می شناسیم) می تواند حداکثر 255 کاراکتر باشد. اگر عملیات LDAP مورد نظرتان طولی بیش از 255 کاراکتر داشته باشد، با خطاهایی درباره اعتبارسنجی مواجه می شوید، مانند نمونه زیر:

Error <49>: ldap_simple_bind_s() failed: Invalid Credentials
Server error: 80090308: LdapErr: DSID-0C0903AA, comment: AcceptSecurityContext error, data 57, v1771
Error 0x80090308 The token supplied to the function is invalid


برای جلوگیری از وقوع این مشکل می توانید برنامه ها، اسکریپت ها و utilityهایی که سعی می کنند به یک دایرکتوری با استفاده از LDAP متصل شوند را مجبور کنید که از نسخه امن LDAP استفاده کنند. همچنین می توانید از عمق ساختار OUها کم کنید و یا طول اسم OUها را کاهش دهید. برای مثال distinguished name زیر 258 کاراکتر دارد:

CN=SoLand,OU=CorporateVicePresidents,OU=CorporateOfficers,OU=ViewOfPugetSoundOffices,OU=TopFloor,OU=Building1557,OU=CorporateCampus,OU=Redmond,OU=Washington,OU=NorthWestern,OU=UnitedStatesOfAmerica,OU=NorthAmerica,DC=BusinessGroup,DC=humongousinsurance,DC=com


اگر نام OUای که نامش CorporateVicePresident است را به CVP تغییر دهیم، distinguished name برای اکانت SoLand به 239 کاراکتر کاهش می یابد.


محدودیت تعداد GPOهای اعمال شده

به هر user account یا computer account می توانید حداکثر 999 Group Policy Object (یا همان GPO) را اعمال کنید. این یه این معنی نیست که تعداد تنظیمات policy در سیستم 999 تا است. بلکه یعنی هر user یا computer نمی تواند بیش از 999 GPO را پردازش کند. این محدودیت برای بهبود عملکرد سیستم ایجاد شده است.


محدودیت Trustها

محدودیت Trustها از تعداد دامین هایی که trust دارند، طول آدرس trust و قابلیت کلاینت ها برای شناسایی trustهای موجود ناشی می شود. محدودیت هایی که اعمال می شوند شامل:

    کلاینت های کربروس می توانند حداکثر 10 trust را در هر تقاضای منایع از یک دامین دیگر شناسایی کنند. اگر مسیر trust بین این دو دامین بیشتر از محدوده باشد، آن تقاضا برای دستریس به دامین ناموفق می شود.
    زمانی که یک کلاینت به جستجوی مسیر trust می پردازد، جستجو تنها به trustهایی که به دامین مورد نظر ختم می شود، محدود می شود.
    آزمایش ها نشان می دهد که افزایش زمان اجرای عملیات های مربوط به TDO مانند هویت سنجی در دامین ها، اگر در اکتیودایرکتوری بیش از 2400 TDO داشته باشیم، باعث افت کیفیت و سرعت پردازش ها می شود.



محدودیت تعداد اکانت ها در هر تراکنش LDAP

زمانی که اسکریپت یا برنامه ای می نویسید که تراکنش های LDAP را انجام می دهد، توجه داشته باشید که برنامه یا اسکریپت تان نمی تواند بیش از 5000 عملیات را در هر تراکنش انجام دهد. تراکنش LDAP به گروهی از عملیات های دایرکتوری (مانند اضافه کردن، حذف کردن و دستکاری) گفته می شود که با آن به عنوان یک واحد یکتا برخورد می شود. اگر اسکریپت یا برنامه تان بیش از 5000 عملیات در یک تراکنش LDAP داشته باشد، ممکن است که با خطای محدودیت منابع و یا وقفه در عملیات ها مواجه شوید. اگر همچین اتفاقی رخ دهد، همه عملیات های تراکنش (تغییرات، عملیات های اضافه کردن، دستکاری ها) به وضعیت اولیه خود بازمی گردند، به بیان دیگر تمام تغییراتی که ایجاد کرده اید از بین می روند.

برای مثال اگر با استفاده از ADSI یا همان Active Directory Service Interface اسکریپت می نویسید، تابع SetInfo یک تراکنش کامل را انجام می دهد.در یک مثال دیگر داریم، زمانی که از System.DirectoryServices یا S.DS در فریم ورک .Net استفاده کنید، تابع DirectoryEntry.CommitChanges یک تراکنش کامل را انجام می دهد.

نکته: به تابعی که در تراکنش های LDAP استفاده می کنید، دقت کنید و مطمئن شوید که در هر تراکنش بیش از 5000 عملیات نمی فرستید.


راهنمای انتخاب بیشترین تعداد کاربر در یک گروه

در محیط اکتیودایرکتوری ویندوز 2000، پیشنهاد می کنم که حداکثر 5000 کاربر در یک گروه داشته باشید. این محدودیت به دلیل محدود بودن تغییرات همزمان و اتمیک در هر تراکنش پایگاه داده است.
در ویندوز سرور 2003، قابلیت replicate کردن تغییرات همزمان به عنوان یک تکنولوژی جدید با نام Linked Value Replication یا LVR معرفی شد. برای فعال کردن LVR، حداقل سطح عملیاتی forest را ویندوز سرور 2003 انتخاب کنید. افزایش سطح عملیاتی forest روش ذخیره سازی کاربران هر گروه در پایگاه داده و روش replicate کردن بین دامین کنترلرها را تغییر می دهد. با این کار می توانید بیش از 5000 کاربر را در در هر گروه عضو کنید.
علاوه بر این، سازمان های تولیدی گزارش 4 میلیون عضو را داده اند و در محیط آزمایشگاهی مایکروسافت این تعداد به 500 میلیون عضو رسیده است.
نکته مهم: افزایش سطح عملیاتی به ویندوز سرور 2003 تغییری در روش ذخیره و replicate شدن عضوهای فعلی در گروه ها ایجاد نمی کند. برای این کار، باید عضوهای فعلی گروه را قبل افزایش سطح عملیاتی به ویندوز سرور 2003 حذف کنید و سپس آن ها را به گروه های مناسب اضافه کنید. بعد از افزایش سطح عملیاتی forest، برای هر عضوی که در گروه ساخته شود، قابلیت LVR فعال می شود (حتی اگر در گروه عضوهایی داشته باشیم که برای آن ها LVR غیرفعال است).


راهنمای انتخاب بیشترین تعداد دامین در هر Forest

در ویندوز سرور 2000، پیشنهاد می کنم که حداکثر 800 دامین را در هر forest ایجاد کنید. در ویندوز سرور 2003، زمانی که سطح عملیاتی forest بر روی ویندوز سرور 2003 (به این سطح عملیاتی، سطح عملیاتی دوم هم می گویند) است، حداکثر 1200 دامین را در هر forest بسازید.


راهنمای انتخاب بیشترین تعداد دامین کنترلر در یک دامین

برای اطمینان از امکان بازگردانی SYSVOL، پیشنهاد می کنیم که در هر دامین کنترلر حداکثر 1200 دامین بسازید.


راهنمای انتخاب بیشترین تعداد تنظیمات Kerberos

بهتر است که بیشترین سایز برای هر تیکت کربروس را 48000 بایت انتخاب کنید که این مقدار از طریق یک کلید DWORD به نام MaxTokenSize در رجیستری (HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Lsa\Kerberos\Parameters) و یا از طریق Group Policy تعیین می شود.
نکته: بیشترین مقدار مجاز برای MaxTokenSize 65535 بایت است. با این حال به دلیل روش رمزنگاری در tokenهای احراز هویت HTTP که base64 است، مقدار بیش از 48000 را برای MaxTokenSize پیشنهاد نمی کنم. در ویندوز سرور 2012، مقدار پیش فرض برای MaxTokenSize بر روی 48000 تعیین شده است.