پروتکل SAML چیست؟

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

SAML با ارائه روشی برای یک بار احراز هویت کاربر و سپس برقراری ارتباط تایید اعتبار با چندین برنامه کاربردی، فناوری SSO) Single Sign On) را امکان پذیر می سازد.

SAML 2.0 چیست؟

SAML 2.0 نسخه جدید SAML است و از سال 2005 مورد استفاده قرار گرفته است. SAML 2.0 چندین نسخه از SAML را که قبلاً استفاده می شدند ، ترکیب کرده است. بسیاری از سیستم ها از نسخه های قبلی مانند SAML 1.1 برای سازگاری عقبرو پشتیبانی می کنند ، اما SAML 2.0 استاندارد جدیدتری است.

در محاسبات و شبکه، یکی از مهمترین چالش ها این است که سامانه ها و دستگاه های ساخته شده توسط فروشندگان مختلف برای اهداف مختلف با هم کار کنند. این توانایی “قابلیت همکاری” نام دارد. به عبارت دیگر به معنای توانایی تعامل ماشین آلات مختلف با یکدیگر علی رغم مشخصات فنی متفاوت آن ها است. پروتکل SAML یک استاندارد “قابلیت همکاری” است که در واقع روشی کاملا پذیرفته شده برای برقراری ارتباط هویت کاربر با ارائه دهندگان خدمات است.

Single Sign On) SSO) چیست؟

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

برای این کار، سیستم SSO باید با هر برنامه خارجی ارتباط برقرار کند تا به آنها بگوید کاربر به سیستم وارد شده است و این جایی است که SAML وارد می شود.پیش از آن که بتوانیم به درک عمیق از کاربرد، نحوه کار و راه های بهره مندی کسب و کارها از SAML برسیم بهتر است با انواع ارائه دهندگان SAML آشنا شویم.

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

برای اینکه SAML اجرا شود باید یک ارائه دهنده هویت و یک ارائه دهنده خدمات وجود داشته باشد:

ارائه دهندگان هویت کاربران را احراز هویت می کنند:

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

ارائه دهندگان خدمات به کاربران اجازه دسترسی می دهند:

این سامانه ها از داده های احراز هویت ارائه دهنده هویت برای اعطای دسترسی به سرویس استفاده می کنند. به عنوان مثال می توان به Salesforce و Box اشاره کرد.
بنابراین SAML درواقع پیوند بین احراز هویت کاربر و کنترل دسترسی در یک سامانه است. این زبان به IdP و SP کمک می کند تا ارتباط برقرار کنند. هنگامی که یک کارفرما (IdP) و یک شرکت نرم افزاری (SP) هر دو SAML را اجرا می کنند می توانند به طور یکپارچه کاربران معتبر را تأیید کنند.

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

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

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

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

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

معمولا یک فرایند احراز هویت SSO شامل سه بخش است:

موضوع: این بخش معمولا یک کاربر انسانی است که سعی در دستیابی به برنامه میزبان را دارد.
ارائه دهنده هویت: یک ارائه دهنده هویت (IdP) یک سرویس نرم افزاری است که هویت کاربر را معمولا از طریق فرایند ورود به سیستم بررسی و تایید می کند. اساسا نقش IdP این است که بگوید: “من این شخص را می شناسم و آنچه که مجاز به انجام آن است در اینجاست.”
یک سیستم SSO ممکن است در واقعیت از IdP جدا باشد اما در این موارد SSO به عنوان نماینده IdP عمل می کند. بنابراین برای همه مقاصد در جریان کاری SAML این دو یکسان هستند.

ارائه دهنده خدمت : برنامه کاربردی یا سامانه ای است که کاربر می خواهد از آن استفاده کند. از نمونه های متداول می توان سرویس های ایمیل ابری مانند Gmail و Microsoft Office 365 ، سرویس های ذخیره سازی ابری مانند Google Drive و AWS S3 و برنامه های ارتباطی مانند Slack و Skype را نام برد. به طور معمول کاربر به صورت مستقیم فقط وارد این سیستم ها می شود اما وقتی از SSO استفاده می شود کاربر وارد SSO شده و پروتکل SAML برای دسترسی به جای ورود مستقیم استفاده می شود.

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

SAML از زبان نشانه گذاری توسعه پذیر (XML) برای برقراری ارتباط بین ارائه دهنده هویت و ارائه دهنده خدمت استفاده می کند. این وضعیت به صورت یک اعلان SAML شکل می گیرد که در واقع نوعی سند XML است که ارائه دهنده هویت برای تأیید اعتبار کاربر به یک ارائه دهنده خدمت می فرستد.

برای مثال یک سناریو از کاربرد پروتکل SAML را در زندگی روزمره بررسی می کنیم. وقتی کاربری در یک شرکت جدید شروع به کار می کند ، یک آدرس ایمیل و آدرس دسترسی به داشبورد دریافت می کند. وقتی با استفاده از ارائه دهنده هویت (مانند آتین) به آن داشبورد وارد می شوند ، نمادهای ارائه دهندگان خدمت خارجی مانند Slack یا Salesforce به آنها نمایش داده می شود. سپس آنها می توانند بر روی هر یک از این نمادها کلیک کرده و بدون نیاز به وارد کردن مجدد اعتبارنامه خود ، به طور خودکار وارد آن سرویس شوند.

آیا احراز هویت SAML همان کنترل دسترسی است؟

پروتکل SAML یک فناوری برای احراز هویت کاربر است ، نه کنترل دسترسی کاربر و این تفاوت اصلی است. کنترل دسترسی قسمتی جداگانه از مدیریت هویت و دسترسی است.

احراز هویت به تایید هویت کاربران اطلاق می شود. اینکه آن ها چه کسانی هستند و آیا هویت آن ها با فرایند ورود به سیستم تأیید شده است یا خیر.

کنترل دسترسی اشاره به امتیازات یا مجوزهای کاربران دارد. به طور خاص یعنی مجاز به انجام چه اعمالی در سامانه های یک سازمان هستند.

فناوری های مدیریت دسترسی مجوز کاربر را کنترل می کنند. پلتفرم های مدیریت دسترسی از چندین استاندارد مختلف کنترل دسترسی (یکی از آنها OAuth است) استفاده می کنند ، اما از SAML استفاده نمی کنند.

آتین یکی از نمونه های راهکار مدیریت هویت و دسترسی است. دسترسی آتین سازمان ها را قادر می سازد بدون استفاده از شبکه خصوصی مجازی (VPN) دسترسی کاربر را به منابع و داده های داخلی مدیریت کنند. همچنین به راحتی با ارائه راهکار SSO هم کنترل دسترسی و هم تأیید اعتبار کاربر را ارائه می دهد.

دو نوع جریان SAML وجود دارد که کاربران ممکن است برای دسترسی به وب سایت ها ، برنامه ها و خدمات آنلاین از آنها استفاده کنند:

جریان شروع شونده توسط ارائه دهنده خدمت

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

جریان شروع شونده توسط ارائه دهنده هویت

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

مزایای پروتکل SAML

SAML مزایای بسیاری را برای کاربران و کسب و کارها فراهم می کند. از جمله مهم ترین این مزایا کاهش پیچیدگی استفاده از چندین برنامه وب به طورهمزمان است. مزایای دیگر عبارتند از:

بهبود تجربه کاربری

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

کاهش خطر از دست رفتن اعتبارنامه

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

امنیت بیشتر

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

کاهش هزینه ها

اجرای SAML باعث صرفه جویی قابل توجهی در زمان مدیران می شود ، زیرا به شما کمک می کند تا نیاز به درخواست پشتیبانی و بازنشانی رمز ورود نداشته باشید. همچنین به به حداقل رساندن هزینه های توسعه (اغلب با روش های احراز هویت اختصاصی) کمک می کند.

مدیریت ساده کاربران

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

جایگزین های SAML

در حالی که پروتکل SAML مزایای زیادی از نظر تجمیع هویت ارائه می دهد ، استانداردهای جایگزینی در دسترس است که به مشاغل و خدمات برای مدیریت ایمن و تأیید هویت کاربر کمک می کند.

OpenID : OpenID یک استاندارد هویت منبع باز است که کاربران را قادر می سازد بدون اشتراک اطلاعات اضافی ورود به سیستم ، به چندین وب سایت و برنامه دسترسی داشته باشند. اگر تا به حال با استفاده از اعتبارنامه های Google ، YouTube یا Facebook به وب سایتی وارد شده باشید ، OpenID را تجربه کرده اید.

OAuth : OAuth یا OpenAuth استانداردی است که به طور مشترک توسط گوگل و توییتر توسعه داده شد تا امکان ورود ساده به وب سایت ها را فراهم کند. این پروتکل از نظر نحوه اشتراک گذاری اطلاعات هویتی بین برنامه ها به SAML شبیه است (Facebook و Google دو ارائه دهنده OAuth هستند). با این حال ، با توجه به استفاده از نشانه های JSON برای تأیید اعتبار کاربران برای موبایل مناسب تر است.

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

شروع کار با SAML

پروتکل SAML بخشی حیاتی از هر استراتژی امنیت سایبری است. زیرا استفاده از اعتبارنامه را محدود کرده و به مشاغل امکان می دهد تا هویت را به صورت متمرکز کنترل و مدیریت کنند. علاوه بر این ، به کاربران امکان دسترسی آسان به برنامه های وب مورد نظرشان را می دهد و در عین حال امنیت را نیز افزایش می دهد.

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

بدون دیدگاه

© تمامی حقوق برای شرکت دانش بنیان آتین محفوظ است.