تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

ورود تک‌ مرحله‌ ای (SSO) چگونه کار می‌کند؟


۲۹ اردیبهشت ۱۴۰۴

کاربران بسیاری برای انجام کارهای روزانه خود به چندین اپلیکیشن و سرویس آنلاین مراجعه می‌کنند. ورود جداگانه به هرکدام، نه تنها وقت‌‌گیر است، بلکه احتمال استفاده تکراری از رمزهای عبور و کاهش امنیت را هم افزایش می‌دهد. ورود تک مرحله‌ای یا Single Sign-On (SSO) راه‌حلی کارآمد برای این مشکل است. با SSO، کافی است یک بار وار حساب شوید تا بدون نیاز به ورود مجدد، به تمام سرویس‌های موردنظرتان دسترسی داشته باشید.

SSO فناوری‌ای است که پایه‌آن از دهه‌ی 90 میلادی و با ظهور سیستم‌های هویت‌سنجی و پروتکل LDAP شکل گرفت. در ابتدا برای مدیریت کاربران در شبکه‌های سازمانی طراحی شده‌ بود، اما به تدریج به بخش مهمی از ساختارهای امنیتی مدرن تبدیل شد؛ به‌ویژه در محیط‌های ابری و اپلیکیشن‌های تحت وب.

  • ورود تک مرحله‌ای یا SSO چیست؟
  • بازیگران اصلی در سیستم SSO
  • مراحل اجرای SSO
  • مزایای استفاده از SSO
  • معایب استفاده از SSO
  • انواع مختلف SSO
  • انتخاب پروتکل مناسب برای SSO
  • پیاده‌سازی‌های موجود برای SSO
  • جمع بندی

ورود تک مرحله‌ ای یا SSO چیست؟

ورود تک‌مرحله‌ای یا SSO یک روش مدرن برای احراز هویت کاربران است که تجربه ورود به سیستم‌ها و اپلیکیشن‌های مختلف را ساده‌ و یکپارچه‌ می‌کند. با استفاده از SSO، کاربر تنها یک‌بار وارد حساب کاربری خود می‌شود (مثلا با وارد کردن ایمیل و رمز عبور)، و پس از آن می‌تواند بدون نیاز به ورود مجدد، به سایر سرویس‌ها و برنامه‎‌های مرتبط نیز دسترسی داشته باشد.

برای مثال، فرض‌کنید با حساب Google وارد سیستم شوید؛ بعد از آن بدون نیاز به ورود دوباره، می‌‎توانید به سرویس‌هایی مانند Gmail و Google Drive و YouTube یا حتی سرویس‌های شخص ثالث مانند Trello یا Slack که از ورود از طریق Google پشتیبانی می‌کنند دسترسی پیدا کنید.

ورود تک مرحله‌ ای یا SSO

بازیگران اصلی در سیستم SSO

در پشت‌صحنه‌ی سیستم ورود تک‌مرحله‌ای (SSO)، سه نقش کلیدی وجود دارد که هرکدام وظیفه‌ی مشخصی دارند.

  • ارائه‌دهنده هویت (Identity Provider یا IdP): مرکز اصلی احراز هویت است. کاربر اطلاعات ورودش را در اینجا وارد می‌کند و در صورت صحت، تأیید می‌شود. می‌توان آن را شبیه به درب ورودی یک ساختمان با امنیت بالا تصور کرد.
  • ارائه‌دهنده خدمات (Service Provider یا SP): این‌ها اپلیکیشن‌ها یا سرویس‌هایی هستند که برای ورود کاربر، به سیستم SSO متکی‌اند. ایمیل کاری، ابزار مدیریت پروژه یا نرم‌افزار CRM نمونه‌هایی از SP هستند. می‌توان آن‌ها را به دفاتر مختلف درون همان ساختمان تشبیه کرد.
  • سرور SSO: نقش واسطه‌ای بین IdP و SP را ایفا می‌کند. وظیفه‌اش برقراری ارتباط بین آن‌ها و انتقال امن توکن‌های احراز هویت است. مثل یک راهرو محافظت‌شده است که ورودی اصلی را به دفاتر مختلف متصل می‌کند.

مراحل اجرای SSO

گوگل و سرویس‌های مشابه، نمونه‌های بسیار خوبی از نحوه عملکرد SSO هستند. فرض کنید می‌خواهید با حساب گوگل خود وارد Trello شوید؛ نیازی به ساخت حساب جدید در Trello یا حفظ نام کاربری و رمز عبور جدید نخواهید داشت.

در این حالت، زمانی که گزینه ورود با گوگل را در Trello انتخاب می‌کنید، به صفحه ورود حساب‌های گوگل در آدرس accounts.google.com هدایت می‌شوید. در آنجا فرم ورود را مشاهده می‌کنید و اطلاعات خود را وارد می‌کنید. اگر احراز هویت موفق باشد، گوگل شما را به Trello بازمی‌گرداند و بدون نیاز به وارد کردن مجدد اطلاعات، وارد محیط کاربری‌تان در Trello می‌شوید.

مراحل ورود به Trello از طریق حساب گوگل

  • درخواست دسترسی: کاربر وارد صفحه ورود Trello می‌شود و روش ورود با حساب گوگل را انتخاب می‌کند.
  • هدایت به IdP (ارائه‌دهنده هویت): Trello کاربر را به صفحه ورود گوگل هدایت می‌کند.
  • نمایش فرم ورود: صفحه ورود گوگل به کاربر نمایش داده می‌شود.
  • وارد کردن اطلاعات ورود: کاربر ایمیل و رمز عبور گوگل خود را وارد می‌کند.
  • بررسی اعتبار توسط سرور SSO: گوگل اطلاعات وارد شده را برای تأیید به سرور مجوزدهی SSO ارسال می‌کند.
  • صدور توکن احراز هویت: اگر اطلاعات صحیح باشد، سرور مجوزدهی، یک توکن احراز هویت (معمولاً SAML) صادر می‌کند.
  • ارسال توکن به Trello: گوگل این توکن را به Trello ارسال می‌کند.
  • اعتبارسنجی توکن: Trello توکن را برای تأیید به سرور مجوزدهی گوگل ارسال می‌کند.
  • تأیید نهایی و ورود موفق: اگر توکن معتبر باشد، Trello به کاربر اجازه دسترسی می‌دهد و نشست کاربر (session) را برای استفاده‌های بعدی ذخیره می‌کند.
SOC 2 چیست و چرا برای امنیت داده‌ها در فضای ابری مهم است؟
SOC 2

مزایای استفاده از SSO

استفاده از SSO مزایای متعددی برای کاربران و تیم‌های فناوری اطلاعات به‌ همراه دارد.

  • تجربه کاربری بهتر: کاربران دیگر مجبور نیستند برای هر سرویس، نام کاربری و رمز عبور جداگانه‌ای را به‌خاطر بسپارند. یک بار ورود کافی است تا به چندین سرویس دسترسی پیدا کنند.
  • افزایش امنیت: با کاهش نیاز به داشتن رمزهای متعدد احتمال استفاده مکرر از رمز عبور یکسان در سرویس‌های مختلف کمتر می‌شود. این موضوع ریسک نفوذ‌های امنیتی را کاهش می‌دهد.
  • مدیریت ساده‌تر دسترسی‌ها: تعیین این‌که چه کسی به چه اطلاعاتی دسترسی داشته باشد، می‌تواند پیچیده باشد. راهکارهای SSO این امکان را فراهم می‌کنند تا کاربران بر اساس نقش، دپارتمان یا سطح ارشدیت آن‌ها به سادگی تنظیم و کنترل شود.

معایب استفاده از SSO

با اینکه SSO مزایای زیادی دارد، اما نباید از برخی چالش‌ها و معایب آن چشم پوشی کرد.

  • نقطه شکست واحد: یکی از مهم‌ترین ایرادات SSO این است که اگر سیستم مرکزی احراز هویت دچار مشکل شود یا مورد حمله قرار گیرد دسترسی به همه سرویس‌ها و اپلیکیشن‌های متصل به خطر می‌افتد.
  • ریسک‌های امنیتی: اگر نام کاربری یا رمز عبور فردی فاش شود، مهاجم می‌تواند به تمام سرویس‌‌هایی که با SSO به آن‌ها متصل شده، دسترسی پیدا کند. این موضوع باعث افزایش سطح ریسک می‌شود.
  • ناسازگاری برخی اپلیکیشن‌ها: برخی از اپلیکیشن‌ها به درستی با سیستم SSO پیکربندی نشده‌اند. اگر یک برنامه از استانداردهایی پشتیبانی نکند، کاربران همچنان مجبور به استفاده از رمز عبور جداگانه برای آن ‌ها هستند.

انواع مختلف SSO

برای استفاده از SSO، آشنایی با پروتکل‌ها و استانداردهای مختلف ضروری است. در ادامه به رایج‌ترین آن‌ها اشاره شده است.

  • SAML: یکی از متداول‌ترین روش‌ها برای پیاده‌سازی SSO است. در این روش، اطلاعات احراز هویت از طریق پروتکل SAML بین سرور SSO و اپلیکیشن‌ها تبادل می‌شود.
  • OAuth 2.0: این پروتکل برای دسترسی واسطه‎‌ای طراحی شده و اجازه می‌دهد یک کاربر با تایید هویت در یک سیستم، به منابع دیگر هم دسترسی داشته باشد. OAuth 2.0 نحوه انتقال توکن‌ها را مشخص می‌کند و معمولا برای دسترسی به API ها استفاده می‌شود.
  • OpenID Connect: یک نسخه ساده‌تر و جدیدتر از OAuth 2.0 است که به صورت خاص برای اپلیکیشن‌های وب طراحی شده. نسبت به SAML ساده‌تر است و یکپارچه‌‎سازی با آن راحت‌تر انجام می‌شود.

پروتکل‌ها و روش‌های کمتر رایج

  • Kerberos: در این روش کاربران با دریافت تیکت از سرور مرکزی به اپلیکیشن‌ها دسترسی پیدا می‌کنند. اگرچه این روش از لاگین‌های مکرر جلوگیری می‌کند، اما به دلیل وابستگی به کلیدهای مشترک بین سرورها، برای استفاده در فضای اینترنت چندان مناسب نیست.
  • کارت هوشمند (Smart Card): در این روش، یک کارت فیزیکی حاوی اطلاعات هویتی کاربر، مانند یک کلید عمل کرده و اجازه دسترسی به اپلیکیشن‌ها را صادر می‌کند. این روش امنیت فیزیکی بیشتری ایجاد می‌کند، اما نیازمند حمل کارت توسط کاربر است.
سرور مجازی ابری لیارا با مدل پرداخت ساعتی، گزینه‌ای مقرون‌به‌صرفه برای پروژه‌های کوچک و بزرگ شماست.
فقط به اندازه‌ی مصرف واقعی خود پرداخت کنید.
خرید و راه‌اندازی سرور مجازی ابری

انتخاب پروتکل مناسب برای SSO

برای انتخاب یک پروتکل مناسب جهت پیاده‌سازی SSO، عوامل مختلفی را باید در نظر گرفت.

نوع اپلیکیشن (سازمانی یا مصرف کننده محور)

پروتکل SAML بیشتر در اپلیکیشن‌های سازمانی کاربرد دارد چون با سامانه‌های پیچیده احراز هویت و ارائه دهندگان هویت سازمانی (مانند Active Directory)

احراز هویت یا مجوزدهی

اگر هدف اصلی شما تایید هویت کاربر است، استفاده از SAML یا OIDC گزینه مناسبی هستند. OICD لایه‌ای از شناسایی کاربر را به پروتکل OAuth اضافه می‌کند.

اما اگر هدف شما دسترسی به منابع کاربر بدون نیاز به رمز عبور است، بهتر است از OAuth 2.0 استفاده کنید.

سازگاری با زیرساخت‌ها و اپلیکیشن‌ها

پیش از انتخاب پروتکل، مطمئن شوید که با سیستم‌های فعلی شما و اپلیکیشن‌هایی که می‌خواهید به آن‌ها متصل شوید، سازگار است. سیستم‌های قدیمی ممکن است بیشتر با SAML سازگار باشند، درحالی که اپلیکیشن‌های مدرن معمولا ار OAuth2.0 و OIDC پشتیبانی می‌کنند.

موارد امنیتی بسیار مهم برای حفاظت از سرور مجازی
امنیت سرور مجازی

تجربه کاربری

پروتکل‌های مدن مبتنی بر توکن مانند OIDC و OAuth تجربه کاربری روان‌تر و یکپارچه‌تری را، بخصوص در اپلیکیشن‌های وب و موبایل، فراهم می‌کنند.

آینده نگری

اگر قصد دارید زیرساخت‌هایتان را به سمت فضای ابری، سرویس‌های API و اپلیکیشن‌های موبایل ببرید، OAuth 2.0 و OIDC گزینه‌های انعطاف‌پذیرتر و آینده‌نگرتری هستند.

رعایت الزامات قانونی و امنیتی

در انتخاب پروتکل، باید به تطابق آن با مقررات مربوط به حریم خصوصی و امنیت اطلاعات (مانند GDPR یا HIPAA) نیز توجه شود.

مراحل اجرای SSO

پیاده‌سازی‌های موجود برای SSO

برای پیاده‌سازی SSO، محصولات و سرویس‌های متعددی در بازار وجود دارند که هر کدام بسته به نیاز کسب‌وکارها، امکانات متنوعی را ارائه می‌دهند. در ادامه چند گزینه محبوب و شناخته‌شده معرفی شده‌اند.

  • Microsoft Entra ID: (نام جدید Microsoft Active directory) اگر سازمان شما از سرویس‌های مایکروسافت استفاده می‌کند، این راهکار یکی از بهترین گزینه‌ها است. Microsoft Entra ID یکپارچگی کامل با محصولات مایکروسافت دارد و به‌خاطر ویژگی‌های امنیتی قوی و ابزارهای مدیریتی حجامع شناخته می‌شود.
  • Okta: یکی از محبوب ترین سرویس‌های SSO ابری است که با رابط کاربری ساده، مقیاس‌پذیری بالا و پشتیبانی از تعداد زیادی اپلیکیشن شناخته می‌شود. Okta گزینه‌ای مناسب برای سازمان‌هایی است که به دنبال یک پلتفرم جامع برای مدیریت هویت و دسترسی (IAM) هستند.
  • Ping Identity: این راهکار برای سازمان‌هایی طراحی شده که نیاز به تنظیمات امنیتی پیشرفته و سفارشی دارند. Ping Identity از امنیت قوی برای اپلیکیشن‌های موبایل و API ها پشتیبانی می‌کند و انعطاف‌پذیری بالایی در مقابل سناریوهای پیچیده سازمانی ارائه می‌دهد.
  • OneLogin: اگر به دنبال یک راهکار ساده، سبک و سریع هستید، OneLogin انتخاب مناسبی برای کسب‌وکارهای کوچک و متوسط است. این سرویس، احراز هویت مبتنی بر هوش مصنوعی و شناسایی تهدیدها به صورت لحظه‌ای را فراهم می‌کند تا امنیت بیشتری را برای کاربران فراهم کند.
  • Auth0: برای توسعه‌دهندگانی که به دنبال سفارشی‌سازی عمیق در فرآیند احراز هویت هستند، Auth0 یک گزینه ایده‌آل است. این پلتفرم از زبان‌ها و فریم‌ورک‌های مختلف پشتیبانی می‌کند و امکان طراحی جریان‌های احراز هویت متناسب با نیاز هر پروژه را فراهم می‌سازد.
Let’s Encrypt چیست؟ گواهی SSL رایگان برای امنیت وب‌سایت‌ها
Let’s Encrypt

جمع بندی

استفاده از سیستم‌های Single Sign-On دیگر یک انتخاب لوکس نیست، بلکه به ضرورتی برای سازمان‌ها، تیم‌های توسعه و حتی کاربران عادی تبدیل شده است. با کاهش نیاز به وارد کردن چند باره رمز عبور و تمرکز بر امنیت و تجربه کاربری، SSO نه تنها کارایی را افزایش می‌دهد بلکه نقاط آسیب‌پذیر امنیتی را نیز کاهش می‌دهد.

با این حال، انتخاب پروتکل مناسب و پیاده‌سازی صحیح آن، نقش کلیدی در موفقیت راهکار SSO دارد. همچنین، شناخت محدودیت‌ها و نقاط ضعف مانند وجود نقطه شکست و عدم سازگاری برخی برنامه‌ها، می‌تواند به طراحی سیستمی امن‌تر کمک کند.

در نهایت انتخاب بهترین ابزار یا سرویس پیاده سازی SSO، باید با توجه به نیازهای فنی، نوع کاربران، زیرساخت فعلی و چشم‌انداز آینده‌ی سازمان انجام شود. اگر این مسیر به درستی طی شود، SSO می‌تواند پایه‌ای امن، ساده و یکپارچه برای مدیریت هویت کاربران در دنیای دیجیتال فراهم کند.

به اشتراک بگذارید