SSO Implementation

از متن باز سامان - مدیریت دانش

مقدمه

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

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

فازهای استقرار و توسعه SSO

همانطور که در مقدمه توضیح داده شد، بخش‌های مختلفی از سازمان در استقرار این پروژه می‌بایستی ایفای نقش کنند. اما فارغ از نقش سایر افراد و سامانه‌ها، فازهای مشخصی در استقرار این محصول وجود دارد که بصورت کلی شامل جدول ذیل هست. زمانبندی ارائه شده تقریبی بوده و بر اساس امکاناتی که مطابق با نیازمندیهای پروژه ارائه می‌شود می‌تواند کمتر/بیشتر شود. یک فایل PDF نیز شامل اطلاعات جزئی‌تر از استقرار در اختیار دانشگاه/سازمان قرار خواهد گرفت.

فازهای استقرار پروژه SSO
ردیف نام فاز زمان نیازمندی توضیحات
۱ راه‌اندازی زیرساخت ۴ الی ۶ هفته تحویل زیرساخت و بستر شبکه توسط کارفرما طبق فایل اکسل ارسالی
۲ توسعه و استقرار سامانه ثبت‌نام و همگام‌ساز ۲ ماه وب سرویس سامانه‌های مادر
۳ سرویس‌های backup، مانیتورینگ و حل مشکلات احتمالی ۱ ماه تکمیل بندهای ۱ و ۲

پیمانکاران سامانه‌ها

یکی از مهمترین قسمت‌ها در استقرار این سیستم همکاری پیمانکاران فعلی سامانه‌های از پیش مستقر شده در دانشگاه/سازمان هست. با توجه به اینکه تمامی پروتکلهای SSO می‌بایست سمت کلاینت (سامانه‌ای که می‌خواهد متصل شود) هم فراخوانی شود، لذا یکی از مسائل مهم آگاهی بخشی به پیمانکاران فعلی دانشگاه/سازمان توسط بخش فناوری اطلاعات هست تا در جریان تغییراتی که می‌بایست در آینده اعمال کنند قرار گیرند.

مستند کاملی نیز در این زمینه از طریق این لینک قابل دریافت هست که در اختیار پیمانکاران قرار داده خواهد شد. البته پروتکلهای مختلفی در سامانه SSO شرکت متن باز سامان پشتیبانی می‌گردد اما عموما در کشور ایران پروتکل CAS بیشتر به جهت سهولت استفاده شده است. زمان تقریبی پیاده‌سازی این پروتکل در سامانه‌های بصورت میانگین (طبق تجربه‌های قبلی) در حدود ۲۰ تا ۴۰ ساعت از سمت پیمانکار هست.

این پروتکل در ۳ قسمت می‌بایستی پیاده شود:

۱- قسمت ورود کاربر

۲- قسمت خروج کاربر

۳- دریافت مشخصات کاربر از SSO

خوشبختانه در کتابخانه‌های CAS تمامی این ۳ قسمت دارای method مشخصی هستند و تنها لازم هست که آنها فراخونی شوند. آدرس و مشخصات سرور SSO هم در داخل فایلی تنظیم خواهد شد. لذا نگرانی از بابت این موضوع نباید وجود داشته باشد و نتیجه تجربه‌های مشابه در سایر مشتریان هم به همین گونه بوده است.

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

سامانه‌های مادر

هر دانشگاه/سازمان جهت پیشبرد پروژه SSO و مخصوصا قسمت ثبت‌نام/تکمیل ثبت‌نام (برای کاربرانی که در حال حاضر نام کاربری دارند) می‌بایست اطلاعات اولیه تمیز را در اختیار شرکت قرار دهد. اصولا در همه سازمانها یا دانشگاه‌ها سیستم‌های خاصی مسوول نگهداری این اطلاعات هستند. سامانه‌های دانشجویی، پرسنلی، اساتید، مهمان و غیره که این نقش را بر عهده دارند به عنوان سامانه مادر شناخته می‌شوند.

لذا انتظار می‌رود که این سامانه‌ها دسترسی و بستر مناسب را جهت تامین این اطلاعات فراهم کنند. نوع دسترسی بر اساس کارایی و انطباق با استانداردهای روز دنیا بر اساس لیست زیر خواهد بود.

۱- وب سرویس RESTful

۲- وب سرویس SOAP

۳- دسترسی به دیتابیس از طریق view (پیشنهاد نمی‌گردد)

کاربران

جدید

کاربران جدید از طریق سیستم ثبت نام می‌توانند نام کاربری دریافت کنند. به کلیه کاربران یک نام هویت موقت که کد ملی کاربر هست در ابتدا تخصیص داده می‌شود تا کاربر بتواند عملیات مورد نیاز خود را انجام دهد. (مثلا ورودی جدید جهت انجام کارهای آموزش، تغذیه، خوابگاه و غیره). سپس کاربر می‌تواند با مراجعه مجدد ثبت نام خود را نهایی کرده و نام کاربری دریافت کند که برای ایمیل کاربر هم از همان نام کاربری استفاده خواهد شد. پس از انجام ثبت نام مدیر سیستم بایستی نام کاربر را از طریق پنل مدیریت تایید کند.

فعلی

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

فرآیند‌های ثبت‌نام و تکمیل ثبت‌نام

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

زیرساخت شبکه

با توجه به اینکه کلیه ارتباط‌های کاربران با سامانه‌های مستقر در این سیستم از طریق سرورهای لود‌بالانسر صورت می‌گیرد لذا به شبکه‌های زیر در استقرار این سامانه نیاز هست:

  1. شبکه DMZ
  2. شبکه Private (که ارتباط داخلی مابین سرورها را فراهم می‌کند)

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

ماشین‌های مجازی

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

دسترسی به منابع مورد نیاز

یکی از موارد مهم در زمابندی این پروژه تامین منابع و بستر مورد نیاز از سمت کارفرما هست. مادامی که این منابع در اسرع وقت در اختیار شرکت قرار گیرد، باعث سرعت بخشیدن در اجرای پروژه خواهد شد.