راهاندازی SSO در جیرا
بازارچه ابریخواندن 8 دقیقه
بهطور کلی اتصال Jira به Keycloak با استفاده از OpenID Connect امکان مدیریت مرکزی کاربران را فراهم میکند، به طوری که ادمینها میتوانند حسابها، گروهها و دسترسیها را از یک سیستم واحد کنترل کنند و نیاز به مدیریت جداگانه در هر ابزار را حذف نمایند.
پیشنیازها
- یک س رویس فعال Jira و دسترسی ادمین
- یک سرویس فعال Keycloak
گام اول: دریافت اطلاعات مورد نیاز
بهطور کلی در این مرحله میخواهیم آدرس redirect و base url را کپی کنیم. ابتدا وارد مسیر زیر شوید
⚙️ > System > Authentication methods
در این صفحه برای روی Add configuration کلیک نمایید و وارد صفحه کانفیگ شوید.
یک نام منحصربهفرد برای تنظیمات وارد کنید (مثلاً "Keycloak OIDC") و از منوی Authentication method، گزینه OpenID Connect single sign-on را انتخاب کنید. مشابه تصویر زیر.
در این صفحه Jira Redirect URL (یا Callback URL) را نمایش میدهد. این URL چیزی شبیه
https://your-jira-domain.darkube.app/plugins/servlet/oidc/callback
است. این URL را کپی کنید – برای تنظیم Keycloak در آینده نیاز است. در ادامه این صفحهها ذخیره نکنید؛ ابتدا Keycloak را تنظیم کنید.
گام دوم: تنظیم Keycloak به عنوان ارائهدهنده OIDC
فاز اول تنظیمات کیکلوک
- به کنسول ادمین Keycloak وارد شوید (مثلاً
https://your-keycloak-domain/admin) - Realm مورد نظر را انتخاب کنید (یا اگر لازم، Realm جدیدی ایجاد کنید).
- در منوی سمت چپ، به Clients > Create client بروید.
- Client type را روی OpenID Connect تنظیم کنید.
- یک Client ID منحصربهفرد وارد کنید (مثلاً "jira-oidc-client").
- اختیاری: یک Name وارد کنید (مثلاً "Jira").
- روی Next کلیک کنید.
- Client Authentication/Authorization را فعال کنید (روی On تنظیم کنید).
- روی Next کلیک کنید.
- در تنظیمات ورود (Login settings):
-
Root URL را روی URL پایه Jira تنظیم کنید:
https://my-domain.darkube.app. -
Home URL را همان تنظیم کنید.
-
در Valid redirect URIs، URL Redirect کپیشده از Jira .را اضافه کنید برای مثال:
https://my-domain.darkube.app/plugins/servlet/oidc/callback -
در Valid post logout redirect URIs، همان HOME URL یا URL خروج Jira را اضافه کنید (اختیاری اما توصیهشده).
-
Web origins را روی
+تنظیم کنید (اجازه همه از redirect URIs) یا دامنه Jira را مشخص کنید.
- روی Save کلیک کنید.
- یه تب Credentials بروید و Client Secret را کپی کنید (برای Jira نیاز است).
- در این مرحله با مراجعه به آدرس discovery URL زیر تنظیمات اصلی ایجاد شده شامل اندپوینت هایی مورد نیاز کلاینت وجود دارد
https://my-keycloak.darkube.app/realms/jira/.well-known/openid-configuration
فاز دوم تنظیمات کیکلوک
هدف کلی فاز دوم تنظیم client scopes کلاینت کیکلوک مورد نظر است.
با توجه به اینکه انتظار میرود یوزرهای مورد نظر در کیکلوک دسترسی مورد نظر جیرا را داشته باشند، در قسمت Groups، گروهی با نام jira-software-users ایجاد نمایید و یوزرهای مورد نظر را به آن اضافه کنید.
در قسمت clients با کلیک بر jira-oidc-client (کلاینت آیدی ساخته شده از مرحله قبل) وارد قسمت client scopes شوید.
وارد تب Evaluate شوید و بعد از انتخاب یوزر مورد نظر (یوزری که قرار است دسترسی جیرا داشته باشد) روی Generate ID Token کلیک کنید. یک json به نمایش درمیآید که حاوی یک سری key value است.
این json برای شفافیت تنظیمات و دیباگهای آینده مناسب است. برای این سند، فیلدهای زیر باید در این json وجود داشته باشند:
-
فیلد groups با مقدار jira-software-users
-
فیلدهای preferred_username، given_name، family_name، sub و email در صورتی که این فیلدها یا یکی از آنها نبودند، باید در همین آدرس client scopes مجددا وارد کلاینتآیدی شوید و بعد از کلیک بر کلاینت آیدی -dedicated وارد صفحه Dedicated scopes این کلاینت شوید و هر کدام از فیلدهای بالا را که نداشتید از طریق Add mapper اضافه کنید.
بعد از کلیک بر Add mapper، از predefined mapperها email و username و هر مپر مورد نیازی را انتخاب نمایید. در صورت نداشتن groups، با کلیک بر Add mapper و انتخاب By configuration، آیتم Group Membership را انتخاب کرده و نام و کلیمنیم groups را وارد نمایید و Full Groups Path را Off نمایید.
در انتها انتظار میرود بعد از انجام تنظیم ات بالا با انتخاب یوزر مورد نظر در قسمت Evaluate، فیلدهای مربوطه اضافه شده باشد. این فیلدها در آینده در تنظیمات جیرا مورد استفاده قرار خواهند گرفت. بعد از اطمینان از اتمام فاز اول و دوم تنظیمات کیکلوک به جیرا برمیگردیم و تنظیمات را نهایی میکنیم.
گام سوم: تنظیمات جیرا
در این قسمت URL Issuer Realm و client id و client secret را وارد کرده و مشابه تصویر زیر مابقی تنظیمات را وارد میکنیم.
تنظیمات OpenID connect
به مپینگ وارد شده و سینتکس آن توجه فرمایید. بر حسب نیازمندی شما میتواند متفاوت باشد.
تنظیمات JIT provisioning
Create users on login to the application (ایجاد/بهروزرسانی خودکار کاربران در ورود اول) برای JIT provisioning را فعال کنید. بهطور کلی هدف این تنظیمات ساخت یوزر کیکلوک در جیرا است. نکته: در نظر داشته باشید همانطور که گفته شد یوزرهای کیکلوک می باستی در گروه jira-software-users مشابه قرار داشته باشند.
در نظر داشته باشید فیلدهای وارد شده همان فیلدهای تعریف شده در json مرحله قبل هستند.
تنظیمات اضافی:
- 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-jira.log را با کلیدواژه /plugins/servlet/oidc/callback بررسی نمایید.
راهنماییهای مرتبط
این راهنمایی کاربردی بود؟
با ثبت بازخوردتان در بهبود کیفیت مستندات مشارکت داشته باشید.