همگام سازی کاربران LDAP با Keycloak
اگر گزینه Import Users را تنظیم کنیم، Provider LDAP وارد کردن کاربران LDAP به پایگاه داده محلی Keycloak را انجام می دهد. اولین باری که کاربر وارد سیستم می شود، ارائه دهنده LDAP کاربر LDAP را به پایگاه داده Keycloak وارد می کند و رمز عبور LDAP را تأیید می کند. این اولین باری است که کاربر وارد سیستم می شود، تنها زمانی است که Keycloak کاربر را وارد می کند. اگر روی منوی Users در Admin Console کلیک کنید و روی دکمه View all users کلیک کنیم، فقط یک بار کاربران LDAP را می بینیم که توسط Keycloak احراز هویت شده اند. Keycloak کاربران را از این طریق وارد می کند، بنابراین این عملیات وارد کردن کل پایگاه داده کاربر LDAP را راه اندازی نمی کند.
اگر بخواهیم همه کاربران LDAP را در پایگاه داده Keycloak همگامسازی کنیم، تنظیمات همگامسازی را در صفحه پیکربندی ارائهدهنده LDAP پیکربندی و فعال می نماییم.
دو نوع همگام سازی وجود دارد:
همگام سازی کامل دوره ای Periodic Full sync
این نوع همه کاربران LDAP را در پایگاه داده Keycloak همگام می کند. کاربران LDAP از قبل در Keycloak، اما در LDAP متفاوت هستند، مستقیماً در پایگاه داده Keycloak به روز می شوند.
همگام سازی دوره ای کاربران تغییر یافته Periodic Changed users sync
هنگام همگامسازی، Keycloak کاربرانی را ایجاد کرده یا تنها پس از آخرین همگامسازی بهروزرسانی میکند.
بهترین راه برای همگامسازی این است که هنگام ایجاد Provider LDAP روی همگامسازی همه کاربران کلیک کرده، سپس همگامسازی دورهای کاربران تغییر یافته را تنظیم کنیم.
LDAP Mappers
mappers LDAP شنوندههایی هستند که توسط Provider LDAP راهاندازی میشوند. آنها نقطه گسترش دیگری را برای ادغام LDAP ارائه می دهند. Mappers LDAP زمانی فعال میشوند که:
کاربران با استفاده از LDAP وارد سیستم می شوند.
کاربران در ابتدا ثبت نام می کنند.
کنسول مدیریت از کاربر درخواست می کند.
هنگامی که یک ارائه دهنده فدراسیون LDAP ایجاد می کنید، Keycloak به طور خودکار مجموعه ای از Mappers را برای این ارائه دهنده ارائه می دهد.
این مجموعه توسط کاربران قابل تغییر است، کاربران همچنین می توانند Mappers را توسعه دهند یا Mappers موجود را به روز کنند/حذف کنند.
User Attribute Mapper
این Mapper مشخص می کند که کدام ویژگی LDAP به ویژگی کاربر Keycloak تخصیص داده می شود. به عنوان مثال، می توانید ویژگی LDAP Mail را به ویژگی ایمیل در پایگاه داده Keycloak پیکربندی کرده و برای اجرای این Mapper، یک mapper یک به یک همیشه وجود دارد.
FullName Mapper
این Mapper نام کامل کاربر را مشخص می کند. Keycloak نام را در یک ویژگی LDAP (معمولاً cn) ذخیره می کند و نام را به ویژگی های firstName و lastname در پایگاه داده Keycloak Maps می کند. داشتن cn حاوی نام کامل کاربر برای استقرار LDAP معمول است.
وقتی کاربران جدیدی را در Keycloak ثبت میکنیم و Sync Registrations برای Provider LDAP روشن است، fullName mapper اجازه میدهد به نام کاربری بازگردد.
این بازگشتی هنگام استفاده از Microsoft Active Directory (MSAD) مفید است. راهاندازی رایج برای MSAD این است که ویژگی cn LDAP را بهعنوان fullName پیکربندی میکند و در همان زمان، از ویژگی cn LDAP به عنوان ویژگی RDN LDAP در پیکربندی ارائهدهنده LDAP استفاده میکند. با این تنظیمات، Keycloak به نام کاربری باز می گردد.
به عنوان مثال، اگر کاربر Keycloak "Akhlaghi123" را ایجاد کنید و firstName و lastName را خالی بگذارید، نگاشت کننده نام کامل "Akhlaghi123" را به عنوان مقدار cn در LDAP ذخیره می کند. وقتی «Mehdi Akhlaghi» را برای firstName و lastName بعداً وارد میکنید، Mapper نام کامل LDAP cn را به مقدار «John Doe» بهروزرسانی میکند زیرا بازگشت به نام کاربری غیر ضروری است.
مهدی اخلاقی 11/تیر/1401 - بخش 8 - قسمت ۱ Mapper