پرش به مطلب اصلی
راه‌اندازی SSO در Confluence

راه‌اندازی SSO در Confluence

بازارچه ابریخواندن 7 دقیقه

به صورت کلی اتصال Confluence به Keycloak با استفاده از OpenID Connect امکان مدیریت مرکزی کاربران را فراهم می‌کند، به طوری که ادمین‌ها می‌توانند حساب‌ها، گروه‌ها و دسترسی‌ها را از یک سیستم واحد کنترل کنند و نیاز به مدیریت جداگانه در هر ابزار را حذف نمایند.

پیش‌نیاز ها

  • برای پیاده‌سازی از ابزار Keycloak استفاده خواهیم کرد. در صورت نداشت این اپ میتوانید از بازارچه ابری هم‌روش تنها با چند کلیک، Keycloak خود را ستاپ کنید.
  • برای پیاده سازی و تنظیم SSO از پلاگین pre-installed خود کانفلوئنس استفاده شده است.

گام اول: دریافت اطلاعات مورد نیاز

به صورت کلی در این مرحله میخواهیم آدرس redirect و base url را کپی کنیم. ابتدا وارد مسیر زیر شوید

⚙️ > Configuration > Authentication methods

در این صفحه برای روی Add configuration کلیک نمایید و وارد صفحه کانفیگ شوید.

یک نام منحصربه‌فرد برای تنظیمات وارد کنید (مثلاً "Keycloak OIDC") و از منوی Authentication method، گزینه OpenID Connect single sign-on را انتخاب کنید.

در این صفحه confluence Redirect URL (یا Callback URL) را نمایش می‌دهد. این URL چیزی شبیه

https://your-confluence-domain/plugins/servlet/oidc/callback

است. این URL را کپی کنید – برای تنظیم Keycloak در آینده نیاز است. در ادامه این صفحه ها ذخیره نکنید؛ ابتدا Keycloak را تنظیم کنید.

گام دوم: تنظیم Keycloak به عنوان ارائه‌دهنده OIDC

فاز اول تنظیمات کی‌کلوک

  1. به کنسول ادمین Keycloak وارد شوید (مثلاً https://your-keycloak-domain/admin)

  2. Realm مورد نظر را انتخاب کنید (یا اگر لازم، Realm جدیدی ایجاد کنید).

  3. در منوی سمت چپ، به Clients > Create client بروید.

  4. Client type را روی OpenID Connect تنظیم کنید.

  5. یک Client ID منحصربه‌فرد وارد کنید (مثلاً "confluence-oidc-client").

  6. اختیاری: یک Name وارد کنید (مثلاً "confluence").

  7. روی Next کلیک کنید.

  8. Client Authentication/Authorization را فعال کنید (روی On تنظیم کنید).

  9. روی Next کلیک کنید.

  10. در تنظیمات ورود (Login settings):

  11. Root URL را روی URL پایه confluence تنظیم کنید: https://my-domain.darkube.app.

  12. Home URL را همان تنظیم کنید.

  13. در Valid redirect URIs، URL Redirect کپی‌شده از confluence را اضافه کنید . برای مثال:

    https://my-domain.darkube.app/plugins/servlet/oidc/callback

  14. در Valid post logout redirect URIs، همان HOME URL یا URL خروج confluence را اضافه کنید (اختیاری اما توصیه‌شده).

  15. Web origins را روی + تنظیم کنید (اجازه همه از redirect URIs) یا دامنه confluence را مشخص کنید.

  16. روی Save کلیک کنید.

  17. یه تب Credentials بروید و Client Secret را کپی کنید (برای confluence نیاز است).

  18. در این مرحله با مراجعه به آدرس discovery URL زیر تنظیمات اصلی ایجاد شده شامل اندپوینت هایی مورد نیاز کلاینت وجود دارد

https://my-keycloak.darkube.app/realms/confluence/.well-known/openid-configuration

فاز دوم تنظیمات کی‌کلوک

هدف کلی فاز دوم تنظیم client scopes کلاینت کی‌کلوک مورد نظر است.

با توجه به اینکه انتظار می رود یوزر های مد نظر ما در کی‌کلوک دسترسی مورد نظر جیرا را داشته باشند، در قسمت Groups، گروهی با نام confluence-users ایجاد نمایید و یوزر های مورد نظر را به آن اضافه کنید.

از اضافه شدن یوزر(های) مورد نظر به این گروه اطمینان حاصل بفرمایید.

در صورتی که یوزری وجود ندارد، بعد از ساخت یوزر ، در تب Groups، آن را به گروه کانفلوئنس اضافه نمایید و در تب Credentials پسورد اضافه نمایید. از enable بودن email verified یوزر ها اطمینان حاصل بفرمایید.

در قسمت clients با کلیک بر confluence-oidc-client (کلاینت آی‌دی ساخته شده از مرحله قبل) وارد قسمت client scopes شوید.

وارد تب Evaluate شوید و بعد از انتخاب یوزر مورد نظر (یوزری که قرار است دسترسی جیرا داشته باشد) بر روی Generate ID Token کلیک کنید. یک json به نمایش درمیاید که حاوی یک سری key value می باشد.

این json خروجی مناسبی جهت شفافیت خروجی تنظیماتمون و دیباگ های آینده می‌باشد و به صورتی کلی در نظر داشته باشید که برای این سند، فیلد های زیر نیاز می بایستی در این json وجود داشته باشد:

  • فیلد groups با مقدار confluence-users

  • فیلد های ‌ preferred_username، given_name، family_name، sub و email در صورتی که این فیلد ها یا یکی از آن ها نبودند می بایستی در همین آدرس client scopes مجددا وارد کلاینت‌آیدی شوید و بعد از کلیک بر کلاینت آی‌دی -dedicated وارد صفحه Dedicated scopes این کلاینت شوید و هر کدام از فیلد های بالا را که نداشتید از طریق Add mapper اضافه کنید.

در صورت نداشتن groups، با کلیک بر Add mapper و انتخاب By configuration، آیتم Group Membership را انتخاب کرده و نام و کلیم‌نیم groups را وارد نمایید و Full Groups Path را Off نمایید.

در انتها انتظار می رود بعد از انجام تنظیمات بالا فیلد های مربوطه اضافه شده است. این فیلد ها در آینده در تنظیمات کانفلوئنس مورد استفاده قرار خواهند گرفت.

گام سوم: تنظیمات کانفلوئنس

در این قسمت URL Issuer Realm و client id و client secret را وارد کرده و مشابه تصاویر زیر مابقی تنظیمات را وارد می نماییم.

تنظیمات OpenID connect

به مپینگ وارد شده و سینتکس آن توجه فرمایید. بر حسب نیازمندی شما میتواند متفاوت باشد.

تنظیمات JIT provisioning

Create users on login to the application (ایجاد/به‌روزرسانی خودکار کاربران در ورود اول) برای JIT provisioning را فعال کنید. به صورت کلی هدف این تنظیمات ساخت یوزر کی‌کلوک در جیرا می باشد. نکته: در نظر داشته باشید همانطور که گفته شد یوزر های کی‌کلوک می باستی در گروه confluence users مشابه قرار داشته باشند.

تنظیمات اضافی:
  • Fill the data automatically from my chosen identity provider را فعال کنید تا endpoints مثل authorization، token و user info خودکار پر شوند (Keycloak از discovery URL پشتیبانی می‌کند).
  • Remember user logins را فعال کنید برای جلسه‌های پایدار.
  • Show IdP on the login page را فعال کنید تا دکمه ورود Keycloak در صفحه ورود نمایش داده شود.

و در انتها ذخیره را بزنید و خارج شوید.

مشابه تصویر زیر authentication method جدید خود اضافه شده است.

در نظر داشته باشید تا زمان تست نهایی و اطمینان از عملکرد حتما از Disable کردن login از طریق username password خودداری کنید. با کلیک بر Test sign-in میتوانید تست کنید و یک دور مجدد login کنید و از غیر فعال بودن cache بروزر اطمینان حاصل فرمایید. همچنین جهت دیباگ با فعال سازی مدیریت فایل ها در کنسول هم‌روش وارد فایل سیستم جیرا شوید و در آدرس log/ فایل لاگ atlassian-confluence.log را با کلیدواژه /plugins/servlet/oidc/callback بررسی نمایید.

راهنمایی‌های مرتبط

این راهنمایی کاربردی بود؟

با ثبت بازخوردتان در بهبود کیفیت مستندات مشارکت داشته باشید.