فهرست مطالب
Toggleنزدیک به ۳ دهه است که سازمانها از پروتکل دسترسی دایرکتوری سبک (LDAP) برای مدیریت کاربر، ویژگیها و احراز هویت استفاده میکنند. در طول این مدت، این پروتکل گسترش و تکامل یافته است تا نیاز محیطهای در حال تغییر فناوری اطلاعات و نیازهای تجاری را برآورده کند.
این مطلب همه چیزهایی را که باید درباره LDAP بدانید، از منشأ آن گرفته تا جایگاه آن در دنیای ابر محور معاصر، پوشش میدهد. ما همچنین توضیح خواهیم داد که این پروتکل چگونه کار میکند، چگونه از آن استفاده میشود، چگونه برای استفاده از آن شروع به کار کنید، و کدام راهکارهای سرور LDAP ممکن است برای نیازهای شما مناسب باشد
پروتکل LDAP چیست؟
برای درک اینکه LDAP چیست، بهتر است بدانید که در وهله اول برای چه چیزی استفاده میشود: خدمات دایرکتوری. سرویسهای دایرکتوری با استفاده از پروتکلهای خاص، کاربران و حقوق دسترسی آنها را به منابع فناوری اطلاعات در یک سازمان بهطور ایمن مدیریت میکنند.
LDAP یکی از پروتکلهای اصلی مورد استفاده برای این خدمات است. اگرچه سرویسهای دایرکتوری ممکن است از پروتکلهای اضافی مانند Kerberos، SAML، RADIUS، SMB، Oauth و غیره استفاده کنند، اما امروزه بیشتر آنها از LDAP استفاده میکنند. به طور خلاصه، LDAP مدیریت ایمن کاربران و منابع فناوری اطلاعات را در یک دایرکتوری امکان پذیر میکند و امکان کنترل دسترسی به بخشهای مختلف یک شبکه کامپیوتری را فراهم میکند.
تاریخچه LDAP
LDAP در سال ۱۹۹۳ توسط تیم هاوز و همکارانش در دانشگاه میشیگان توسعه یافت. این پروتکل در واقع قرار بود یک نسخه سبک وزن و کم هزینه از پروتکلهای خدمات دایرکتوری X.500 مانند پروتکل دسترسی به دایرکتوری (DAP) باشد که در آن زمان استفاده میشد.
X.500 نیاز به پهنای باند زیادی داشت که استفاده از آن را هم برای سیستم و هم برای شبکه سخت میکرد. جای تعجب نیست که اکثر رایانههای روی میزی در اوایل دهه ۱۹۹۰ نمیتوانستند به سرویس دایرکتوری X.500 متصل شوند. در نتیجه، در آن روزها، استفاده از X.500 به سیستمهای خاصی مانند رایانههای بزرگ، مینی رایانهها یا میکرو رایانهها محدود میشد.
LDAP این مشکلات را با فراهم کردن احراز هویت و مجوز دادن به کاربران برای دسترسی به منابع فناوری اطلاعات و در عین حال کاهش سربار، استفاده از پهنای باند و تقاضا در نقاط پایانی حل کرد. با توجه به این کاراییها، LDAP موفقیت زیادی پیدا کرد و در کمترین زمان به پروتکل احراز هویت خدمات دایرکتوری اینترنتی تبدیل شد.
LDAP نسخه ۳ به عنوان استاندارد اینترنت برای خدمات دایرکتوری در اواخر دهه ۹۰ پیشنهاد و پذیرفته شد. این آخرین و رایجترین نسخه LDAP امروزی است. به دنبال این نقطه عطف، کرت زایلنگا پروژه OpenLDAP را با انتشار OpenLDAP 1.0 در سال ۱۹۹۸ آغاز کرد. این نسخه شامل ویژگیهای امنیتی پیشرفته، پشتیبانی از پلتفرم بهروز شده و رفع اشکالات بود. همچنین اولین مجموعه کاملا متن باز از برنامههای کاربردی سرویس گیرنده و سرور بود که از LDAPv3.3 مشتق شده بود.
در میان سایر عوامل، OpenLDAP از محبوبیت برخوردار بود، زیرا به مدیران فناوری اطلاعات امکان میداد آن را برای مطابقت بهتر با نیازهای سازمان خود تغییر دهند. هوارد چو و تیم Symas از سال ۱۹۹۹ به پیشبرد توسعه OpenLDAP ادامه دادهاند. همچنین در سال ۱۹۹۹، مایکروسافت Active Directory را منتشر کرد که از LDAP و Kerberos استفاده میکرد و در عین حال برنامههای افزودنی اختصاصی ایجاد میکرد تا سازمانها را در اکوسیستم مایکروسافت نگه دارد. از آن زمان LDAP به طور قابل توجهی بر تکامل خدمات دایرکتوری تأثیر گذاشته و به یک جزء اساسی زیرساخت مدرن فناوری اطلاعات تبدیل شده است.
LDAP چگونه کار میکند؟
LDAP با تعیین روشی برای ذخیرهسازی دایرکتوری کار میکند که امکان افزودن، حذف و اصلاح رکوردها را فراهم میکند. همچنین امکان جستجوی آن سوابق را فراهم میکند تا هم احراز هویت و هم مجوز کاربران برای منابع را تسهیل کند. سه عملکرد اصلی LDAP عبارتند از:
- بهروز رسانی: این شامل افزودن، حذف یا اصلاح اطلاعات دایرکتوری است.
- درخواست: شامل جستجو و مقایسه اطلاعات دایرکتوری میشود.
- احراز هویت: توابع اصلی احراز هویت عبارتند از binding و unbinding. تابع سوم یعنی رها کردن (abandon)، میتواند سرور را از تکمیل یک عملیات باز دارد.
اجزای دایرکتوری LDAP
هنگام کار با یک ارائه دهنده هویت (IdP)، بسیاری از عملیات LDAP با استفاده از یک رابط کاربری گرافیکی (GUI) انجام میشود. با این وجود، دانستن اجزای آن برای تکمیل درک شما و کمک به سفارشیسازی یا عیبیابی در مسیر مفید است. به علاوه، اگرچه OpenLDAP امکان سفارشیسازی انعطافپذیر را فراهم میکند، اما به دانش پیچیدهتری از پروتکل و موارد استفاده آن نیاز دارد. به خصوص که تغییرات معمولا با استفاده از خط فرمان، فایلهای پیکربندی، یا گاهی اوقات با تغییر پایه کد منبع باز انجام میشوند.
در ادامه برخی از عناصر و مفاهیم کلیدی پروتکل LDAP و دایرکتوری مبتنی بر LDAP آمده است:
درخت اطلاعات دایرکتوری LDAP
LDAP اطلاعات را در یک ساختار درختی سلسله مراتبی به نام درخت اطلاعات دایرکتوری (DIT) سازماندهی میکند. DIT میتواند بر اساس نرمافزار یا سرویس دایرکتوری مورد استفاده شما متفاوت باشد. با این حال، به طور کلی، دایرکتوریهای LDAP از ساختار درختی پیروی میکنند که در آن ورودیهای بدون زیردستان (مثلا کاربران) برگ هستند. در عین حال، ریشه یک نهاد فراگیر است که تمام اطلاعات درون دایرکتوری را در بر میگیرد.
ریشه یک ورودی خاص عامل سرور دایرکتوری است که DSE ریشه نیز نامیده میشود و اطلاعاتی را در مورد دایرکتوری ارائه میدهد. فقط یک ریشه میتواند وجود داشته باشد، اما شاخهها میتوانند تکرار شوند و گروهها میتوانند به صورت تو در تو باشند. برگها دارای ویژگیهایی هستند، اما نمیتوانند موجودیتهای فرعی داشته باشند. دایرکتوریهای LDAP میتوانند شامل ورودیهایی برای کاربران، گروهها، چاپگرها، سرورها، برنامهها و موارد دیگر باشند.
ورود
ورودیها از ویژگیها برای توصیف اقلام دنیای واقعی ذخیره شده در دایرکتوری، مانند کاربر یا ماشین استفاده میکنند. همانطور که در یک دفترچه تلفن یا شاید لیست مخاطبین تلفن خود مشاهده میکنید، کاربران در یک DIT به عنوان ورودی وجود دارند که اطلاعات اضافی درباره کاربر را ذخیره میکنند. در LDAP، ورودیها اغلب با نام مشترک خود (CN) نامیده میشوند. برای کاربران، این نام رایج معمولا نام کاربری یا نام و نام خانوادگی آنها است.
ویژگیها
ویژگیها یک کاربر، سرور یا سایر موارد ذخیره شده در فهرست LDAP را توصیف میکنند. ویژگیهای کاربر، برای شروع، معمولا شامل نام کامل، آدرس ایمیل، نام کاربری و رمز عبور آنها است. ویژگیها از یک نوع و یک مقدار تشکیل شدهاند. ویژگیهای موجود برای در نظر گرفتن توسط یک ویژگی ObjectClass از پیش تعریف شدهاند. سازمانها ممکن است از بیش از یک ویژگی ObjectClass استفاده کنند و ویژگیهای ObjectClass سفارشی ایجاد کنند تا حاوی اطلاعاتی باشند که میخواهند در دایرکتوری LDAP خود ذخیره کنند. توجه داشته باشید که در هر ورودی فقط یک ObjectClass ساختاری میتواند وجود داشته باشد. در حالی که ممکن است ObjectClassهای کمکی اضافی وجود داشته باشد، ObjectClass ساختاری هر ورودی را تعریف میکند.
طرحواره
طرحوارهها دایرکتوری را تعریف میکنند. به طور خاص، یک طرحواره، پارامترهای دایرکتوری، از جمله نحو (syntax)، انواع ویژگی، ObjectClassها و قوانین تطبیق را تعریف میکند (به عنوان مثال، آیا رمز عبور ورودی با دادههای دایرکتوری مطابقت دارد یا خیر).
LDAP V3 طرح از پیش تعریف شده ارائه میدهد و سایر پیشنهادات LDAP انواع یا تکرارهای طرح را ارائه میدهند. بنابراین، ارائه دهندگان مختلف ممکن است دایرکتوریهای LDAP خود را به صورت متفاوتی قالببندی کنند. ایجاد یک طرحواره سفارشی برای موارد استفاده ظریفتر و خاصتر نیز امکان پذیر است.
DN: نام برجسته
این شناسه منحصر به فرد برای ورودی LDAP است که تمام ویژگیهای اختصاص داده شده به شی را مشخص میکند. این میتواند حاوی چندین نقطه داده باشد و شامل نامهای متمایز نسبی (RDN) در رشتهای است که با ویرگول از هم جدا شدهاند. فرمت DN مانند مختصات جغرافیایی کار میکند، فقط به ترتیب معکوس: با فهرست کردن هر زیربخش با افزایش درجه، مکان را در فهرست مشخص میکند.
در حالی که مختصات جغرافیایی به طور کلی شروع میشوند و جزئیتر میشوند، DN با نام شی شروع میشود و تا جزء دایرکتوری اصلی (مثلا دامنه سرور LDAP شما) کار میکند و یک آدرس کامل را تشکیل میدهد که به محل ورودی در درخت LDAP اشاره میکند.
DNها به صورت زیر فرمت میشوند:
RDN,RDN,RDN
RDN: نام متمایز نسبی
اینها رشتههایی هستند که مقادیری را به ویژگیها اختصاص میدهند، مانند تخصیص آدرس ایمیل به یک کاربر. آنها با علامت مساوی (=) در جفت نام-مقدار تشکیل میشوند. فرمت به صورت زیر است:
صفت = ارزش
RDNهای چند ارزشی
RDNها را میتوان در یک RDN فراگیر با علائم مثبت ترکیب کرد. RDNهای چند ارزشی دو مقدار مشخصه را یکسان میدانند و میتوانند برای تمایز بین دو RDN با یک مقدار استفاده شوند. به عنوان مثال، در نمونهای از دو کاربر که نام یکسانی دارند، دایرکتوری میتواند RDN آدرس ایمیل آنها را به نام کاربری خود متصل کند تا RDNهای منحصر به فردی برای هر کدام ایجاد کند. یک RDN چند ارزشی به صورت زیر قالب بندی میشود:
RDN+RDN
سرورهای LDAP
یک دایرکتوری LDAP میتواند شامل یک یا چند سرور باشد، اما باید یک سرور ریشه وجود داشته باشد. سرورهای اصلی LDAP بر روی شبح LDAP مستقل (slapd) اجرا میشوند و تغییرات را از طریق شبح تکثیر بهروزرسانی LDAP مستقل (slurpd) به نسخههای سرور ارسال میکنند. به طور سنتی، سرورهای LDAP به صورت آنلاین میزبانی میشدند و توسط سازمان در داخل مدیریت میشدند و Microsoft AD محبوبترین راهکار تجاری برای LDAP در بازار بود.
OpenLDAP محبوبترین سرور LDAP متن باز و خالص است که امروزه در دسترس است. با این حال، در حال حاضر، سازمانها اغلب از خدمات دایرکتوری میزبان ابری استفاده میکنند که بار میزبانی، امنیت و مدیریت سرور داخلی را کاهش میدهد. سرورهای LDAP مبتنی بر ابر همچنین به سازمانها این امکان را میدهند که زیرساختهای خود را به فضای ابری تغییر دهند، از فرصتهای کاری از راه دور استفاده کنند و هزینهها را کاهش دهند.
احراز هویت و مجوز LDAP
پروتکل LDAP هم احراز هویت و اجازه دسترسی به منابع را به کاربران اعطا میکند. پروتکل کاربران را با یک عملیات bind احراز هویت میکند که به کاربر اجازه میدهد با یک دایرکتوری LDAP ارتباط برقرار کند، سپس در صورتی که اطلاعات ورود به سیستم ورودی با آنچه در پایگاه داده برای آنها فهرست شده است مطابقت داشته باشد، به کاربر احراز هویت شده اجازه میدهد تا اعتبار مورد نیاز خود را دریافت کند.
احراز هویت LDAP چگونه کار میکند
احراز هویت LDAP بر یک عملیات اتصال مشتری/سرور متکی است. این عملیات به کلاینت آماده LDAP، که عامل کاربر دایرکتوری (DUA) نیز نامیده میشود، اجازه میدهد تا با سرور دایرکتوری، که عامل سیستم دایرکتوری (DSA) نیز نامیده میشود، در یک جلسه امن و رمزگذاری شده ارتباط برقرار کند.
هنگام احراز هویت در برابر سرور LDAP برای دسترسی به پایگاه داده، از کاربر خواسته میشود نام کاربری و رمز عبور خود را ارائه دهد. اگر مقادیری که کاربر به کلاینت وارد میکند با آنچه در پایگاه داده LDAP یافت میشود مطابقت داشته باشد، سرور LDAP به کاربر اجازه دسترسی به هر منبع فناوری اطلاعات را میدهد.
مجوز LDAP چگونه کار میکند
هنگامی که یک کاربر با موفقیت احراز هویت شد، باید مجوز دسترسی به منابع درخواستی را داشته باشد. در حالی که نمونههای مختلف LDAP ممکن است این فرآیند را کمی متفاوت ساختار بندی و کدگذاری کنند، اما این فرایند اساسا با اختصاص مجوزها به گروهها و نقشها در فهرست انجام میشود.
برای مثال، با OpenLDAP، کاربران به گروههایی تعلق دارند که میتوانند مجوزهای متفاوتی به آنها اختصاص دهند. اگر به کاربر احراز هویت شده، مجوزهای صحیح برای دسترسی به یک منبع خاص اختصاص داده شود، پروتکل LDAP به آنها اجازه دسترسی به آن را میدهد. اگر نه، پروتکل دسترسی را رد میکند.
LDAP برای چه مواردی استفاده میشود؟
پروتکل LDAP دایرکتوری را تعریف میکند که میتواند:
- دادههای کاربر را در یک مکان مرکزی و در دسترس ذخیره کنید.
- آن کاربران را با منابعی که مجاز به دسترسی هستند مرتبط کند.
- احراز هویت و مجوز دادن به کاربران برای منابع اختصاص داده شده آنها، که عبارتند از:
- برنامههای فنی: Jenkins، Docker، OpenVPN، مجموعه Atlassian و بسیاری از برنامه های دیگر با LDAP بهترین احراز هویت را انجام میدهند.
- زیرساخت سرور: سرورهای لینوکس، هم در محل و هم در فضای ابری مانند AWS از LDAP برای احراز هویت کاربران استفاده میکنند.
- سرورهای فایل: سرورهای فایل مانند QNAP، Synology و FreeNAS از LDAP پشتیبانی میکنند.
- تجهیزات شبکه: اگرچه این ویژگی میتواند با پروتکل RADIUS همپوشانی داشته باشد، برخی از سازمانها از LDAP برای دسترسی به شبکه از طریق VPN، نقاط دسترسی WiFi و سایر تجهیزات شبکه استفاده میکنند.
در روزهای اولیه LDAP، عملکردهای آن بسیار پیچیدهتر از سایر گزینههای موجود بود. با محبوبیت این پروتکل، منابع فناوری اطلاعات بیشتری با LDAP سازگار شدند. پیشنهادات جدیدی مانند LDAP ابری، سایر پروتکلهای احراز هویت و خدمات دایرکتوری کامل نیز برای پشتیبانی از دسترسی به آن منابع وارد صحنه شدند.
اکنون، ادمینهای فناوری اطلاعات میتوانند از LDAP برای احراز هویت ماشینها و مدیریت دسترسی به برنامههای کاربردی قدیمی، شبکهها، NAS و سایر مؤلفهها هم به صورت آنلاین و هم در فضای ابری استفاده کنند. با سرویسهای دایرکتوری ابری مانند JumpCloud، آنها میتوانند این عملکرد را با پروتکلهای دیگر ترکیب کنند تا کاربران تقریبا به تمام منابع فناوری اطلاعات خود دسترسی داشته باشند.
LDAP و Active Directory: تفاوت چیست؟
همانطور که LDAP به یک پروتکل خدمات دایرکتوری اصلی تبدیل شد، Microsoft AD بسیاری از زیربناهای خود را بر روی LDAP ساخت. با این حال، AD یک ابزار LDAP خالص نیست. در حالی که AD میتواند از LDAP استفاده کند، برای احراز هویت بیشتر به Kerberos متکی است و نسبت به دایرکتوری LDAP متن باز انعطاف کمتری دارد. AD به کنترلکنندههای دامنه نیاز دارد و بهترین عملکرد را با دستگاهها و برنامههای مبتنی بر ویندوز مایکروسافت دارد.
تا همین اواخر، ابزارهای دایرکتوری عمدتا به محیطهای مبتنی بر ویندوز پاسخ میدادند. موفقیت AD عمدتا ناشی از تمرکز آن بر روی محیطهای مبتنی بر ویندوز و در محل بود که برای چندین دهه استانداردهای تجاری بودند. با این حال، انتقال به ابر در دهه گذشته، که با تغییرات ناشی از کووید در سال ۲۰۲۰ شدت گرفت، نیازهای دایرکتوری جهان را تغییر داد. شرکتها اکنون به جای AD و سایر مدلهای دایرکتوری اولیه، خدمات دایرکتوری مبتنی بر ابر، مک و لینوکس را انتخاب میکنند.
LDAP و Azure Active Directory
Azure Active Directory یک افزونه سازگار با فضای ابری برای AD است که مدیریت کاربر Azure و برنامه وب را به صورت انفرادی فعال میکند. Azure Active Directory از LDAP به صورت بومی استفاده نمیکند، در عوض، از پروتکلهای دیگر استفاده میکند و عملکردهای LDAP را با خدمات دامنه Azure AD (DS) یا یک محیط AD ترکیبی که در آن LDAP ضروری است، تسهیل میکند.
Azure AD DS بهعنوان یک کنترلکننده دامنه بهعنوان خدمت برای ماشینهای مجازی و برنامههای قدیمی ویندوز مستقر در Azure ارائه میشود. به صورت ساعتی شارژ میشود و قیمت بر اساس تعداد اشیاء دایرکتوری است. برای سازمانهایی که از LDAP با Azure AD استفاده میکنند، بهویژه در یک محیط on-prem، میتواند یک حرکت تعادلی کاملا دشوار باشد. این توضیح میدهد که چرا بسیاری از سازمانهای فناوری اطلاعات ترجیح میدهند یک سرور LDAP اضافی را در فضای ابری مستقر کنند.
جایگاه LDAP در Cloud
جابجاییهای اخیر به ابر، همراه با مکانهای کاری متفاوت، نیاز به راهکارهای دایرکتوری انعطافپذیر را ایجاد کرده است که با منابع ابری کار میکند. همچنین مهم است که این راهکارها برای سازگاری با سیستم عاملهای مختلف ساخته شده باشند. این به ویژه به این دلیل است که حداقل ۵۵ درصد از کسبوکارها اکنون سازگار با Mac هستند و ۹۰ درصد از زیرساختهای ابری جهان بر روی لینوکس کار میکنند.
مفهوم این امر این است که ویندوز مایکروسافت AD و رویکرد Azure محور دیگر برای بسیاری از مشاغل با محیطهای متنوع سیستم عامل قابل اجرا نیست. این امر باعث شده است که آنها برای مدیریت زیرساختهای در حال رشد خود به راهکارهای یکپارچه اضافی متوسل شوند. به خصوص LDAP ابری و Directory-as-a-Service.
Cloud LDAP بار زیادی از بار مدیریت دایرکتوری را از بین میبرد. این قابلیت از راهاندازی و نگهداری زیرساخت دایرکتوری اصلی تا ادغام برنامهها و سیستمها در IdP مبتنی بر LDAP آنها را شامل میشود. با LDAP ابری، سرورها حاضر و آماده هستند تا کسبوکارها نقاط پایانی متصل به LDAP خود را به آنها هدایت کنند.
سرویسهای دایرکتوری ابری هم تمایل دارند از پروتکلهای دیگر نیز استفاده کنند. این امر دامنه کارایی آنها را گسترش میدهد و آنها را برای تطبیق با فناوریهای نوظهور آماده میکند. این در نهایت نیاز به سرور اکتیو دایرکتوری اولیه را از بین میبرد. برخی از خدمات LDAP ابری همچنین شامل یک رابط کاربری گرافیکی و پشتیبانی فنی در صورت نیاز هستند که نیاز به اجرای همه عملیات با کد نویسی متنی را از بین میبرد. با این وجود، برخی از سرویسهای دایرکتوری هنوز گزینهای را برای اجرای خط فرمان ارائه میدهند که برای عملیات انبوه بسیار مفید هستند.
آیا LDAP هنوز مناسب است؟
اگر دایرکتوریها به سمت فضای ابری حرکت میکنند و LDAP برای کار در یک محیط داخلی ساخته شده است، آیا LDAP همچنان مناسب است؟ با تبدیل شدن برنامههای ابری به استاندارد تجاری، شبکههای فناوری اطلاعات غیرمتمرکزتر شدهاند و پروتکلهای جدیدی برای پاسخگویی به این نیازهای در حال تکامل، توسعه یافتهاند. به طور طبیعی، این اتفاقات مدیران سیستم را به زیر سوال بردن ارتباط LDAP در دوران معاصر سوق داده است.
با این حال، LDAP هنوز بسیار مناسب است، با توجه به اینکه دایرکتوریها شروع به اتخاذ رویکردهای چند پروتکلی برای رسیدگی به محیطهای تجاری مدرن و غیرمتمرکز کردهاند. دایرکتوری چند پروتکلی از پروتکلهای زیادی استفاده میکند – هر کدام برای یک هدف خاص.
نتیجه این است که تعداد استفاده از هر پروتکل کمر میشود، اما آن پروتکل در برای همان کار خاص کاملا مفید است و جزء حیاتی یک فهرست چند پروتکلی قوی باقی میماند.LDAP نیز از این قاعده مستثنی نیست. در حالی که این پروتکل درصد کمتری از عملکرد دایرکتوری را نسبت به مدلهای دایرکتوری قدیمی تشکیل میدهد، بخشی جدایی ناپذیر از دایرکتوری مدرن باقی میماند.
سرویسهای دایرکتوری چند پروتکلی به دلیل انعطافپذیری، متن باز بودن و پایداری آن در طول سالها، از LDAP در کنار پروتکلهای دیگر استفاده میکنند. به عنوان مثال، بسیاری از برنامههای قدیمی مانند OpenVPN، Jenkins، MySQL، Jira و Confluence به همراه چندین برنامه دیگر مانند سیستمهای ذخیرهسازی، دستگاههای شبکه، سرورها و غیره به استفاده از LDAP ادامه میدهند.
نحوه راه اندازی LDAP
مراحل راهاندازی LDAP بسته به اینکه از کدام LDAP استفاده میکنید متفاوت است و مراحل کار تا حد زیادی به این بستگی دارد که آیا از سرور LDAP ابری استفاده میکنید یا خودتان آن را راهاندازی میکنید. با این حال، قبل از شروع هر یک از مسیرها، اولین گام برای اجرای هر LDAP باید برنامهریزی باشد. تیم فناوری اطلاعات شما باید قبل از اجرای هر چیزی به دقت در مورد اینکه چگونه میخواهد دایرکتوری خود را سازماندهی کند فکر کند. این تفکر باید موارد زیر را در نظر بگیرد:
- میخواهید کدام منابع را در دایرکتوری قرار دهید؟
- نحوه جداسازی گروههای کاربری، تخصیص مجوزها چگونه است؟
- سیستمعاملهایی که باید در آن قرار دهید کدامند؟
- چگونه میخواهید فعالیتهای کارمندان دورکار را در کار خود ادغام کنید؟
- پارامترهای امنیتی شما چه خواهد بود؟
- برای این که به تضمین کارکرد درست نزدیک ۱۰۰ درصد برسید، چه تمهیدی اندیشیدهاید؟
- سازمان شما چگونه برنامهریزی میکند تا مقیاسبندی کند؟ و موارد دیگر
برنامهریزی اولیه برای ایجاد یک دایرکتوری سازمان یافته، مقیاس پذیر، انعطاف پذیر و مناسب با محیط حیاتی است. به عنوان مثال، اگر شما یک سازمان ده نفره هستید اما قصد دارید به طور قابل توجهی توسعه پیدا کنید، منطقی است که کارمندان خود را در ابتدا به گروههای بخشبندی شده تقسیم کنید. این امکان رشد سازمان یافته را فراهم میکند، حتی اگر هر بخش فقط با یک یا دو کاربر آغاز به کار کند.
علاوه بر این برنامهریزی برای سازمانهایی که دایرکتوریهای خود را میسازند بسیار مهم است زیرا به آنها کمک میکند تا بفهمند کدام راهکارهای LDAP به بهترین وجه نیازهای آنها را برآورده میکند. پس از برنامهریزی طرح دایرکتوری خود و انتخاب یک ارائه دهنده LDAP یا انتخاب LDAP منبع باز، باید سرورهای LDAP خود را پیکربندی کنید.
راه اندازی LDAP به صورت داخلی
اگر LDAP خود را میزبانی میکنید، باید سرور(های) LDAP خود را راهاندازی کنید. مراحل نصب و پیکربندی دایرکتوری LDAP بسته به نمونه LDAP مورد استفاده شما متفاوت است. OpenLDAP شاید محبوبترین نمونه LDAP در بازار باشد، اما سرورهای LDAP دیگری مانند Apache DS، ۳۸۹ DS و Open DJ وجود دارد.
راه اندازی LDAP ابری
همانطور که قبلا ذکر شد، کارهای لازم برای راه اندازی و نگهداری LDAP ابری بسیار کم هستند. این یکی از دلایل اصلی است که بسیاری از شرکتها آن را نسبت به گزینههای سنتی اولیه انتخاب میکنند. مرحله سرور برای LDAP ابری شامل مشترک شدن در سرور LDAP ابری به جای راهاندازی آن توسط خودتان است.
در این حالت، باز هم باید قبل از انتخاب راه حل LDAP به دقت برنامهریزی کنید. با این حال، اکثر ارائه دهندگان، پیکربندی و مدیریت دایرکتوری را از طریق یک رابط گرافیکی کاربرپسند ارائه میدهند که تغییرات را آسانتر میکند. در حالی که سرورهای LDAP رایگان زیادی (از جمله سخت افزار) برای انتخاب وجود ندارد، چندین گزینه نرم افزار LDAP رایگان در دسترس هستند. در ادامه آنها را بررسی میکنیم.
ارائه دهندگان LDAP
بدون LDAP، واحد فناوری اطلاعات معمولا نمیتواند نظارتی بر حسابهای کاربری و فعالیتهای کاربران داشته باشد. بنابراین مدیران باید دسترسی به منابع را به صورت دستی مدیریت کنند، این یک مدل مدیریت هویت و دسترسی غیرمتمرکز و غیر سازمانیافته (IAM) ایجاد میکند که میتواند منجر به افزونگی، اصطکاک و خطر امنیتی شود.
هنگامی که سازمانها متوجه میشوند که هزینه اجرای یک راه حل کمتر از هزینه مدیریت دستی است، شروع به بررسی LDAP میکنند. اینها چند راهکار LDAP هستند که اکثر مشاغل در نظر میگیرند:
اکتیو دایرکتوری (AD)
AD از LDAP و Kerberos برای احراز هویت کاربران و اعطا دسترسی به منابع استفاده میکند. به عنوان یک محصول مایکروسافت، بهترین گزینه برای محیطهای مبتنی بر ویندوز است. برای استفاده از AD، مدیران فناوری اطلاعات باید برای مجوز سرور ویندوز، که شامل AD میشود، هزینه پرداخت کنند. این نشان دهنده مدل سنتی صدور مجوز است که سازمانهای فناوری اطلاعات که از محصولات مایکروسافت استفاده میکنند، به خوبی میشناسند.
AD همچنین به دسترسی از راه دور مانند VPN یا SD-WAN برای احراز هویت کاربران راه دور و اعطا دسترسی به منابع در محل نیاز دارد. Azure Active Directory اخیرا به عنوان یک افزونه برای AD معرفی شده است، اما فاقد قابلیتهای واقعی و بومی LDAP است.
Open LDAP
همانطور که قبلا ذکر شد، OpenLDAP هیچ هزینهای برای دانلود ندارد. با این حال، هزینههای قابل توجهی پیرامون راه اندازی زیرساخت و مدیریت مداوم آن وجود دارد. OpenLDAP به دلیل ریشههای منبع بازش با سیستمعاملهای مبتنی بر لینوکس و یونیکس عالی کار میکند، بنابراین آن را در بسیاری از محیطهای DevOps خواهید یافت. مانند AD، برای احراز هویت و دسترسی به منابع در محل نیاز به VPN دارید.
LDAP ابری
LDAP مبتنی بر ابر، فارغ از تامین کننده است و با طیف گستردهای از منابع فناوری اطلاعات کار میکند. با یک پلت فرم دایرکتوری ابری، نیازی به VPN نیست – اگرچه هنوز هم پشتیبانی میشود – در عوض، یک عامل سبک وزن در دستگاه کاربر در شروع هر جلسه یک اتصال امن TLS برقرار میکند. این به کاربران اجازه میدهد تا بدون VPN به طور ایمن به منابع LDAP خود متصل شوند. سرویسهای Cloud LDAP اغلب شامل پروتکلهای اضافی هستند، بنابراین یک ابزار میتواند به کاربران امکان دسترسی به تقریبا تمام منابع آنها را بدهد.
مزایا و معایب LDAP
مزایا
متن باز
دانلود پروتکل (به عنوان مثال OpenLDAP) اغلب هزینهای ندارد و به سرعت به انجام میرسد.
استاندارد شده
LDAP به عنوان یک استاندارد کارگروه مهندسی اینترنت (IETF) در سال ۱۹۹۷ با شناسه RFC 2251 تصویب شد. به این ترتیب، صنعت فناوری اطلاعات به صورت کلی از LDAP پشتیبانی میکند و به این کار ادامه خواهد داد.
انعطاف پذیری
توسعه دهندگان و مدیران فناوری اطلاعات از احراز هویت LDAP برای بسیاری از موارد استفاده میکنند، از جمله تأیید اعتبار برنامه و سرور از راه دور و از آنجایی که این پروتکل به طرق مختلف مورد استفاده قرار گرفته است، جامعهای از کاربران پیرامون این پروتکل وجود دارد که به افراد کمک میکند بیشترین بهره را از آن ببرند.
فارغ از دستگاه
LDAP با سیستم عاملها و دستگاههای مختلف سازگار است. با این حال، پیشنهادات مختلف LDAP ممکن است این انعطاف را محدود کند. به عنوان مثال، AD ویندوز محور است و اغلب به افزونههایی نیاز دارد تا با سیستم عاملهای دیگر کار کند.
امنیت
LDAP در نمونه اصلی خود از طریق متن واضح منتقل میشد. با این حال، امروزه گزینههایی برای رمزگذاری ارتباطات LDAP وجود دارد، یا از طریق لایههای سوکت امن از طریق LDAP روی SSL یعنی LDAPS، یا امنیت لایه انتقال از طریق StartTLS یعنی STARTTLS. STARTTLS گزینه ایدهآل و بسیار امن است و LDAPS در رتبه دوم قرار میگیرد. هنگام استفاده از LDAP همیشه به جای استفاده از متن واضح، از یکی از این دو استفاده کنید.
معایب
سن
LDAP یک پروتکل قدیمی است. پروتکلهای احراز هویت جدیدتر مانند SAML برای محیطهای فناوری اطلاعات مدرن و ابری که از برنامههای کاربردی وب استفاده میکنند ساخته شدهاند.
On-Prem
LDAP به طور سنتی با یک سرور OpenLDAP به صورت در محل راه اندازی میشود که کار آسانی نیست. برای سازمانهایی که به سمت فضای ابری حرکت میکنند، راهاندازی یک مکانیسم احراز هویت در محل که به منابع فناوری اطلاعات ابری متصل میشود، ایدهآل نیست.
تجربه و تخصص
راه اندازی و نگهداری LDAP معمولا به یک متخصص نیاز دارد. یافتن افراد با این سطح از دانش فنی ممکن است دشوار و گران باشد. این به ویژه برای OpenLDAP صادق است.
Ramp-up قابل توجه
هرچه سازمان شما بزرگتر باشد، راه اندازی یک دایرکتوری جدید دشوارتر است. از آنجایی که دایرکتوریها اساسا ترکیبی از تمام اجزای سازمان شما هستند، ایجاد یک دایرکتوری جدید از ابتدا یا چرخش از یک دایرکتوری به دایرکتوری دیگر میتواند چالش برانگیز باشد.
خوشبختانه، پلتفرمهای دایرکتوری ابری مانند JumpCloud دارای راهنمای راه اندازی هستند و میتوانند با دایرکتوریهای موجود مانند AD ادغام شوند. بنابراین، شرکتهای بزرگی که به دنبال استفاده از LDAP ابری هستند، میتوانند این کار را بدون نیاز به عقبگرد انجام دهند.
گسترش LDAP به یک دایرکتوری کامل ابری
Cloud LDAP از یک سرور میزبان ابری برای دسترسی کاربران به تمام منابع در محل خودشان استفاده میکند. پلتفرمهای دایرکتوری Cloud اکنون LDAP را با سایر پروتکلهای IAM مانند SAML، OAuth، RADIUS، SCIM و WebAuthn ترکیب میکنند و احراز هویت و مجوز امن برای منابع مبتنی بر وب و ابر را تسهیل میکنند.
برخی از نمونههای LDAP با پروتکلهایی مانند RADIUS برای تسهیل دسترسی امن WiFi و VPN، Samba برای مجوز فایل امن، SAML، JIT و SCIM برای تامین هویت خودکار مبتنی بر وب، ادغام میشوند. نتیجه یک دایرکتوری اصلی است که کاربران شما را مدیریت میکند و به آنها اجازه میدهد از هر کجا که هستند به تمام منابع فناوری اطلاعات مورد نیازشان، اعم از در محل یا ابری دسترسی داشته باشند.