
شکل3-28: انتخاب پایگاهداده
مطابق شکل 3-28 عمل کرده و OK کنید. در واقع در مرحله قبل منابع مورد نظر را انتخاب کرده و در این مرحله اختیارات را مشخص میکنیم. همانطور که در شکل نیز مشخص است حق Insert ، Select و Delete در پایگاهداده اعطا شده است.
شکل3-29 : تنظیم کردن حقوق دسترسی
میتوان با کلیک بر روی دکمۀ ColumnPermission کاربر را در مشاهده ستونهای جدول محدود کرد.
شکل 3-30 : اعمال محدودیت در مشاهده فیلدها
با این کاربر اجازۀ مشاهدۀ ستون fname داده شده و این کاربر از مشاهدۀ دادههای ستون lname محروم است.
3-6 شِما
شِما یک مجموعه ای از موجودیتهای پایگاهداده ای است که یک فضانام را میسازد. یک فضانام مجموعه ای است که در آن هر عضو دارای یک نام منحصر بفرد است. به عنوان مثال ، برای جلوگیری از تداخل نامها ، هیچ دو جدولی همنامینمیتواند در یک شِما وجود داشته باشد. دو جدول تنها در صورتی میتوانند همنام باشند که در دو شِمای متفاوت قرار داشته باشند. هر یک از منابع در پروژه به عنوان یک بخش کوچک از کل منابع موجود در یک پروژه میباشند. گروه بندی منابع کوچک موجب سازماندهی بهتر منابع و افزایش کارایی در استفاده از آنها میشود و مبنایی برای ایجاد امنیت هنگام دسترسی به دادههای موجود در SQLServer است.. بنابراین یک شما متدی برای گروه بندی منابع و قرار دادن منابع مورد نظر در آن شما است.
اگرچه در SQLServe2000 دستور CREATE SCHEMA وجود داشت ، ولی این دستور شمایی همانند آنچه که در بالا توضیح داده شد ایجاد نمیکرد. کاربران پایگاهداده و شماها به طور غیر مستقیم با هم در ارتباط بودند. کاربران پایگاهداده ای که نام آنها همنام با نام شما بود مالک آن شما بودند و مالک یک منبع مالک شمایی است که آن منبع در آن قرار دارد. در نتیجه یک شما در SQLServer2000 یک کاربر در پایگاهداده نیز بود. در نتیجه قبل از حذف یک کاربر از SQLServer2000 ، باید تمامیمنابع تحت مالکیت وِی حذف شده و یا مالکیت این منابع به کاربر دیگری واگذار میشد. فرض کنید منبع accounting.ap.george.reconciliation در پایگاهداده ای در SQLServer2000 وجود داشته باشد. این منبع تحت مالکیت george است. اگر مدیر بخواهد این کاربر را حذف کند باید ابتدا این منبع را حذف کند و یا مالکیت آن به شخص دیگری داده شود(مثلا به Sandra واگذار شود : accounting.ap.sandra.reconciliation). تغییر نام مالک ، نام کلی این منبع را نیز تغییر میدهد و هر کدی که با این منبع سروکار دارد باید این تغییر نام در آن کد نیز اعمال شود.
در SQLSever2005 ، شما مستقل از کاربر پایگاهداده ایست که آن را ایجاد کرده است.تعویض مالکیت شما بدون تغییر نام آن صورت میگیرد. به عنوان مثال به جای ساختن شما با نام accounting.ap.sandra.reconciliation میتوان شمایی با نام accounting.ap.invoice.reconciliation ساخت که invoice در آن نام یک کاربرنیست. با انجام این عمل کار مدیر پایگاهداده آسان تر میشود.
در SQLServer منابع برای نگه داری دادههای استفاده میشوند و کار با دادهها را آسان میکنند. هر یک از این منابع به عنوان یک بخش کوچک از کل منابع موجود در یک پروژه میباشند. گروه بندی منابع کوچک موجب سازماندهی بهتر منابع و افزایش کارایی است و مبنایی برای ایجاد امنیت هنگام دسترسی به دادههای موجود در SQLServer میباشد. این گروه بندی در SQLServer تحت عنوان SCHEMA مطرح است. بنابراین یک SCHEMA متدی برای گروه بندی منابع است. قبل از SQLServer2005 هر منبع یک مالک داشت.هنگامیکه مالکی(کاربری) پروژه را ترک میکرد ، مالکیت منابع تحت اختیار او باید به شخص دیگری منتقل میشد و مسلّم است در یک سیستم بزرگ این انتقال مالکیت ، زمانبر است. حال SCHEMAها مالکیت منابع را بر عهده دارند.
3-7 Principal
Principal ممکن است یک فرد ، یک گروه و یا فرایندهایی باشند که برای دسترسی به منابع SQLServer درخواست میدهند. Loginهای ویندوزی مثالی از افراد و گروههای ویندوزی مثالی از گروههایی هستند که ممکن است برای دسترسی به منابع SQLServer اقدام کنند. حوزۀ تاثیرگذاری principalها به حوزۀ تعریف آنها بستگی دارد. منظور از حوزه تعریف یعنی اینکه principalها در کدام یک از سطوح ویندوز ، سرویس دهنده یا پایگاهداده تعریف شده اند و نیز بصورت فردی تعریف شده اند یا گروهی. هر principal یک SID منحصر بفرد دارد. انواع principalها و حوزۀ عملیاتی آنها در جدول زیر توضیح داده شده است :
جدول 3-1 : انواع principal و حوزه عملياتي آنها
Principal
|
حوزۀ عملیاتی
|
توضیحات
|
Windows Login
|
سرویس دهنده
|
Loginهای ویندوز در کامپیوتر محلی و در دامنه شبکه تعریف میشوند. مدیریت این درخواست دهندهها خارج از دسترس SQLServer است.
|
SQLServer Login
|
سرویس دهنده
|
این Loginها در داخل یکی از نمونههای SQLServer تعریف میشوند و در خارج از این محدوده کاربردی ندارند.
|
User
|
پایگاهداده
|
کاربران پایگاهداده برای دسترسی به پایگاهداده تعریف میشوند و یک Login ، متناظر با هر کاربر پایگاهداده وجود دارد. و هر Login به یک کاربر پایگاهداده نگاشت میشوند. این کاربران خارج از محدودۀ پایگاهداده غیر قابل استفاده هستند.
|
Application Role
|
پایگاهداده
|
نقشهای برنامه ای در سطح پایگاهداده قابل استفاده هستند ولی با هیچ Login ی ارتباط ندارند. محدود به پایگاهداده هستند و با یک نام و کلمه عبور شناسایی میشوند.
|
Database Role
|
پایگاهداده
|
نقشهای پایگاهداده ای در سطح پایگاهداده تعریف میشوند.
|
توجه داشته باشید که Loginهای ویندوز و SQLServer فقط در سطح سرویس دهنده کاربرد دارند و نمیتوانند به منابع پایگاهداده دسترسی داشته باشند. تنها در صورتی این امر امکان پذیر است که این Loginها به کاربرانی در سطح پایگاهداده نگاشته شوند.
تگها: اصول امنیتی database امنیت پایگاه داده امنیت در SQL Server امنیت دیتابیس انتخاب پایگاهداده