PDA

مشاهده نسخه کامل : امنيت 2000 SQL Server



Security
02-02-07, 19:24
یکی از مهمترين صورتهای مديريت يک پايگاه داده مراقبت کردن از امنيت داده ها می باشد. شما بايد تضمين کنيد که برای هر کسی که به طور قانونی نياز به دسترسی داده ها دارد، بتواند داده هايش را بگيرد البته نه اينکه به کسی دسترسی نامناسب دهيد. در اين درس، ما امتحان می کنيم که چگونه امنيت 2000 SQL Server به کار برده می شود و می آموزيم که چگونه امتيازهای امنيتی را ايجاد و تخصيص دهيم.

شناختن مدهای امنيت
زمانی در مرحله ای از SQL Server يک درخواست برای اتصال دريافت می کنيم. آن از يک Login ID عبور می کند. Login ID معرف Account می باشد که دسترسی به 2000 SQL Server را کنترل می کند. SQL Server بررسی می کند Login ID که داده شده است معتبر باشد. سپس معين می کند که آيا Login ID که پذيرفته شده است امتياز امنيتی کافی برای به انجام رساندن عمليات درخواست شده دارد. اين عمليات به عنوان authentication ناميده می شود. 2000 SQL Server ، authentication را از دو راه می تواند پشتيبانی کند. آن می تواند به NT ويندوز مايکروسافت يا امنيت ويندوز 2000 برای معتبر کردن ID اطمينان کند يا آن می تواند اعتبار سازی را خودش به انجام رساند.

Authentication (تأييد اعتبار) ويندوز
زمانی که از تأييد اعتبار ويندوز (شناخته شده به عنوان امنيت مجتمع در نسخه های قبلی از SQL Server) مدير سيستم صورتهای امنيتی برای ويندوز NT و Account های ويندوز 2000 و گروهها را می پذيرد. نرم افزار پردازشگر ويندوز يک اتصال معتبر برای Server را درخواست می کند. يک اتصال معتبر از زمانی پذيرفته خواهد شد اگر ويندوز NT يا ويندوز 2000 قبلاً يک User را تصديق کرده باشد. 2000 SQL Server نياز دارد به تضمين Login ID که برای دسترسی پيدا کردن بهServer و پايگاه داده فراهم شده است.
مهم: زمانی که ويندوز 98 نمی تواند ارتباطات معتبر را پشتيبانی کند مواردی از 2000 SQL Server که روی ويندوز 98 اجرا می گردد نمی تواند از مد تأييد اعتبار ويندوز استفاده کند. نرم افزار پردازشگر يا Client می تواند روی ويندوز 98 اجرا شود. اگر چه با استفاده از تأييد اعتبار ويندوز تهيه شده، Server خودش روی ويندوز NT يا ويندوز 2000 اجرا می شود.

تأييد اعتبار SQL Server
به طور کلی توانا بودن تأييد اعتبار Login نماينده برای سيستم امنيتی ويندوز زمانی که آن را از مد تأييد اعتبار ويندوز استفاده می کند، 2000 SQL Server امنيت خودش را به کار می برد، نه به طور حيرت آور، تأييد اعتبار SQL Server (شناخته شده به عنوان امنيت استاندارد در نسخه های قبلی از SQL Server). زمانی که درخواست اتصال صورت گيرد از تأييد اعتبار SQL Server استفاده می کنيم.
2000 SQL Server هر دوی Login ID و Password را دريافت می کند. که آن برخلاف ليست از Login های مشخص شده برای آن به وسيله مدير سيستم معتبر می شود.
مهم: مايکروسافت توصيه می کند که از تأييد اعتبار ويندوز در هر جای ممکن استفاده کنيد.

User Logins
امنيت در داخل 2000 SQL Server از طريق چندين شئی امنيتی کنترل می شود. در بالاترين سطوح Login ها می باشند که يک 2000 SQL Server ، کاربر ويندوز يا يک گروه ويندوز برای Server را مشخص می کند.
مهم: برای تکميل تمرينات زير، شما بايد همچنين مديرهای امنيتی يا وظايف مديرهای سيستم در داخل SQL Server تخصيص داده باشيد لطفاً به مدير پايگاه داده تان رجوع کنيد اگر شما درباره حق انحصاری تان در داخل سيستم مطمئن نيستيد.

ايجاد کردن User Login
Login ها می تواند به طور دستی هدايت کردن آيکون Login از پوشه Security در يک Server ايجاد کنيد و يک Login جديد از منوی Context انتخاب کنيد اما ساده ترين راه استفاده کردن از Create Login Wizard می باشد.

ايجاد کردن SQL Server Login
1- Server را در درخت Console انتخاب می کنيم. SQL Server يک ليستی از شئی های Server در قاب Details نشان می دهد.

2- دکمه Wizard را روی نوار ابزار Manager Enterprise کليک می کنيم. SQL Server کادر محاوره اي Select Wizard را نشان می دهد.

3- در بخش پايگاه داده، Create Login Wizard را انتخاب کرده و سپس OK را کليک می کنيم. SQL Server اولين صفحه از Create Login Wizard را نشان می دهد.

4- Next را کليک می کنيم، ويزارد يک صفحه ای را نشان می دهد که از مد تأييد اعتبار Server برای Login سؤال می کند.

5- دکمهOption برچسب شده اطلاعات SQL Server Login را انتخاب می کنيم که به وسيله سيستم به من تخصيص داده می شود (SQL Server Authentication)

6- Next را کليک کرده، ويزارد يک صفحه که Login ID ، Password را درخواست می کند نشان می دهد.


7- Test ID را به صورت نام و Password که شما مايل هستيد وارد می کنيد.

8- Next را کليک کرده، ويزارد يک صفحه درخواست وظايف امنيتی برای اينکه Login بايد تخصيص داده شود را نشان می دهد.

9- Login را برای وظايف مديرهای سيستم اضافه می کنيم.

10- Next را کليک می کنيم ويزارد يک صفحه را که درخواست می کند از پايگاههای داده که اينLogin بايد دسترسی دهد.


وظايف Server
وظايف Server که به يک Login تخصيص داده می شود معين می کند که چه حق ويژه امنيتی Login در سطح Server دارد. جدول 3.1 حق ويژه تخصيص داده شده به هر وظيفه را تشريح می کند.
Bulk Insert Administrators Bulkadmin می تواند عمليات قرارگيری را به طور عمده به انجام رساند
Database Creators dbCreator می تواند داده های پايگاه را ايجاد، تغيير و حذف کند
Disk Administrators diskadmin می تواند فايلهای ديسک را مديريت کند
Process Administrators Processadmin می تواند عملياتهای اجرايی را در SQL Server را مديريت کند
Security Administrators Securityadmin می تواند Logins و ايجاد پايگاه داده را مديريت کند
Server Administrator Securityadmin می تواند گزينه های قالب بندی کل SQL Server را تنظيم کند و Server را خاموش کند
Setup Administrator Set upadmin می تواند Server های Link شده، روشهای Startup و روشهای ذخيره شده را مديريت کند
System Admin Sysadmin می تواند هر فعاليتی را در SQL Server انجام دهد
توضيحات نام نام کامل

11- Login برای پايگاه داده Aromatherapy اضافه می کنيم.

12- Next را کليک می کنيم. ويزارد يک صفحه را برای تأييد کردن انتخابهايی که شما ساخته ايد نشان می دهد.

مهم:Login هايی که برای وظايف Server های ويژه می باشد به ويژه وظيفه مديرهای سيستم حق ويژه روی همه پايگاه داده ها خواهند داشت، اعم از اينکه آنها برای Login به طور خاص پذيرفته شده اند يا خير.
13- Finish را کليک کرده، ويزارد ايجاد Login يک متنی را برای تأييد اينکه Login اضافه شده است نشان می دهد.

ايجاد کردن Login ويندوز
1- Server را در درخت Console انتخاب می کنيم. SQL Server يک ليستی از پوشه های Object را در قاب Details نشان می دهد.

2- 2- دکمه Wizard را در نوار ابزار Manager Enterprise کليک می کنيم SQL Server کادر محاوره ای Select Wizard را نشان می دهد.

3- ويزارد ايجادLogin را در بخش پايگاه داده ها انتخاب کرده و سپس OK را کليک می کنيم. SQL Server اولين صفحه از Wizard Create Login را نشان می دهد.

4- Next را کليک می کنيم ويزارد يک صفحه را نشان می دهد که برای مد تأييد اعتبار Server برای Login سؤال می کند تنظيمات پيش فرض را می پذيريم.

5- Next را کليک می کنيم. ويزارد يک صفحه را برای درخواستID Account ويندوز نشان می دهد.

6- Windows ID را در اين فرم وارد می کنيم. Account Name وDomain Name (account name ، می تواند کاربر يا گروه باشد). Next را کليک می کنيم. ويزارد يک صفحه نشان می دهد که وظايف امنيتی برای اينکه Login بايد تخصيص داده شود را درخواست می کند.
راهنمايی: رد دسترسی به گزينه Server در اين صفحه می تواند به طور آشکار برای رد دسترسی به يک گروه کاربر تکی استفاده شود.

7- Login را برای وظيفه ايجاد کننده ها پايگاه داده ها اضافه می کنيم.

8- Next را کليک می کنيم. ويزارد يک صفحه را نشان می دهد که درخواست می کند از پايگاه داده ها که دسترسی به اين Login بايد پذيرفته شود.

9- Login را برای پايگاه داده Aromatherapy اضافه می کنيم.

10- Next را کليک می کنيم. ويزارد يک صفحه که انتخابهای ساخته شده را نشان می دهد تأييد می کند.

مهم:Login هايی که برای نقشهای Server خاص می باشد، به ويژه نقش مديرهای سيستم حق انحصاری در همه پايگاه داده ها خواهند داشت اعم از اينکه آنها برای Login به طور خاص پذيرفته شده اند يا خير.
11- Finish را کليک کرده Create Login Wizard يک متنی را نشان می دهد که Login ها اضافه شده است.

مديريت Logins
در همان راهی که شئی های پايگاه داده ها ديگر نياز به نگهداری گاهگاهی دارند. شما ممکن است نياز به تغيير خصوصيات از يک User Login داشته باشيد. برای مثال، شما ممکن است نياز به تغيير Security Role برای اينکه Login مقرر شود، يا پايگاه داده ها برای اينکه به آن دسترسی پيدا کند داشته باشيد. البته شما بعضی اوقات نياز خواهيد داشت به برداشتن يک Login به طور کامل که همه اين عملياتها با استفاده از Manager Enterprise ساده می باشد.

تغيير دادن خصوصيات Properties Login
1- آيکون Logins را در پوشه Security در درخت Console راهبری می کنيم. SQL Server يک ليستی از Login در قاب Details نشان می دهد.

2- Test ID Login را در قاب Detail دابل کليک می کنيم. SQL Server کادر محاوره ای SQL Server Login Properties را نشان می دهد.

3- زبانه Server Roles را انتخاب می کنيم. SQL Server ، Server Roles را برای اينکه Login برقرار شده نشان می دهد.

4- Login را از نقش مديرهای سيستم (System Administrators Role) برمی داريم.

5- زبانه Database Access را انتخاب می کنيم. SQL Server پايگاه داده هايی را نشان می دهد. برای اينکه دسترسی به Login مقرر شود.

6- North Wind را به ليست پايگاه داده ها اضافه می کنيم.

7- Ok را برای بستن کادر محاوره ای SQL Server Login Properties کليک می کنيم. SQL Server خصوصيات Login را تغيير می دهد.

برداشتن يک Login
1- آيکون Login را در پوشه Security در درخت Console می بريم. SQL Server يک ليستی از Login در قاب Details نشان می دهد.

2- Test ID Login را در قاب Details انتخاب می کنيم و سپس کليد Delete را فشار می دهيم. SQL Server يک متنی را نشان می دهد که از شما برای تأييد حذفيات سؤال می کند.

3- Yes را کليک می کنيم. SQL Server ، Login را حذف می کند.

سطح امنيتی پايگاه داده
در سطح پايگاه داده، هر User account ويندوز يا SQL Server Login برای يک User Account در يک پايگاه داده ترسيم می گردد. حتی دسترسی که به يک نمونه Server SQL که با يک Login تخصيص داده می شود ضرورتاً نياز به دسترسی داشتن به يک پايگاه داده مشخص نخواهد داشت مگر اينکه يک شخص يک کاربر برای آن پايگاه داده ساخته باشد. همان طور Login ها می تواند به Server Roles تخصيص داده شود که يک حق انحصاری ويژه برای آنها اعطاء می کند، کاربرها می تواند به نقشهايی در سطح پايگاه داده تخصيص داده شوند که به آنها حق انحصاری ويژه اعطاء می گردد.
راهنمايی: از طريق حقوق انحصاری امنيتی که در سطح جداگانه می تواند تخصيص داده شود که به طور کلی توصيه نمی شود از زمانی که مديريت امنيت را پيچيده می کند. آن خيلی ساده تر می باشد اضافه يا برداشتن افراد برای گروههايی از پيش تعريف شده که دارند يک تنظيم ويژه ای از حقوق انحصاری امنيت از زمانی که تخصيص می گردد و مجدداً حقوق انحصاری را تخصيص می دهد.

User های پايگاه داده
زمانی که شما يک Login جديد را با استفاده از Create Login Wizard ايجاد می کنيد و به آن دسترسی پايگاه داده را واگذار می کنيد Login به طور خودکار به ليست کاربرهای پايگاه داده اضافه خواهد شد. اگر چه زمانی که شما يک پايگاه داده جديد ايجاد می کنيد احتمالاً شما خواهيد خواست به اضافه کردن Login های موجود برای آن به عنوان کاربر.

ايجاد يک User پايگاه داده
1- آيکون User را در پايگاه داده Aromatherapy می بريم. SQL Server يک ليستی از User ها در قاب Details نشان می دهد.

2- دکمه New را در نوار ابزار Manager Enterprise کليک می کنيم.

راهنمايی: شما همچنين می توانيد کادر محاوره ای Database User Properties را به وسيله کليک راست کردن باز کنيد. آيکون Users در درخت Console و Database User جديد را در منوی Context انتخاب می کنيم.
3- نام Login تان را در Combo Boy انتخاب می کنيم. SQL Server نام Login را به عنوان نام User پيش فرض پيشنهاد خواهد داد اما شما می توانيد آن را تغيير دهيد اگر بخواهيد.
4- db-Owner را برای نقشهای واگذار شده به User جديد اضافه می کنيم.

-5 OK را کليک می کنيم. SQL Server ، User را به پايگاه داده اضافه می کند.
راهنمايی: نقشهايی که به يک User پايگاه داده تخصيص می شود تعيين می کند که چه حقوق انحصاری امنيتی، کاربر برای پايگاه داده دارد. بخش زير Database Roles را برای جزئيات بيشتر ببينيد.

برداشتن يک User پايگاه داده
1- آيکون Users را برای پايگاه Aromatherapy در درخت Console می بريم. SQL Server يک ليستی از کاربرها را در قاب Details نشان می دهد.

2- User که شما در آخرين تمرين در ليست ايجاد کرديد را انتخاب می کنيم و سپس کليد Delete را فشار می دهيم. SQL Server يک متنی را نشان می دهد که از شما برای تأييد حذفيات سؤال می کند.

3- Yes را کليک می کنيم. SQL Server ، User را از پايگاه داده حذف می کند.

Database Roles
يک Database Roles مانند يک کاربر مجازی که شما برای مديريت دسترسی پايگاه داده ايجاد می کنيد می باشد. هر تعدادی از کاربرهای پايگاه داده می تواند به يک نقش تخصيص داده شود. هر کاربر معين می تواند به چندين نقش تخصيص داده شود. زمانی که شما حقوق انحصاری به يک نقش پايگاه داده تخصيص می دهيد و سپس يک کاربر برای آن نقش تخصيص می دهيد. کاربر همه حقوق انحصاری از نقش را به ارث می برد. اين خيلی ساده تر از نگهداری حقوق انحصاری برای کاربرهای شخصی می باشد. SQL Server 2000 يک تعدادی از نقشهايی از قبل تعريف شده را تهيه می کند. به طوری که در جدول 3.2 نشان داده شده همچنين شما می توانيد نقش سفارشی که برای پايگاه داده واحد می باشند را ايجاد کنيد.
راهنمايی: نقشهای پايگاه داده ای که شما در پايگاه داده اصلی ايجاد می کنيد اضافه خواهد شد. برای هر پايگاه داده های جديد که شما برای آن Server ايجاد می کنيد.


توضيحات نام نام کامل
Access Administrator db-Accessadmin می تواند User IDS را اضافه يا بردارد
ûackup Operator Db-Baclcupoprator می تواند DBCC ، CHECKPOINT و حالتهای BACKUP صادر کند
Data Reader db-Data Reader می تواند همه داده ها از هر جدول کاربر در پايگاه داده ها را انتخاب کند
Data Writer db-Data Writer می تواند هر داده در هر جدول کاربر در پايگاه داده ها اصلاح کند
Data DefinitionAdministrator db-dd Ladmin می تواند حالتهای زبان تعريف داده ها DDL را به انجام رساند اما نمی تواند GRANT ، REVOKE يا حالتهای DENY صادر کند
Deny Data Rader db-deny Data Writer می تواند اجازات SELECT را روی هر شئی در پايگاه داده لغو کند
Data Base Owner db-Owner همه اجازات دسترسی در پايگاه داده ها را دارد
Deny Data Writer db-deny Data Writer می تواند INSERT UP DATE و اجازات دسترسی DELETE را روی هر شئی در پايگاه داده رد يا ملغی کند
Security Administrator db-Securityadmin می تواند همه اجازات، حق مالکيت شئی نقشها و عضويتهای نقش را کنترل کند
Public نقش پيش فرض که به هر پايگاه داده کاربر متعلق می باشد

ايجاد کردن يک Role پايگاه داده

1- آيکون Roles برای پايگاه داده Aromatherapy را در درخت Console کليک می کنيم. SQL Server يک ليستی از نقشهای پايگاه داده موجود را نشان می دهد.

2- دکمه New را روی نوار ابزار Manager Enterprise را کليک می کنيم. SQL Server کادر محاوره ای Database Role Properties را نشان می دهد.

3- 3 Lesson را به عنوان نام نقش وارد می کنيم.

4- OK را کليک کرده، SQL Server کادر محاوره ای Database Role Properties را می بندد.

5- Role 3 Lesson را در قاب Details دابل کليک می کنيم. SQL Server کادر محاوره ای Database Role Properties را نشان می دهد.

مهم: شما بايد کادر محاوره ای Database Role Properties را به ترتيب برای قادر ساختن دکمه Permissions ببنديد.

6- دکمه Permissions را کليک می کنيم. SQL Server کادر محاوره ای Permissions را نشان می دهد.

راهنمايی: کادر محاوره ای Database Role Properties دو نوع از نقشها Standard Roles و Application را پشتيبانی می کند. نقشهايی که دراين درس بحث شده اند همه Standard Roles می باشند. يک application Role يک تابع ويژه ای است که احتياجات برنامه های کاربردی پيچيده را پشتيبانی می کند.
Establishing Application Security And Application Roles را در کتاب SQL Server Online برای جزئيات درباره application Role ببينيد.

7- نقش که اجازات دسترسی در جدول Oils را انتخاب می کند فراهم می کنيم.

8- OK را کليک کرده SQL Server کادر محاوره ای Permissions را می بندد.

9- OK را کليک می کنيم. SQL Server يک نقش جديد را اضافه می کند.

تخصيص يک کاربر به يک نقش پايگاه داده

1- آيکون Users را برای پايگاه Aromatherapy در درخت Console راهبری می کنيم. SQL Server يک ليستی از User ها را در قاب Details نشان می دهد.

2- نام کاربرتان را در ليست کاربرها دابل کليک می کنيم. SQL Server کادر محاوره ای Database User Properties را نشان می دهد.

3- کاربر را برای Role 3 Lesson با کليک کردن آن در کادر ليستDatabase Role Membership اضافه می کنيم.

4- Ok را کليک کرده SQL Server کاربر را برای نقش اضافه می کند و کادر محاوره ای Database Role Membership را می بنديم.

برداشتن يک User از يک Database Role

1- آيکون Users را برای پايگاه داده Aromatherapy در درخت Console راهبری می کنيم. SQL Server يک ليستی از User ها را در قاب Details نشان می دهد.

2- نام کاربرتان را در ليست دابل کليک می کنيم. SQL Server کادر محاوره ای Database User Properties را نشان می دهد.

3- 3 Role Lesson را در ليست Database Role Membership انتخاب نمی کنيم.

4- OK را کليک کرده SQL Server ، Users Membership را از نقش برمی دارد و کادر محاوره ای را می بندد.

برداشتن يک Data Base Role

1- آيکون Roles برای پايگاه Aromatherapy در درخت Console را راهبری می کنيم. SQL Server يک ليستی از نقشها را در قاب Details نشان می دهد.

2- Role 3 Lesson را در قاب Details انتخاب کرده و کليد Delete را فشار می دهيم. SQL Server يک متنی را نشان می دهد که از شما برای تأييد حذفيات می پرسد.

3- Yes را کليک می کنيم. SQL Server ، نقش را از پايگاه داده حذف می کنيم.

منبع مقاله : کامپیوتر من