فناوری SAML چیست و چگونه کار می کند؟

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

SAML چیست؟

Security Assertion Markup Language (SAML) یک استاندارد باز است که به ارائه دهندگان هویت (IPP) اجازه می دهد تا مجوزات امنیتی، تصدیق و احراز هویت را به ارائه دهندگان خدمات (SP) منتقل کنند. این یعنی آنکه می توانید برای ورود به نرم افزارهای تحت وب، پورتال ها و یا وب سایت های مختلف، از یک گواهینامه امنیتی احراز هویت واحد استفاده کنید. همین مدیریت یک ورود به سیستم برای هر کاربر بسیار ساده تر از مدیریت ورود جداگانه ورود به سرویس ایمیل، نرم افزارهای سازمانی، نرم افزار مدیریت ارتباط با مشتری (CRM) ، اکیتودایرکتوری و غیره است زیرا تنها از یک نقطه واحد امکان ارایه احراز هویت کاربر را برای ورود به هر سیستمی خواهید داد و نیازی به مدیریت و کنترل ورودهای مختلف افراد در نرم افزارهای مختلف نیست.

استاندارد SAML از زبان نشانه گذاری گسترده (XML) برای برقراری ارتباطات استاندارد بین ارائه دهنده هویت و ارائه دهندگان خدمات استفاده می کند. در کلامی ساده تر: SAML ارتباط بین تأییدکننده هویت کاربر و مجوز استفاده از یک سرویس است.  این استانداردی برای ورود کاربران به برنامه های کاربردی مختلف را بر اساس جلسات مشترک میسر می کند. این استاندارد در حقیقت یک SSO یا Single Sign One “ورود یکباره به سیستم” هست یعنی کاربر تنها پس از یک بار احراز هویت نام کاربری و رمز او قادر به ورود به هر سیستمی که از این استاندارد استفاده می کند هست این استاندارد مزایای قابل توجهی بجای استفاده از نام کاربری و رمز عبور بهمراه دارد که بشرح زیر است:

  1. نیازی به تایپ نام کاربری و رمز عبور توسط کاربر نیست.
  2. نیازی به بخاطر سپردن گذرواژه‌های مختلف برای ورود به نرم افزارهای مختلف نیست.
  3. نیازی به بازنشانی و ریست گذرواژه‌های نرم افزارهای مختلف نیست.
  4. نیازی به تمدید گذرواژه‌ها نیست
  5. ۵٫      نقص امنیتی بدلیل وجود گذرواژه‌های ضعیف کاربران از بین می رود
  6. سهولت در بستن دسترسی های کاربران به تمام سرویس ها و نرم افزارها، در یک نقطه متمرکز و واحد
  7. مدیریت آسان کاربران
  8. از بین رفتن نرم افزارهای جزیره ای برای احراز هویت های مجزا
  9. و….

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

SAML بسیار قدرتمند و انعطاف پذیر است. اما چون قابلیت های بصری و کاربری آسانی ندارد معمولا هرگونه ادغامی با زمانبر خواهد بود بنابراین ابزارهای SAML منبع باز نظیر: OneLogin می توانند به جای ماهها ، به شما کمک کنند تا SAML را در یک ساعت ادغام کنید.

نحوه کار SAML

پروتکل احراز هویت  SAML SSO با انتقال هویت کاربر از یک مکان (ارائه دهنده هویت) به دیگری (ارائه دهنده خدمات) کار می کند. این کار از طریق تبادل اسناد XML امضا شده دیجیتالی انجام می شود.

این سناریوی را در نظر بگیرید: کاربر در یک سیستم وارد می شود که به عنوان ارائه دهنده هویت عمل می کند. مثلا اکیتودایرکتوری (زمانی کاربر به ویندوز لاگین میکند!) کاربر می خواهد به یک برنامه از راه دور مانند یک برنامه پشتیبانی یا حسابداری (ارائه دهنده خدمات) نیز وارد شود. موارد زیر اتفاق می افتد:

  • کاربر با کلیک بر روی یک لینک اینترانت، قادر به دسترسی ریموت به نرم افزار مورد نظر خواهد بود
  • نرم افزار حسابداری،(ارائه دهنده خدمات)، منشاء درخواست کاربر را از طریق(نام دامنه، زیر دامنه، آدرس IP کاربر یا موارد مشابه) را شناسایی می کند و کاربر را به سمت ارائه دهنده هویت هدایت می کند و درخواست احراز هویت او را می کند. این همان درخواست تأیید اعتبار است. یعنی تشخیص هویت کاربر.
  •  ارائه دهنده تشخیص هویت، پاسخ  استعلام و احراز هویت را در قالب یک سند XML که حاوی نام کاربری یا آدرس ایمیل کاربر است ، می سازد ، آن را با استفاده از یک گواهی X.509 امضا می کند و این اطلاعات را به نرم افزار حسابداری،(ارائه دهنده خدمات)، ارسال می کند.
  • نرم افزار حسابداری،(ارائه دهنده خدمات)، که از قبل ارائه دهنده هویت را می شناسد او پاسخ احراز هویت را بازیابی می کند و با استفاده از اثر گواهی صادر شده، آن را تأیید می کند.
  •     هویت کاربر تایید و دسترسی برنامه به کاربر فراهم می شود.

کنسرسیوم OASIS SAML 2.0 در سال ۲۰۰۵ تصویب شد. استاندارد از ۱٫۱ به بعد طور قابل توجهی تغییر کرد. پذیرش SAML به فروشگاه های IT اجازه می دهد تا ضمن حفظ یک سیستم مدیریت هویت امن مرکزی و متمرکز، از نرم افزار به عنوان راه حل های سرویس (SaaS) استفاده کنند. SAML Single-Sign On (SSO) را قادر می سازد ، اصطلاحی است به این معنی که کاربران می توانند یک بار وارد سیستم شوند و از همان اعتبارنامه های مشابه می توان برای ورود به سایر ارائه دهندگان خدمات استفاده مجدد کرد.

SAML برای چه مواردی استفاده می شود؟

SAML فرآیندهای تأیید اعتبار و مجوز را برای کاربران ، ارائه دهندگان هویت و ارائه دهندگان خدمات بطور مرکزی ساده می کند. SAML راه حلی را ارائه می دهد تا به ارائه دهنده هویت و ارائه دهندگان خدمات شما اجازه دهد جدا از یکدیگر وجود داشته باشند، مدیریت کاربر را متمرکز کرده و به راه حل های SaaS دسترسی می دهد.

SAML روشی مطمئن برای تصدیق اعتبار کاربر و مجوزهای بین ارائه دهنده هویت و ارائه دهندگان خدمات پیاده سازی می کند. وقتی کاربر وارد یک برنامه فعال شده SAML می شود ، ارائه دهنده سرویس از ارائه دهنده هویت مناسب درخواست مجوز می کند. ارائه دهنده شناسنامه اعتبار کاربر را تأیید می کند و سپس مجوز مربوط به کاربر را به ارائه دهنده خدمات برمی گرداند، و کاربر اکنون قادر به استفاده از برنامه است.

احراز هویت SAML فرایند تأیید هویت و اعتبار کاربر (رمز عبور ، تأیید هویت دو عاملی و غیره) است. مجوز SAML به ارائه دهنده خدمات می گوید که چه چیزی برای اعطای کاربر معتبر دسترسی دارد.

ارائه دهنده SAML چیست؟

ارائه دهنده SAML سیستمی است که به کاربر کمک می کند تا به خدمات مورد نیاز خود دسترسی پیدا کند. دو نوع اصلی ارائه دهندگان SAML ، ارائه دهنده خدمات و ارائه دهنده هویت وجود دارد.

دو نوع ارائه دهنده SAML

  1. ارائه دهنده خدمات یا Service Provider برای اعطای مجوز به کاربر نیاز به تأیید اعتبار از ارائه دهنده هویت دارد.
  2. یک ارائه دهنده هویت یا Identity Provider تأیید هویت را انجام می دهد که کاربر نهایی کسی است که می گوید آنها هستند و آن داده ها را به همراه حق دسترسی کاربر برای سرویس ، به ارائه دهنده خدمات ارسال می کند.

اکتیودایرکتوری مایکروسافت[۱] یا Azure از جمله “ارایه دهندگان هویت” رایج هستند. نرم افزارهای اتوماسیون و یا سایر راه حل های CRM معمولاً از جمله” ارائه دهنده خدمات” هستند، به این دلیل که برای تأیید اعتبار کاربر به یک ارائه دهنده هویت بستگی دارند.

سند ادعای SAML چیست؟

SAML Assertion یک سند XML است که ارائه دهنده هویت به ارائه دهنده سرویس ارسال می کند که حاوی مجوز کاربر است. سه نوع مختلف از ادعاهای SAML وجود دارد – تأیید اعتبار ، ویژگی و تصمیم مجوز.

ادعاهای تأیید هویت، شناسایی کاربر را اثبات می کند و زمان ورود کاربر را به شما معرفی می کند و اینکه از چه روشی برای احراز هویت استفاده کرده است (به عنوان مثال ، Kerberos ، فاکتور ۲ عاملی، NTLM و غیره)

    ادعای انتساب ویژگی های SAML را به ارائه دهنده خدمات منتقل می کند – ویژگی های SAML قطعات خاصی از داده ها هستند که اطلاعات مربوط به کاربر را ارائه می دهند.

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

مثال SAML

    خانم ستوده (کاربر) اولین چیزی است که صبح وارد سیستم اش می شود آنهم از طریق SSO.

    سپس او سعی می کند تا صفحه وب CRM خود باز کند.

    CRM – ارائه دهنده خدمات – مدارک معتبر خانم ستوده را با ارائه دهنده هویت، چک می کند.

    ارائه دهنده هویت پیام های مجوز و تأیید اعتبار را به ارائه دهنده خدمات ارسال می کند، که به خانم ستوده اجازه می دهد تا وارد CRM شود.

    خانم ستوده می تواند از CRM استفاده کند و کار را انجام دهد.

این پروسه برای هر تعداد کاربر با هر تعداد نرم افزار (ارایه دهنده خدمت) قابل تعمیم است.

پروتکلهای مشابه SAML:

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

  • Kerberos
    • Kerberos یک پروتکل تأیید اعتبار شبکه است. این برنامه قدرتمند به منظور ارائه احراز هویت برای برنامه های کلاینت/سرور با استفاده از رمزنگاری کلید مخفی ساخته شده است. Kerberos در بسیاری از محصولات تجاری نیز موجود است.
  • LDAP
    • LDAP (Lightweight Directory Access Protocol) یک پروتکل نرم افزاری است که به هر کسی امکان می دهد سازمان ها ، افراد و سایر منابع مانند پرونده ها و دستگاه ها را در یک شبکه اعم از اینترنت عمومی یا یک اینترانت شرکتی قرار دهد.
  • OpenID
    • OpenID یک پروتکل احراز هویت استاندارد و غیر متمرکز است و این امکان را برای کاربران فراهم می کند تا با استفاده از یک سرویس ثالث، توسط سایت های همکار تأیید شوند و نیاز وب مسترها را به سیستم های ورود به سیستم تبلیغاتی خاص خود برطرف می کنند. و به کاربران امکان می دهد بدون نیاز به داشتن یک شناسه و رمز عبور جداگانه ، به چندین وب سایت نامربوط وارد شوند.
  • OAuth
    • OAuth یک چارچوب احراز هویت است که به برنامه های کاربردی امکان دسترسی محدود به حساب های کاربری در یک سرویس وب HTTP ، مانند Facebook ، GitHub و Goolgle را می دهد.
  • RADIUS
    • Remote Authentication Dial-In Service User (RADIUS) یک پروتکل شبکه است که مدیریت تأیید هویت، برای کاربرانی که به یک سرویس شبکه وصل شده اند را ارائه می دهد.

SAML در مقابل Outh

OAuth یک استاندارد تقریبا جدید است که توسط Google و توئیتر برای فعال کردن ورود ساده به اینترنت ساخته شده. OAuth از یک متدلوژی مشابه SAML برای به اشتراک گذاری اطلاعات ورود به سیستم استفاده می کند.  اما SAML کنترل بیشتری در اختیار سازمانها می گذارد تا ورود SSO خود را ایمن تر نگه دارند. از طرفی OAuth در تلفن های همراه بهتر است و از JSON استفاده می کند.

فیسبوک و گوگل هر دو ارائه دهنده OAuth هستند که ممکن است از آنها برای ورود به سایت های اینترنتی دیگر استفاده کنید. احتمالا بسیار دیده اید که فلان سایت برای ورود از شما اتصال به Gmail  و Facebook می خواهد این همان پروتکل OAuth است که شما را احراز هویت می کند بی آنکه نام کاربری و رمز عبور جدیدی در فلان سایت تعریف کنید.

SAML و SSO برای هر استراتژی امنیت سایبری سازمانی مهم هستند. بهترین شیوه های مدیریت هویت مستلزم این است که حسابهای کاربری فقط به منابعی که کاربر برای انجام کار خود نیاز دارد محدود و به صورت متمرکز و ممیزی کنترل شود. با استفاده از یک راه حل SSO ، می توانید حساب ها را از یک سیستم غیرفعال کرده و دسترسی یکباره به کلیه منابع موجود را حذف کنید ، این باعث می شود با محافظت از اطلاعات از سرقت داده های شما جلوگیری شود.

اما در میان همه این راهکارهای مشابه،

  • اگر برای استفاده سازمانی
  • اگر برای ایجاد یک منبع هویتی متمرکز
  • و اگر برای ارایه دسترسی به پیمانکاران، نمایندگان و مشتریان به پورتالهای سازمانی میخواهید SAML بهترین انتخاب است.

نوشته: هادی احمدی

امروز اکثر نرم افزارهای ITIL نیز مجهز به این فناوری شده اند بخصوص آنکه همچنان در بالا گفته شد SAML فناوری مناسب سازمانهاست نرم افزار سرویس دسک پلاس نسخه جدید نیز از این قاعده مستثنی نیست و در نسخه جدید با تجهیز به این فناوری لزوم استفاده از یک مخزن احراز هویت متمرکز بجای تعریف کاربر در داخل نرم افزار و یا وارد کردن از LDAP و اکتیودایرکتوری را با سهولت تمام در اختیار شما قرار می دهد.


[۱] Microsoft Active Directory

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

حل معادله *

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
error: نیازی به کپی نیست همه چیز در دیدرس شماست
0
افکار شما را دوست داریم، لطفا نظر دهید.x