بررسی اصول امنیتی پایگاه های داده بخش دهم
با کلیک بر روی Advance میتوان عملیات جستجو را تکمیل کرد. گروه مورد نظر را همانند آنچه در شکل 3-9 نشان داده شده انتخاب کرده و OK کنید.
شکل 3-9 : یافتن گروه Group 1
در این مرحله همانطور که در شکل 3-10 نیز نشان داده شده ، گروه مورد نظر انتخاب شده است.
شکل 3-10 : گروه انتخاب شده آماده اضافه شدن است
اکنون زمان آن فرا رسیده تا به گروه انتخاب شده دسترسیهای لازم به پایگاهداده مورد نظر اعطا شود. اعطای دسترسی باید در حد نیاز هر گروه و یا کاربر باشد و اعطای دسترسی ، بیش از حد مورد نیاز ، سیستم را از نظر امنیتی تضعیف میکند. در این قسمت ما به Group1 ، تنها اجازه دیدن پایگاهداده Pubs را میدهیم. توضیحات بیشتر در این مورد هنگام بررسی نقشها داده خواهد شد. اگر در صفحه شکل 3-11 ، بر روی دکمه Script کلیک کنیم عبارات T-SQL به ما نشان داده خواهد شد.
شکل 3-11 : اعطای دسترسی به پایگاهداده به Login مورد نظر
عبارات T-SQL متناظر با اعمال انجام شده در فوق را مشاهده میکنید. در این باره در آینده توضیح بیشتری داده خواهد شد.
USE [master]
GO
CREATE LOGIN [YASHAR\Group 1] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
USE [pubs]
CREATE USER [YASHAR\Group 1] FOR LOGIN [YASHAR\Group 1]
صفحه Status را انتخاب کنید.در اینجا قادر به اعطا و یا سلب دسترسی به SQLServer برای کاربران و گروههای موجود در ویندوز و Loginهای موجود در SQLServer هستیم.
شکل 3-12 : وضعیت Login
حال که گروه جدید ساخته شده و در SQLServer جای گرفته هر یک از اعضای این گروه میتوانند به SQLServer متصل شده و به پایگاهداده Pubs دسترسی پیدا کنند. همانطور که قبلا هم متذکر شدیم ، این روند برای ایجاد یک کاربر تنها نیز یکسان است.
برای اینکه هویت شناسی توسط SQLServer انجام شود ، لازم است هر کاربر بصورت مجزا اضافه شود. روال کار همانند آنچه که در هویت شناسی توسط ویندوز توضیح داده شد میباشد ولی باید کلمه عبور مناسب انتخاب گردد.
3-3-1-3 ارتباط گروههای ویندوز با کاربران SQLServer با استفاده از کدهای T-SQL
در بالا دیدیم که چگونه Login را بصورت گرافیکی درست میکنند. حال میخواهیم با استفاده از کدهای T-SQL همین کار را انجام دهيم.
از SQLServer ، New Query را انتخاب کنید.
میخواهیم دومین گروه Login را بوجود آوریم. بر اساس اینکه هویت شناسی توسط ویندوز باشد یا SQLServer ، دو متد مختلف وجود دارد.در مثال بالا از متد ویندوزی استفاده شد.کد T-SQL تولید شده درشکل 3-11 مثال فوق برای راحتی ارجاع در ذیل آورده شده است.
USE [master]
GO
CREATE LOGIN [YASHAR\Group 1] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
USE [pubs]
GO
CREATE USER [YASHAR\Group 1] FOR LOGIN [YASHAR\Group 1]
GO
حال با تغییر این کد میتوان به یکی از گروههای موجود در ویندوز امکان مشاهده پایگاهداده Pubs را فراهم کرد. در این کد ، گروه مورد نظر بصورت پیش فرض به پایگاهداده Pubs متصل است. دستور CREATE LOGIN به SQLServer اطلاع میدهد که شما خواهان ایجاد یک Login جدید با نام Group 2 میباشید. در اینجا YASHAR نام دامنه شبکه ای است که Group 2 در آنجا یافت میشود. شما باید این نام را بر اساس دامنه مورد نظر تغییر دهید. کلمه کلیدی FROM WINDOWS به SQLServer اطلاع میدهد که شما در حال ایجاد یک Login با هویت شناسی توسط ویندوز هستید. کلمه کلیدی WITH DEFAULT_DATABASE یک ارتباط به پایگاهداده ایجاد میکند. البته باید نام پایگاهداده را مشخص کرد. در این مثال نام پایگاهداده Pubs است. در پایان DEFAULT_LANGUAGE ، زبانی را که در هنگام اتصال به پایگاهداده استفاده میشود را مشخص میکند.
CREATE LOGIN [YASHAR\Group 2] FROM WINDOWS
WITH DEFAULT_DATABASE=[Pubs],
DEFAULT_LANGUAGE=[us_english]
پس از اجرای کد فوق Login جدید ایجاد مي شود(شکل3-13).
شکل3-13 : Group 2 ایجاد شده است