احراز هویت یکپارچه SSO چیست؟
احراز هویت یکپارچه (SSO) یک فرآیند است که به کاربران اجازه می دهد با یکبار ورود به یک سیستم، به تمام سرویس های دیگر دسترسی داشته باشند. به عبارت دیگر، با استفاده از SSO، کاربران نیازی به وارد کردن اطلاعات احراز هویت خود برای هر سرویس جدید ندارند، بلکه با ورود به یک سامانه SSO، می توانند به تمام سرویس های مجازی دسترسی داشته باشند. این فرآیند به کاربران کمک میکند تا زمان و هزینه را صرف ورود به هر سرویس جدید نکنند و به راحتی به تمام سرویس های مورد نیاز دسترسی داشته باشند.
- افزایش امنیت
- صرفه جویی در زمان و هزینه
- سهولت استفاده و کاهش خطا
- قابلیت انعطاف پذیری
ورود به سامانه SSO
با استقرار sso ، کاربران میتوانند با یک بار ورود به سامانه sso ، به تمامی سرویسها و برنامههای متصل به SSO دسترسی پیدا کنند بدون نیاز به وارد کردن مجدد نام کاربری و رمز عبور. ورود به سامانه SSO معمولاً به صورت زیر انجام میشود:
1. ورود به سیستم اصلی (Primary System): ابتدا باید به سیستم اصلی یا سامانه اصلی وارد شوید. این ممکن است یک پورتال یا وبسایت خاص باشد.
2. احراز هویت (Authentication): در مرحله احراز هویت، شما معمولاً اطلاعات ورود خود را وارد میکنید. این ممکن است شامل نام کاربری و رمز عبور باشد.
3. صدور توکن (Token issuance): پس از احراز هویت موفق، یک توکن ایجاد میشود. این توکن نشاندهنده مجوزهای دسترسی شما به سرویسهاست.
4. انتقال به سایر سرویسها: حالا با استفاده از توکن ایجاد شده، میتوانید به سرویسها و برنامههای دیگر بدون نیاز به وارد کردن مجدد اطلاعات ورود دسترسی پیدا کنید.
مزایای SSO چیست ؟
ایمنی و امنیت بالا
با پیاده سازی SSO ، کاربران تنها یکبار برای ورود به سامانه احراز هویت میشوند و برای دسترسی به سرویسهای مختلف نیازی به ورود مجدد نیست. این باعث کاهش خطرات امنیتی مانند سرقت نام کاربری و کلمه عبور میشود.
سهولت استفاده و کاهش خطا
با راه اندازی SSO ، کاربران نیازی به یادآوری نام کاربری و کلمه عبور برای هر سرویس جدید ندارند و با یکبار ورود به سامانه، به تمام سرویسهای مجازی دسترسی دارند. لذا خطاهای احتمالی مانند نوشتن اشتباه نام کاربری و کلمه عبور کاهش مییابد و باعث بهبود تجربه کاربری میشود.
صرفه جویی در زمان و هزینه
با استقرار SSO ، کاربران نیازی به وارد کردن اطلاعات احراز هویت خود برای هر سرویس جدید ندارند و به راحتی به تمام سرویسهای مورد نیاز دسترسی دارند. این باعث صرفه جویی در زمان و هزینه میشود.
انعطاف پذیری
با اجرا SSO ، سازمانها میتوانند به راحتی سرویسهای جدید را به سامانه اضافه کنند و کاربران به صورت خودکار به آنها دسترسی داشته باشند
فرایند SSO احزار هویت یکپارچه
- کاربر از دامنه هدف بازدید میکند.
- آنها به دامنه SSO هدایت میشوند.
- کاربر با اعتبار خود وارد سیستم می شود و دامنه SSO مطابقت را پیدا میکند.
- ابزار SSO یک توکن رمزگذاری شده از سرور احراز هویت درخواست میکند.
- کاربر به دامنه هدف هدایت میشود.
- توکن رمزگذاری شده ثابت میکند که آنها احراز هویت شدهاند.
- کاربر اکنون میتواند آزادانه به تمامی سرویسهای مرتبط نیز دسترسی داشته باشد.
راه اندازی SSO
راه اندازی SSO (Single Sign-On) یک فرآیند پیچیده است که نیازمند تنظیمات و پیکربندی در سطح سرویسهای مختلف است. در ادامه، مراحل عمومی برای راه اندازی SSO را شرح میدهیم:
1. تعریف هویتدهنده (Identity Provider):
ابتدا باید یک هویتدهنده معتبر را تعریف کنید. هویتدهنده مسئول تأمین هویت کاربران است و اطلاعات لازم برای ورود به سامانه را فراهم میکند. بعضی از نمونههای شناخته شده هویتدهنده، شامل Okta، Azure Active Directory و Google Identity Platform است.
3. پیکربندی هوست SSO:
در این مرحله، باید هوست SSO را پیکربندی کنید. این شامل تعیین تنظیمات امنیتی، مانند الگوریتمهای رمزگذاری و گواهینامه SSL، است.
2. پشت سر گذاران (Service Providers):
در این مرحله، باید سرویسهای خود را به عنوان پشت سر گذاران (Service Providers) در هویتدهنده ثبت کنید. پشت سر گذاران نقش سرویسهای خارج از هوست SSO را دارند که از هویتدهنده برای تأیید هویت کاربران استفاده میکنند.
4. پشت سر گذاران در سرویسها:
سپس باید پشت سر گذاران را در سرویسهای خود فعال کنید. این شامل تعریف نقشها و دسترسیها برای کاربران است.
در نهایت، باید SSO را تست و عملکرد آن را بررسی کنید. مطمئن شوید کاربران به درستی به سرویسها دسترسی دارند و فقط با چندین مجوز وارد شدهاند.
لازم به ذکر است که راه اندازی SSO ممکن است به توجه به نوع سرویسها و هویتدهندهها متفاوت باشد
ابزارهای پیاده سازی SSO
Keycloak چیست ؟
Keycloak یک سامانه مدیریت هویت و دسترسی باز است که توسط Red Hat توسعه داده شده است. این سامانه به کاربران اجازه می دهد تا با استفاده از یکبار ورود به سیستم، به صورت خودکار به سایر برنامه ها و منابع مرتبط دسترسی پیدا کنند.
Keycloak از پروتکل های مختلفی مانند OpenID Connect، OAuth 2.0 و SAML پشتیبانی می کند و قابلیت اتصال به سیستم های مختلف را دارد.
همچنین، Keycloak قابلیت های مدیریت کاربران، نقش ها و دسترسی ها را نیز فراهم می کند.
Keycloak یک سامانه متنباز Identity and Access Management (IAM) یا هویت و دسترسی است که توسط Red Hat توسعه یافته و منتشر شده است. این سیستم امکانات متنوعی برای مدیریت هویت کاربران و کنترل دسترسی آنها به منابع مختلف را فراهم میکند.
Keycloak به شما این امکان را میدهد تا سیستم Single Sign-On (SSO) راهاندازی کرده، احراز هویت چند لایه (Multifactor Authentication) را اجرا کنید و مدیریت دسترسیها و گروهها را به سادگی انجام دهید.
ویژگیهای اصلی Keycloak عبارتند از:
- Single Sign-On (SSO): این ویژگی به کاربران این امکان را میدهد تا با یک بار ورود به سیستم، به تمامی سرویسها و برنامههای متصل به Keycloak دسترسی داشته باشند.
- احراز هویت چند لایه (Multifactor Authentication): Keycloak امکان افزودن لایههای امنیتی اضافی مانند احراز هویت دو مرحلهای (Two-Factor Authentication) را فراهم میکند.
- پشتیبانی از استانداردهای امنیتی: Keycloak از استانداردهای امنیتی مانند OAuth 2.0، OpenID Connect، SAML، و LDAP پشتیبانی میکند.
- مدیریت دسترسی (Access Management): این امکان را فراهم میکند تا شما بتوانید مجوزها و نقشهای مختلف را به کاربران اختصاص دهید و دسترسی آنها را مدیریت کنید.
- مدیریت کاربران و گروهها: Keycloak این امکان را فراهم میکند تا کاربران را ایجاد و مدیریت کرده و آنها را به گروهها و نقشهای مختلف تعلق دهید.
Keycloak به عنوان یک سامانه قدرتمند در مواردی همچون امنیت و مدیریت هویت در سیستمها و برنامههای وب استفاده میشود.
برای مشاوره رایگان و دریافت اطلاعات بیشتر درباره خدمات احراز هویت یکپارچه پلتکو کلیک کنید.
پیاده سازی SSO با استفاده از KeyCloak
- نصب و راه اندازی KeyCloak: این مرحله شامل نصب و راه اندازی KeyCloak بر روی سرور مورد نظر است.
- تعریف کلاینت: در KeyCloak، باید یک کلاینت برای برنامه های مورد نظر تعریف شود. در این مرحله، باید اطلاعات مربوط به برنامه شامل نام، آدرس وب سایت و نوع پروتکل تعیین شود.
- تعریف قلمرو : در KeyCloak، می توان چندین قلمرو برای تقسیم بندی کاربران و برنامه ها ایجاد کرد. در این مرحله، باید یک قلمرو برای برنامه ها تعریف شود.
- تعریف کاربران: در KeyCloak، می توان کاربران را به صورت دستی یا با استفاده از یک سیستم خارجی مانند LDAP تعریف کرد.
- تعریف مسیر بازگشت: برای SSO، باید یک مسیر بازگشت تعریف شود که برنامه ها بعد از ورود کاربر به KeyCloak به آن بازگردند.
- اضافه کردن کلاینت به قلمرو : در این مرحله، باید کلاینت تعریف شده را به قلمرو مربوطه اضافه کرد..
- پیاده سازی SSO: در برنامه های مورد نظر، باید کتابخانه KeyCloak را اضافه کرده و کانفیگ کنید تا برنامه با KeyCloak ارتباط برقرار کند و به صورت SSO کار کند.
مزایای keycloak چیست ؟!
Keycloak یک سامانه مدیریت هویت و دسترسی باز است که به کاربران اجازه میدهد تا با یکبار ورود به سیستم، به تمامی سرویسها و برنامههای متصل به شبکه دسترسی پیدا کنند. مزایای استفاده از Keycloak عبارتند از:
- امنیت بالاKeycloak از پروتکلهای امنیتی مانند OAuth2 و OpenID Connect پشتیبانی میکند و به کاربران اجازه میدهد تا با استفاده از رمز عبور یا توکنهای دیجیتالی وارد سیستم شوند.
- مقیاسپذیریKeycloak به صورت افقی و عمودی قابل مقیاسپذیری است و به سادگی قابل توسعه است.
- پشتیبانی چندزبانگیKeycloak از چندین زبان مختلف پشتیبانی میکند و به کاربران اجازه میدهد تا زبان مورد نظر خود را انتخاب کنند.
- انعطافپذیری Keycloak به کاربران اجازه میدهد تا سیاستهای دسترسی و هویتسازی را برای سرویسهای خود تعریف کنند و به صورت دلخواه آنها را تنظیم کنند.
- قابلیت انتقال دادهKeycloak به کاربران اجازه میدهد تا دادههای هویتی خود را از یک محل به محل دیگر منتقل کنند و به صورت آسان با سامانههای دیگر ادغام شوند.
روش تایید هویت sso
روشهای تایید هویت با استفاده از Single Sign-On (SSO) به کاربران اجازه میدهند که با یک مرحله احراز هویت، به تمامی سرویسها یا برنامههای متصل شده وارد شوند. این روش امنیت را افزایش میدهد و تجربه کاربری را بهبود میبخشد. در زیر چند روش معمول برای تایید هویت با SSO آورده شده است:
- OAuth (Open Authorization): یک پروتکل اجازه دهنده است که به کاربران امکان میدهد تا اطلاعات دسترسی خود به سرویسهای دیگر را به اشتراک بگذارند.
در OAuth، توکنهای دسترسی (Access Tokens) برای نمایندگی اجازههای هویت صادر میشوند. - OpenID Connect: یک پروتکل بر پایه OAuth است که به افزایش لایههای ایمنی برای تایید هویت میپردازد.
این پروتکل به کاربران اجازه میدهد تا به عنوان هویت ادعا کنند و اطلاعات کاربر را به سرویسهای متصل به اشتراک بگذارند. - SAML (Security Assertion Markup Language): یک استاندارد برای تبادل ادعاهای امن بین اطلاعات هویت انتقال دهنده و اطلاعات هویت مصرف کننده است.
این روش معمولاً در محیطهای شرکتی و سازمانی برای تبادل اطلاعات هویت بین سرویسهای مختلف استفاده میشود.
- JWT (JSON Web Token): یک استاندارد باز برای تبادل اطلاعات امن بین طرفین است.
این توکنها معمولاً بر اساس الگوریتمهای امنیتی امضا میشوند و در SSO به عنوان توکنهای دسترسی استفاده میشوند. - LDAP (Lightweight Directory Access Protocol): یک پروتکل استاندارد برای دسترسی به دایرکتوریهای اطلاعات (مانند Active Directory) است.
در SSO، اطلاعات هویت کاربران ممکن است در دایرکتوریهای اطلاعات ذخیره شده باشند و تایید هویت از طریق این دایرکتوریها انجام شود.
شرکت دانش بنیان پلتکو، ارائه دهنده خدمات تخصصی یکپارچه سازی و مدیریت وبسرویسها می باشد که خدماتی نظیر گذرگاه سرویسهای سازمانی (ESB) و مدیریت وبسرویسها (API Manager)، مانیتورینگ، مدیریت لاگها، وب پرتال و دهها سرویس تخصصی دیگر به سازمانها ارائه میدهد.
برای دریافت مشاوره سامانه احراز هویت و راه اندازی SSO با شماره 09108717429 تماس حاصل فرمایید و از تخصص و تجربیات تیم پلتکو بهرهمند شوید.
سلام ایا شما این سامانه SSO که پیاده سازی میکنید رو توسعه دادن یا صرفا همون برنامه منبع باز است ؟فارسی سازی هم انجام دادید یا انجام میدید ؟
سلام و عرض ادب
ما در شرکت پلتکو برای مشتریان آخرین نسخهی زیرساخت Keycloak را به صورت کلاستر شده (جهت تضمین HA) مستقر میکنیم.
شخصیسازی، فارسیکردن صفحهی ورود با برند مشتری، اتصال به Key Manager سازمان مانند Active Directory و مشاوره و پشتیبانی جزو دیگر خدمات ما میباشد.
کارکردن با خوده سامانه WSO2 برای SSO بهتر نیست اگر قصد داشته باشیم از API MANEGER هم استفاده بشه که با هم تطبیق داشته باشن؟
ایا شما این سامانه SSO که پیاده سازی میکنید رو توسعه دادن یا صرفا همون برنامه منبع باز است ؟فارسی سازی هم انجام دادید یا انجام میدید ؟
سلام و عرض ادب
“زیرساخت Keycloak به طور تخصصی برای بحث SSO توسعه داده شده است و استفاده از آن جهت اتصال به سایر سامانهها سادهتر از WSO2 Identity Server میباشد.
علاوه بر این خود WSO2 API Maneger با Keycloak به سادگی یکپارچه میشود که حهت اطلاع بیشتر میتوانید این مستند را در این خصوص ملاحظه بفرمائید.”