در مقالات قبلی اشاره ای به این موضوع داشتیم که سرویس های SqlServer بوسیله اکانت ها اجرا خواهند شد و هر اکانت میتواند سطح دسترسی های متفاوتی داشته باشد در این مقاله قصد داریم به معرفی این اکانت ها و بررسی سطح دسترسی آنها بپردازیم
معرفی انواع سرویس اکانت های SqlServer:
1- System Service Account : این نوع از اکانت ها،اکانت های داخلی یا سیستمی ویندوز هستند که عناوین و سطح دسترسی آنها به شرح زیر میباشد
1-1- Network Service: این اکانت حداقل سطح دسترسی را در سیستم لوکال دارد و به عنوان یک کامپیوتر در شبکه دیده میشود ولی کار خاصی نمیتواند انجام دهد
2-1-Local Service: این اکانت حداقل دسترسی در سیستم لوکال را دارا میباشد و همچنین این اکانت عضو گروه Anonymous میباشد
3-1- Local System: این اکانت بالاترین سطح دسترسی در سیستم لوکال را دارا میباشد همچنین این اکانت عضو گروه Local Administrator میباشد
با نگاه اولیه به اکانت های معرفی شده و میزان دسترسی آنها متوجه خواهیم شد که امن ترین اکانت ها برای اجرای سرویس های SqlServer دو اکانت Network Service و Local Service میباشد به این دلیل که اگر به هر دلیلی سرویس های SqlServer از طرف هکر مورد نفوذ قرار بگیرند این اکانت ها کمترین میزان دسترسی را خواهند داشت و هکر قدرت تخریب بالایی روی سیستم عامل نخواهد داشت ما در مقاله قبل به صورت مفصل به نحوه مدیریت سرویس های SqlServer پرداختیم در این مقاله هم قسمت مربوط به مدیریت اکانت ها را دوباره توضیح خواهیم داد
و اما این اکانت ها چگونه قابل اعمال بروی سرویس های مورد نظر میباشند
1- در پنجره Run عبارت Services.msc را تایپ نموده و OK نمایید تا پنجره سرویس ها نمایش داده شود
2-سرویس مورد نظر را انتخاب و روی آن دابل کلیک نمایید تا پنجره مدیریت سرویس برای شما نمایش داده شود (تصویر زیر)
3- در تب Log On در قسمت Log on as اکانت Local System account که توضیح آن را در بالا خدمت شما ارائه کردیم به صورت دکمه رادیویی قابل انتخاب میباشد و اما برای مشاهده دو اکانت دیگر روی دکمه Browse در تب LogOn کلیک نمایید در پنجره باز شده جدید روی دکمه Advanced کلیک نمایید تا پنجره Select User را مشاهده نمایید در پنجره Select User روی دکمه Find Now کلیک نمایید تا اکانت های Local Service و Network Service نمایش داده شوند شما با توجه به توضیحات اکانت ها میتوانید یکی از آن ها را انتخاب نمایید
2- User Defined Service Account: نوع دوم از اکانت های قابل استفاده برای استارت سرویس میباشند،این نوع اکانت ها از طرف ادمین قابل تعریف میباشند و معمولاً برای سناریو های خاص مانند راه اندازی SqlServer به صورت Always On و Failover Cluster مورد استفاده قرار خواهند گرفت توجه داشته باشید این نوع از اکانت ها هم در سیستم Local و هم در شبکه Domain قابل تعریف میباشند (در شبکه دامین در Active Directory تعریف خواهند شد) در این مقاله ما به نحوه تعریف اکانت در سیستم لوکال خواهیم پرداخت و تعریف اکانت در اکتیو دایرکتوری را در مقالات بعدی بررسی خواهیم نمود
1- روی My Computer راست کلیک نمایید و گزینه Manage را انتخاب نمایید تا پنجره Computer Management باز شود(تصویر زیر)
2- در این پنجره در سمت چپ روی آیتم Local Users and Groups کلیک نمایید و در قسمت وسط این صفحه روی پوشه Users دابل کلیک نمایید تا لیست اکانت ها نمایش داده شوند جهت تعریف User جدید در قسمت وسط کلیک راست نموده و گزینه New User را کلیک نمایید در پنجره باز شده در فیلد UserName نام کاربری و در فیلدپسورد یک پسورد امن(پیشنهاد ماکروسافت حداقل 30 کاراکتر که ترکیبی از حروف،اعدادوکاراکترهای ویژه میباشد) را وارد نماید تیک گزینه User must change… را بردارید و روی دکمه Create کلیک نمایید تا یوزر ساخته شود حال روی یوزر ساخته شده دابل کلیک نمایید در پنجره باز شده در تب Member Of گروه Users را نیز حذف نمایید و OK نمایید حال طبق توضیحات قبلی مجدداً به تنظمیات سرویس مراجعه نمایید و در تب Log On با استفاده از دکمه Browse یوزر ساخته شده را انتخاب نمایید و پنجره را OK نمایید و در ادامه سرویس را ReStart نمایید
3- تا این مرحله سرویس مورد نظر میبایست بدون مشکل بوسیله یوزر جدید استارت شود،حال باید سطح دسترسی های امن را برای یوزر ساخته شده تنظیم نماییم که این تنظیمات در Group Policy قابل اعمال میباشد بنابراین در پنجره Run عبارت gpedit.msc را وارد نمایید و Ok نمایید تا پنجره Local Group Policy Editor برای شما نمایش داده شود در این پنجره طبق تصویر زیر دسته User Rights Assignment را کلیک نمایید تا Policy ها نمایش داده شوند
5- در این پنجره شما میتواند Policy مورد نظر را به هر یوزر Assign نمایید توجه داشته باشید ماکروسافت به ازای هر سرویس یکسری از Policy ها را در نظر گرفته است که به دلیل تعداد زیاد پالیسی ها امکان معرفی و اعمال همه پالیسی ها در این مقاله وجود نخواهد داشت ما برای نمونه نحوه Assing کردن یک پالیسی را خدمت شماتوضیح خواهیم داد اما در ضمیمه مقاله لیست سرویس ها و پالیسی های مورد نیاز هر سرویس را برای دانلود قرار خواهیم داد تا بتوانید در صورت نیاز از آنها استفاده نمایید
1- در پنجره Policy ها روی پالیسی Log on as a Service دابل کلیک نمایید در پنجره باز شده روی دکمه Add User or Group کلیک نمایید در ادامه در پنجره باز شده یوزر ساخته شده را به این پالیسی Assign نماییدوپنجره را OK نمایید تا پالیسی مورد نظر بروی یوزر اعمال شود توجه داشته باشید در این پنجره شما یک گروه را نیز میتوانید به پالیسی Assign نمایید
تا به اینجا ما دو نوع از اکانت هایی را که برای استارت سرویس ها استفاده میشوند معرفی نمودیم این دو نوع از اکانت ها عبارتند از System Service Account و User Defined Service Account،اما یکی از مشکلات عمده این نوع از اکانت ها این است که در شبکه دامین به دلیل منقضی شدن پسورد اکانت ها سرویس دیگر استارت نمیشود ماکروسافت برای رفع این مشکل در شبکه دامین و لوکال دو نوع اکانت دیگر را معرفی نمود که مشکل منقضی شدن پسورد ها را حل کرده است و در صورتی که پسورد تغییر کند به صورت خودکار این پسورد بروی سرویس هم اعمال خواهد شد در ادامه به معرفی این دو از اکانت ها خواهیم پرداخت
3- معرفی Managed Service Account: این نوع از اکانت ها فقط در ویندوز سرور قابل استفاده میباشند و در اکتیو دایرکتوری تعریف میشوند،در صورتی که بخواهید SqlServer را به صورت کلاستربدون مشکل منقضی شدن پسورد راه اندازی نمایید استفاده از این نوع اکانت ها بهترین گزینه میباشد
4- معرفی Virtual Service Account:این نوع از اکانت ها هم در ویندوز سرور و هم در ویندوز های کلاینتی قابل استفاده میباشند این نوع از اکانت ها در هنگام نصب SqlServer ایجاد خواهند شد(تصویر زیر) و کلیه پالیسی های مورد نیاز به صورت خودکار روی آنها اعمال خواهد شد بنابراین اگر شما قصد ندارید از SqlServer به صورت کلاستر استفاده نمایید این نوع از اکانت ها بهترین انتخاب برای شما میباشند