• پرتال مشتریان
  • تلفن : 23-21-22885320-021
  • احراز هویت و مجوز دسترسی
احراز هویت (authentication) و مجوز دسترسی (authorization )

در بسیاری از نرم افزارها به منظور افزایش و ارتقا امنیت، از دو مفهوم احراز هویت (authentication) و مجوز (authorization) استفاده می شود. به همین دلیل داشتن آگاهی نسبت به این دو مفهوم و دانستن تفاوتهای آنها حائز اهمیت است.
احراز هویت و مجوز (تعریف سطح دسترسی) دو فرآیند حیاتی امنیت اطلاعات هستند که مدیران از آنها برای محافظت از سیستم ها و اطلاعات استفاده می کنند. در فرایند "احراز هویت" به بررسی هویت یک کاربر یا سرویس پرداخته شده، و سپس میزان دسترسی کسانی که هویتشان تایید شده است با استفاده از فرایند "مجوز " مشخص می شود. برای درک بهتر این موضوع می توان صفحه ورود به پنل کاربری را به عنوان بخشی از فرایند احراز هویت در نظر گرفت، و تعیین آنکه کدام کاربر می تواند به کدام قسمت های پنل دسترسی داشته باشد، نمونه ای از فرایند "مجوز" است. به عنوان مثال در یک وبسایت، نویسنده ها ممکن است تنها به بخش مقالات و پشتیبانها تنها به بخش پرسش و پاسخ دسترسی داشته باشند، در حالی که ادمین به همه بخش ها دسترسی خواهد داشت. این مفاهیم را می توان در تمامی نرم افزارهای مرتبط با بانک های اطلاعاتی مشاهده نمود. پس در ابتدا می بایست که یک شناخت کلی نسبت به اینگونه نرم افزارها بدست آوریم.
نرم افزارهای عمومی بانک اطلاعاتی ماکروسافت مانند Access و Excel تفاوتهای ساختاری با نرم افزارهایی تخصصی تر از قبیل SQL Qerver ,My SQL و Oracle دارند که در عملکرد آنها بسیار موثر است. نرم افزارهای عمومی بانک اطلاعاتی ماکروسافت از نوع data file یا به تعبیری data bank هستند، در حالی که این تعریف در نرم افزارهای تخصصی پایگاه داده تحت عنوان data base شناخته می شود.
نرم افزارهای عمومی بانک اطلاعاتی ماکروسافت، ساختاری مشابه با یک فایل را دارا بوده که در آن از یک Databank engine یا موتور پایگاه بانک jet که مخصوص خود ماکروسافت است، استفاده شده است. این موتور به مانند یک موجودیت بیرونی عمل کرده و کار مدیریت پایگاه داده را در بانک های اطلاعاتی ماکروسافت انجام می دهد.
اما در نرم افزارهای تخصصی پایگاه داده، با مدیریت پایگاه داده در سطحی وسیع تر و تحت عنوان DBMS یا همان Management System Database مواجه هستیم. به عبارتی دیگر در اینگونه نرم افزارها، موتور پایگاه داده یا Database engine به کار رفته است که در آن ابتدا کوئری وارد شده parse می شود و سپس این موتور تشخخیص می دهد که این کوئری نیازمند به ارتباط با کدامیک از جداول موجود در پایگاه داده است. محیط موتور پایگاه داده برای اینگونه نرم افزارها از ساختاری پیچیده تر و سه لایه برخوردار است که می توان این ساختار را به صورت شماتیک در شکل زیر مشاهده نمود.

زی فریم
 
لایه فایل
هنگامی که توسعه دهنده یک پایگاه داده ایجاد کند، بلافاصله برای آن یک سری فایل در سیستم ایجاد خواهد شد که به آن data file گفته می شود. به طور معمول، هنگامی که با پایگاه های داده با ابعادی کوچک مواجه هستیم، یک data file برای هر پایگاه داده کفایت می کند. اما با افزایش حجم یک پایگاه داده، داشتن چندین data file برای آن پایگاه داده کاملا طبیعی است که به آنها Table Space گفته می شود. تمام این فرایندها حتی روند ساخت Table Space ها نیز به صورت خودکار توسط موتور پایگاه داده انجام می گردد. به عنوان مثال، یک پایگاه داده که در ابتدا در یک Table Space قرار داشت، اکنون می تواند به حدی گسترده شود که حتی یک جدول آن به تنهایی چند Table Space را به خود اختصاص دهد.
 
لایه اجرا کننده
لایه اجرا کننده که به آن موتور هم گفته می شود، وظیفه اجرای کوئری های وارد شده را بر عهده دارد.
 
لایه امنیت
در لایه امنیت، فرایندهای احراز هویت (authentication) و مجوز( authorization ) صورت می پذیرد. این سه لایه درون سیستم در کنار یکدیگر تشکیل یک برنامه زنده داده و یک پورت را نیز درون سیستم کاربر به خود اختصاص می دهند. به عنوان مثال در مورد برنامه SQLServer، کاربران از طریق پورت های ۱۴۳۳ و ۱۴۳۴ به بانک اطلاعاتی سرور دسترسی پیدا می¬کنند. به این پورت ها، اینستنس های پیش فرض گفته می شود و طبعاً قابل تغییر نیز هستند. چنانچه بخواهیم یک موتور پایگاه داده دیگر را در همان سیستم داشته باشیم، چون این پورت ها پیشتر توسط SQLServer اشغال شده اند و هر پورت نیز مختص به یک برنامه است، بنابراین سایر موتورهای پایگاه داده نمی توانند از این پورت ها استفاده کنند. به همین دلیل لازم است تا پورت های آن تغییر یابند. در نتیجه با تغییر این پورت ها، اين قابليت وجود دارد که چندين نسخه از SQL Server به صورت کاملا مستقل بر روي يک ماشين نصب شوند. به هر سیستم SQL Server نصب شده بر روي يک ماشين يک Instance (نمونه) از SQL Server گفته مي شود. هر يک از اینستنس ها داراي يک نام مشخص و یک پورت متفاوت است. به اینستنسي که در زمان نصب، نام خاصي به آن اختصاص داده نشده و هم نام با ماشيني است که بر روی آن نصب شده است، Default Instance گفته مي شود. تصویر ذیل، نمونه یک Default Instance در زمان نصب SQLServer را نشان می دهد.

زی فریم
 
به این نکته توجه نمایید که Default Instance می تواند دارای عناوین مختلفی باشد، اما طبعاً همه آنها بر روی یک پورت نصب شده اند. در صورت نیاز به یک اینستنس جدید و در نتیجه اشغال یک پورت جدید، نیاز است که مجدداً برنامه SQLServer نصب شده و تغییرات لازم در مرحله نصب اعمال گردد.برای اتصال با Default Instance ، نیاز است که از منوی File، بر روی دکمه Connect Object Explorer کلیک شود تا پنجره Connect to Server باز شود.

زی فریم
 
در این پنجره می توان نحوه اتصال به برنامه (Windows Authentication یا SQL Server Authentication) را تعیین نمود. به صورت پیش فرض، مسئولیت احراز هویت بر عهده ویندوز گذاشته شده است، به این معنا که SQL Server کاربری که درون ویندوز لاگین کرده است را به عنوان شخص معتبر می پذیرد. به عبارتی، SQL Server احراز هویت ویندوز را اولویت قرار می دهد. در نتیجه کافیست نام Default Instance در قسمت Server name نوشته شده و بر روی دکمه Connect کلیک شود تا ارتباط برقرار گردد. همچنین می توان به جای نام پیش فرض Default Instance هم موارد localhost و یا نقطه را قرار داد.

زی فریم
 
البته اگر با زدن دکمه connect اتصال صورت نگرفت، دلیلش آن است که در هنگام نصب کاربر از Default Instance استفاده نکرده است و با یک اینستنس ساخته شده توسط خودش وارد شده است. اگر ارتباط با localhost و یا نقطه برقرار شد، همانگونه که در شکل زیر مشاهده می شود، سه Default Instance خواهیم داشت که البته همه آننها در واقع یک اینستنس می باشند. در نتیجه اگر تغییراتی در پایگاه های داده آنها ایجاد شود، بطور مشترک در همه آنها اعمال خواهد شد.

زی فریم
 
همانگونه که پیشتر گفته شد، چنانچه کاربر در هنگام نصب از Default Instance استفاده نکرده باشد و یک اینستنس برای خود ساخته باشد، دیگر با استفاده از localhost یا . نمی توان با SQL Server ارتباط برقرار کرد. بدین منظور می بایست تغییراتی را در نحوه اتصال به دیتابیس درون SQL Server و نیز نحوه اتصال زی فریم به دیتابیس هنگام تعریف پروژه و اپلیکیشن اعمال کرد.به همین منظور برای اتصال به دیتابیس درون SQL Server، عبارت "\localhost" و یا "\." را همانند تصویر زیر پیش از نام پیش فرض قرار دهید.

زی فریم
 
همچنین هنگام ساخت پروژه، عبارت وارد شده در کادر ارتباط ADO بدین صورت خواهد شد.

زی فریم
 
و در هنگام ساخت یک اپلیکیشن نیز در کادر های ارتباط با پایگاه داده JDBC و ADO.NET به شکل زیر تغییرات خواهیم داشت.

زی فریم
 
در موارد مطرح شده، فرایند authentication توسط خود ویندوز انجام شد. چرا که در این موارد SQLServer احراز هویت را به ویندوز سپرده بود و ویندوز هم با عمل لاگین حین ورود به سیستم، این احراز هویت را پیشتر انجام داده بود. اما می توان این مسئولیت را از عهده ویندوز خارج نمود و به SQL Server سپرد. برای این کار کافیست که در کادر بالا و در قسمت authentication گزینه authentication SQLServer را انتخاب کرده و سپس نام کاربری و کلمه عبور تعریف شده در SQL Server وارد شود.

زی فریم
best tracker