Windows Authentication در SQL Server
در اینجا یاد خواهید گرفت که چگونه از حساب کاربری ویندوز خود برای احراز هویت با SQL Server استفاده کنید.
SQL Server از دو لایه احراز هویت پشتیبانی می کند: login و کاربر پایگاه داده. Login اولین لایه امنیتی برای دسترسی و اتصال به SQL Server است. login هیچ ارتباطی به پایگاه داده ندارد. در عوض، به یک کاربر در پایگاه داده برای خواندن یا نوشتن در یک پایگاه داده خاص map یا نگاشت می شود.
دو حالت احراز هویت در SQL Server وجود دارد که با استفاده از آنها می توانید وارد شوید و به SQL Server متصل شوید.
1 - احراز هویت ویندوز یا Windows Authentication
2 - احراز هویت SQL Server یا SQL Server Authentication
احراز هویت ویندوز
حالت احراز هویت ویندوز یا windows authentication ، احراز هویت محلی (local) ویندوز را با SQL Server فعال می کند که در آن می توانید با اعتبار محلی ویندوز خود وارد شوید.
به عنوان مثال، در آنچه که در تصویر زیر می بینید از یک اعتبار ویندوز برای اتصال به SQL Server استفاده می کنند که در آن کاربر در MYDBSERVER\user حساب کاربری local در ویندوز و MYDBSERVER نام سرور پایگاه داده است. روی OK کلیک کنید تا با این اعتبارنامه وارد شوید و به سرور پایگاه داده MYDBSERVER متصل شوید.
احراز هویت ویندوز حالت پیش فرض احراز هویت است و از احراز هویت SQL Server ایمن تر است. همچنین از آن به عنوان امنیت یکپارچه (integrated security) یاد می شود که به شدت با ویندوز ادغام شده است. کاربرانی که قبلاً با ویندوز احراز هویت شده اند نیازی به ارائه هیچ گونه اعتبار اضافی در حین اتصال به SQL Server ندارند. به آن اتصال قابل اعتماد (trusted connection) نیز می گویند. حساب کاربری توسط ویندوز تایید شده است.
در احراز هویت ویندوز، ورود به سیستم (login) در SQL Server برای کل گروه ویندوز ایجاد می شود که مدیریت حساب کاربری را ساده می کند.
احراز هویت ویندوز از پروتکل امنیتی Kerberos استفاده می کند، اجرای سیاست رمز عبور را فراهم می کند و از انقضای رمز عبور پشتیبانی می کند.
بیایید ببینیم که چگونه یک لاگین جدید ایجاد کنیم که از حساب کاربری محلی Window برای اتصال به SQL Server استفاده می کند.
ایجاد یک Login جدید با احراز هویت ویندوز
برای ایجاد یک login جدید، SQL Server Management Studio را باز کنید.
در object explorer ، پوشه Security را باز کنید و روی پوشه Logins کلیک راست کرده و روی ... New Login مانند تصویر زیر کلیک کنید.
در Login –New window ، که در زیر نشان داده شده است، یک نام کاربری ویندوز را وارد کنید. اگر نام کاربری یک کاربر ویندوز نباشد، یک خطا ایجاد می کند. همانطور که در زیر نشان داده شده است می توانید برای جستجوی یک کاربر ویندوز روی دکمه جستجو کلیک کنید.
پس از وارد کردن نام لاگین، باید احراز هویت Windows یا SQL Server را انتخاب کنید. Windows authentication را انتخاب کنید. توجه داشته باشید که دکمه های رادیویی قانون رمز عبور و فیلد رمز عبور برای احراز هویت ویندوز غیرفعال خواهند شد زیرا ما در اینجا از اعتبار ویندوز استفاده خواهیم کرد.
اکنون برای اختصاص نقش و مجوز (roles & permission) به لاگین جدید، به تب Server Roles بروید. در صفحه نقش های سرور یا همان Server Roles ، می توانید با کلیک بر روی checkbox کنار role ، نقش سطح سرور را به لاگین جدید اختصاص دهید. به طور پیش فرض، نقش عمومی (public role) به یک لاگین جدید اختصاص داده می شود. علاوه بر این، اجازه دهید نقش sysadmin را با کلیک بر روی checkbox کنار sysadmin اختصاص دهیم. با نقش سرور sysadmin، کاربر می تواند هر فعالیتی را بر روی سرور انجام دهد و کنترل کامل داشته باشد.
روی تب User mapping کلیک کنید. در اینجا، ما لاگین ویندوز خود را به یک کاربر پایگاه داده نگاشت می کنیم.
این تمام پایگاه های داده روی سرور را لیست می کند. برای نگاشت لاگین جدید خود، کافی است چک باکس های کنار پایگاه داده هایی را که می خواهید این لاگین را برای دسترسی به پایگاه داده نگاشت کنید، انتخاب کنید.
در شکل زیر پایگاه داده AdventureWorks2019 انتخاب شده است. login جدید اکنون در زیر ستون User AdventureWorks2019 فهرست شده است. اگر می خواهید نام کاربری متفاوت از نام ورود شما باشد، می توانید نام کاربری را تغییر دهید. فقط روی نام کلیک کنید و هر نامی را که می خواهید برای کاربر قرار دید را دوباره تایپ کنید. اگر می خواهید پایگاه های اطلاعاتی بیشتری با لاگین شما مرتبط شوند، کافیست روی چک باکس کنار پایگاه داده کلیک کنید تا با login نگاشت شود.
اکنون روی تب Securables کلیک کنید. Securable ها منابع SQL server هستند که با لاگینی که ایجاد می کنید قابل دسترسی هستند. در تب Securables بر روی دکمه Search کلیک کنید. با این کار یک pop-up مانند تصویر زیر باز می شود. <The server '<Your Server name' را انتخاب کرده و روی OK کلیک کنید. این همه مجوزهای صریح برای یک سرور را فهرست می کند. بر اساس نیاز خود Grant، With Grant یا Deny را انتخاب کنید.
این مرحله اختیاری است. می توانید هنگام ایجاد لاگین، تنظیمات Securables را نادیده بگیرید و بعداً آن را تنظیم کنید.
در نهایت بر روی تب Status کلیک کنید و دکمه رادیویی Grant را برای اجازه اتصال به موتور پایگاه داده و دکمه رادیویی Enabled را برای Login انتخاب کنید، همانطور که در زیر نشان داده شده است.
برای ایجاد لاگین جدید روی Ok کلیک کنید. این یک لاگین جدید در زیر گره Logins اضافه می کند.
بنابراین، می توانید حساب کاربری محلی ویندوز خود را برای ورود به سرور پایگاه داده خود با استفاده از احراز هویت ویندوز اضافه کنید.