صفحه اصلی آتین / احراز هویت / پروتکل های احراز هویت / پروتکل SAML چیست؟
(SAML (Security Assertion Markup Language یک استاندارد باز است که اعتبارنامه کنترل دسترسی را از ارائه دهندگان هویت (IdP) به ارائه دهندگان خدمات (SP) منتقل می کند. به زبان ساده پروتکل SAML ارتباط ایمن بین برنامه ها را ممکن می کند و به کاربران این امکان را می دهد که با یک مجموعه اعتبار (نام کاربری و رمز عبور) اجازه دسترسی به برنامه های مختلف را داشته باشند.
SAML با ارائه روشی برای یک بار احراز هویت کاربر و سپس برقراری ارتباط تایید اعتبار با چندین برنامه کاربردی، فناوری SSO) Single Sign On) را امکان پذیر می سازد.
SAML 2.0 نسخه جدید SAML است و از سال 2005 مورد استفاده قرار گرفته است. SAML 2.0 چندین نسخه از SAML را که قبلاً استفاده می شدند ، ترکیب کرده است. بسیاری از سیستم ها از نسخه های قبلی مانند SAML 1.1 برای سازگاری عقبرو پشتیبانی می کنند ، اما SAML 2.0 استاندارد جدیدتری است.
در محاسبات و شبکه، یکی از مهمترین چالش ها این است که سامانه ها و دستگاه های ساخته شده توسط فروشندگان مختلف برای اهداف مختلف با هم کار کنند. این توانایی “قابلیت همکاری” نام دارد. به عبارت دیگر به معنای توانایی تعامل ماشین آلات مختلف با یکدیگر علی رغم مشخصات فنی متفاوت آن ها است. پروتکل SAML یک استاندارد “قابلیت همکاری” است که در واقع روشی کاملا پذیرفته شده برای برقراری ارتباط هویت کاربر با ارائه دهندگان خدمات است.
SSO یا احراز هویت یکپارچه روشی است که در آن کاربران در برابر چندین سامانه و برنامه کاربردی به صورت همزمان احراز هویت می شوند. با استفاده از SSO کاربر در یک صفحه ورود به سامانه یکپارچه وارد شده و سپس می تواند از برنامه های مختلف استفاده کند. در واقع نیازی نیست که کاربران هویت خود را به ازای هر سامانه مورد استفاده تایید کنند.
برای این کار، سیستم SSO باید با هر برنامه خارجی ارتباط برقرار کند تا به آنها بگوید کاربر به سیستم وارد شده است و این جایی است که SAML وارد می شود.پیش از آن که بتوانیم به درک عمیق از کاربرد، نحوه کار و راه های بهره مندی کسب و کارها از SAML برسیم بهتر است با انواع ارائه دهندگان SAML آشنا شویم.
SAML نحوه ورود کاربران به سامانه ها یا وب سایت ها را کاملاً تغییر می دهد. هدف، ساده سازی فرآیند های احراز هویت و کنترل دسترسی برای همه طرفین یعنی ارائه دهندگان هویت ، ارائه دهندگان خدمت و کاربران نهایی است.
SAML به جای درخواست اعتبارنامه ( نام کاربری و گذرواژه ) برای هر بار ورود به سیستم ، می تواند در تأیید هویت کاربر به عنوان شخصی که ادعا کرده است، کمک کند و سطح اجازه را برای اعطا یا رد دسترسی تأیید می کند. علاوه بر این ، SAML به ارائه دهندگان هویت و ارائه دهندگان خدمت اجازه می دهد به صورت جداگانه وجود داشته باشند ، که به سازمان ها کمک می کند تا مدیریت کاربر را متمرکز کرده و دسترسی به راه حل های مختلف نرم افزاری را فراهم کنند.
SAML اغلب برای فعال کردن احراز هویت یکپارچه (SSO) استفاده می شود ، که کاربران معتبر بین یک ارائه دهنده هویت و یک ارائه دهنده خدمت را تأیید می کند. به عنوان مثال سازمان هایی که از برنامه های پیکربندی شده 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 یک فناوری برای احراز هویت کاربر است ، نه کنترل دسترسی کاربر و این تفاوت اصلی است. کنترل دسترسی قسمتی جداگانه از مدیریت هویت و دسترسی است.
احراز هویت به تایید هویت کاربران اطلاق می شود. اینکه آن ها چه کسانی هستند و آیا هویت آن ها با فرایند ورود به سیستم تأیید شده است یا خیر.
کنترل دسترسی اشاره به امتیازات یا مجوزهای کاربران دارد. به طور خاص یعنی مجاز به انجام چه اعمالی در سامانه های یک سازمان هستند.
فناوری های مدیریت دسترسی مجوز کاربر را کنترل می کنند. پلتفرم های مدیریت دسترسی از چندین استاندارد مختلف کنترل دسترسی (یکی از آنها OAuth است) استفاده می کنند ، اما از SAML استفاده نمی کنند.
آتین یکی از نمونه های راهکار مدیریت هویت و دسترسی است. دسترسی آتین سازمان ها را قادر می سازد بدون استفاده از شبکه خصوصی مجازی (VPN) دسترسی کاربر را به منابع و داده های داخلی مدیریت کنند. همچنین به راحتی با ارائه راهکار SSO هم کنترل دسترسی و هم تأیید اعتبار کاربر را ارائه می دهد.
دو نوع جریان 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 را ارائه می دهد.
بدون دیدگاه