پشتیبانی: 09131253620
ارتباط با ما
تلگرام: 09131253620

برجسته ترین ها
گروه های مقاله ها
HyperLink


تفاوتهای نسخه های sql server بخش 3 تاریخ درج: ١٣٩۶/٠٣/١٣

 جایگاه کاربر در بانک اطلاعاتی

هر کاربر باید نقش و حقوق دستیابی لازم برای انجام کارهای خود را دریافت کند. حق دستیابی هیچ کاربری نباید ورای محدوده وظایفش باشد. محافظت داده ها، دلیل لازم برای تعریف account های کاربری و امنیت است. چنانچه کاربر، حتی سهوا به داده های نادرستی دستیابی داشته باشد، داده ها ممکن است خراب شوند و یا از بین بروند. زمانی که کاربری دیگر نیاز به بانک اطلاعاتی نداشته باشد، account وی باید حذف یا غیر فعال شود.
تمام کاربران جایگاه خاص خود را در بانک اطلاعاتی دارند و برخی از آنها وظایف بیشتری نسبت به دیگران دارند. کاربران بانک اطلاعاتی همچون اجزاء بدن انسان هستند، تمام آنها با هم (یا حداقل باید این گونه باشد) هدفی را دنبال می‌کنند.
یک کاربر چه تفاوتی با یک schema دارد؟
شیء های یک بانک اطلاعاتی با account های کاربریی مرتبط هستند که schema نامیده می‌شود. هر schema مجموعه ای از شیء های بانک اطلاعاتی متعلق به یک کاربر است. این کاربر، صاحب schema  نامیده می‌شود. تفاوت بین یک کاربر معمولی و صاحب یک schema آن است که صاحب schema مالک شیء درون بانک اطلاعاتی است، در صورتی که بیشتر کاربران صاحب شیء های خود نیستند. به بیشتر کاربران account ی داده می‌شود تا به داده های schema های دیگر دستبابی داشه باشند.
 
فرآیند مدیریت
در هر بانک اطلاعاتی، یک سیستم پایدار برای مدیریت کاربران به منظور حفظ امنیت داده ها اجباری است. سیستم مدیریت کاربران با ناظر کاربران که می‌بایست درخواست دستیابی را آغاز نماید شروع می‌شود و سپس تا مسئولین تصویب کننده شرکت ادامه می‌یابد. در این مرحله چنانچه درخواست مورد موافقت مدیریت قرار گیرد، به مدیر امنیت یا مدیر بانک اطلاعاتی ارجاع داده می‌شود. و وی نیز بر اساس آن اقدام می‌کند. یک فرآیند اطلاع رسانی مناسب ضروری است؛ باید به آگاهی ناظر و کاربر رسانده شود که account های کاربری ایجاد شده و مجوز دستیابی اعطاء شده است. کلمه عبور account کاربری باید تنها به کاربر گفته شود و وی نیز باید به محض برقراری ارتباط به بانک اطلاعاتی آن را تغییر دهد.
توجه: برای آشنایی با شیوه ایجاد کاربران، مستندات نسخه SQL مورد استفاده خود را مطالعه کنید. همچنین به هنگام ایجاد و مدیریت کاربران، به سیاست ها و رویه های شرکت خود رجوع کنید. قسمت ذیل فرآیندهای ایجاد کاربران را در اراکل، Sybase و میکروسافت SQL Server مقایسه می‌کند.
ایجاد کاربران
ایجاد کاربران بانک های اطلاعاتی مستلزم استفاده از دستورات تایپی SQL در بانک اطلاعاتی است. دستور استانداردی برای ایجاد کاربران بانک اطلاعاتی در SQL وجود ندارد؛ هر نسخه SQL روشی برای انجام این کار دارد. برخی از نسخهها دستورات مشابه دارند. در صورتی که قالب برخی از آنها تفاوت دارد. مفهوم اصلی در تمام آنها بدون توجه به نسخه مورد استفاده یکسان است.
زمانی که مدیر بانک اطلاعاتی یا مدیر امنیت، درخواست account کاربری را دریافت می‌کند، درخواست باید برای تعیین اطلاعات لازم تحلیل شود. اطلاعات می‌بایست شامل اطلاعات خاص شرکت برای به ثبت رساندن یک ID کاربری باشد.
برخی از مواردی که باید گنجانده شود عبارتند از: شماره تامین اجتماعی، نام کامل، نشانی، شماره تلفن، نام دفتر کاری یا آپارتمان، بانک اطلاعاتی مربوطه و گاهی اوقات یک ID پیشنهادی.
درقسمتهای ذیل قالب دستورات در دو نسخه SQL مختلف مقایسه شده اند.
 
ایجاد کاربران در اراکل
مراحل لازم برای ایجاد یک account کاربری در بنک اطلاعاتی اراکل:
1. account کاربری بانک اطلاعاتی را با مشخصه های پیش فرض ایجاد کنید.
2. حقوق دستیابی را به account کاربری اعطاء کنید.

ایجاد کاربر:
قالب دستور
 
CREAT USER USER_ID
IDENTIFIED BY PASSWORD
[DEFAULT TABLSPACE TABLESPACE_NAME]
[TEMPORARY TABLSPACE TABLESPACE_NAME]
[QUOTA (INTEGER (K | M) | UNLIMITED) ON TABLESPACE_NAME]
[PROFILE PROFILE_TYPE]
 
توجه: دستور بالارا می‌توان برای افزودن یک کاربر به بانک اطلاعاتی اراکل مورد استفاده قرار داد.
اگر از اراکل استفاده نمی‌کنید، به برخی گزینه های قالب دستور بالا توجه نکنید. tablespace، یک ناحیه منطقی برای جای دادن شیءهایی چون جداول و شاخص ها است. DEFAULT TABLSPACE، tablespace ی است که شیء های ایحاد شده توسط کاربر موردنظر در آن جای دارند. TEMPORARY TABLSPACE، tablespace ی برای عملیات مرتب سازی پرس و جوهای اجرایی توسط کاربر است. QUOTA، محدودیتهای فضایی است که بر tablespace مورد دستیابی کاربر اعمال شده اند. PROFILE، یک پروفایل خاص است که به کاربر اختصاص یافته است.
 
قالب دستور: اعطای حقوق دستیابی به account کاربری:
GRANT PRIV1 [, PRIV2, …] TO USERNAME | RPLE [, USERNAME]
 
دستور GRANT می‌تواند همزمان یک یا چند حقوق دستیابی را به یک یا چند کاربر اعطاء کند. این حقوق نیز ممکن است به یک نقش  اعطاء می‌شوند که آن نیز به نوبه خود ممکن است به یک یا چند کاربر اعطاء شود.
 
ایجاد کاربران در Sybase و میکروسافت SQL Server 
مراحل ایجاد یک account کاربری در بانک اطلاعاتی Sybase و میکروسافت SQL Server عبارتند از:
1. account کاربری بانک اطلاعاتی برای SQL Server ایجاد کنید و یک کلمه عبور و یک بانک اطلاعاتی پیش فرض به کاربر اختصاص دهید.
2. کاربر را به بانک اطلاعاتی مربوطه بیفزایید.
3. حقوق دستیابی را به account کاربری اعطاء کنید.
 
قالب دستور ایجاد account کاربری:
SP_ADDLOGIN USER_ID, PASSWORD, DEFAULT_DATABASE]
 
قالب دستور افزودن کاربر به یک بانک اطلاعاتی:
SP_ADDLOGIN USER_ID, PASSWORD, DEFAULT_DATABASE]
 
قالب دستور اعطای حقوق دستیابی account کاربری:
GRANT PRIV1 [, PRIV2, …] TO USER_ID
توجه: بحث حقوق دستیابی در یک بانک اطلاعاتی رابطه ای به تفصیل در فصل نوزدهم، «مدیریت امنیت بانک اطلاعاتی» همیت کتاب بررسی شده است.
 
ایجاد SCHEMA
Schema یا استفاده از دستور CRAETE SCHEMA ایجاد می‌شوند:
 
قالب دستور:
CREATE SCHEMA [SCHEMA_NAME] [USER_ID]
[DEFAULT CHARACTER SET CHARACTER_SET]
[SCHEMA_ELEMANT_LIST]
 
توجه: ممکن است برخی از نسخه های SQL دستور CRAETE SCHEMA را نداشته باشند. با این وجود، Schema هاممکن است به طور ضمنی به هنگام ایجاد شیءها توسط یک کاربر ایجاد شوند. دستور CRAETE SCHEMA صرفا یک روش یک مرحله ای برای انجام این کار است. پس ایجاد شیء توسط یک کاربر، کاربر می‌تواند اجازه دستیابی به شیء ها را به کاربران دیگر اعطاء کند.
 
حذف یک Schema
یک Schema را می‌توان با استفاده از دستور DROP SCHEMA از بانک اطلاعاتی حذف نمود. هنگام خذف یک Schema باید به دو نکته توجه نمود. نخست گزینه RESTRICT . در صورت استفاده از آن، چنانچه شیءهایی در Schema موجود باشند، با خطا مواجه خواهید شد. گزینه دوم گزینه CASCADE . این گزینه می‌بایست تنها در صورت وجود شی ء در Schema به کاربرده شود. به خاطر داشته باشید که وقتی Schema را حذف می‌کنید، تمام شیءهای مرتبط با آن Schema نیز حذف می‌شودند.
 
قالب دستور:
DROP SCHEMA SCHEMA_NAME {RESTRICT | CASCASE}
توجه: احتمال عدم وجود شیء ها در یک Schema وجود دارد، چرا که شیءهایی چون جداول ممکن است با استفاده از دستور DROP TABLE حذف شوند. برخی از نسخه های SQL ممکن است رویه یا دستوری برای حذف یک کاربر داشته باشند که ممکن است برای حذف یک Schema نیز مورد استفاده قرار گیرد. اگر دستور DROP DCHEMA در نسخه SQL مورد استفاده تان موجود نباشد، می‌توانید یک Schema را با حرف کاربری که صاحب شیءهای Schema است خذف کنید.
 
تغییر کاربران
یک بخش بسیار مهم از مدیریت کاربران، قابلیت تغییر صفات مشخصه یک کاربر پس از ایجاد کاربر است. چناچه کارمندانی دارای account کاربری هیچگاه ارتقا نیابند، شرکت را ترک نکنند و یا اگر افزایش کارمندان جدید کمینه شود، زندگی برای مدیر بانک اطلاعاتی بسیار ساده تر می‌شود؛ در دنیاس واقعی، کناره گیری کارمندان رده بالا و نیز تغییر وظایف کاربران، یک واقعیت است و عامل قابل توجهی در مدیریت کاربران به شمار می‌آید. تقریبا هرکس کارش یا وظایف کاریش را تغییر می‌دهد، بنابراین حقوق دستیابی در یک بانک اطلاعاتی باید برای برآوده ساختن نیازهای کاربران تغییر کند.
 
مثال یکی از نسخه های SQL برای تغییر وضعیت یک کاربر جاری:
قالب دستور برای اراکل:
ALTER USER USER_ID [IDENTIFIED BY PASSWORD|EXTERNAIIY]
[DEFAULT TABLESPACE TABLESPACE_NAME]
[QUOTA INTEGER K| M| UNLIMITED ON TABLESPACE_NAME]
[PROFILE PROFILE_NAME]
[DEFAULT ROLE ROLE1 [, ROLE2] | ALL
[EXCEPT ROLE1 [, ROLE2 | NONE] ]
بسیاری از صفات مشخصه کاربر را نمی‌توان با این دستورتغییر داد. متاسفانه، تمامی نسخه های SQL دستور ساده ای برای پردازش کاربران بانک اطلاعاتی ندارند. برخی از نسخههای SQL ابزارهایی با رابط گرافیکی برای کاربران دارند که امکان ایجاد، اصلح و حذف کاربر را فراهم می‌سازند.
توجه: برای آشنایی با قالب دستوری تغییر صفات مشخصه کاربران باید نسخههای مورد استفاده خود را مطالعه کنید. قالب دستوری ALTER USER اراکل در اینجا نشان داده شده است. در بیشنتر نسخه ها، ابزاری برای تغییر نقش ها، حقوق دستیابی، صفات مشخصه م کلمه عبور یک کاربر وجود دارد.
توجه: هر کاربر می‌تواند کلمه عبورش را تغییر دهد. برای آشنایی با قالب دستور یا ابزار این کار باید نسخه مورد استفاده خود را مطالعه کنید. در اراکل عموما از دستور ALTER USER استفاده می‌شود.
 
جلسات کاربری
جلسه یک کاربر  از زمان برقراری ارتباط آغاز و پس از قطع ارتباط وی با بانک اطلاعاتی پایان می‌یابد. در طی موتی که یک کاربر با بانک اطلاعاتی دارد (جلسه کاری کاربر)، کاربر ممکن است عملیات گوناگونی چون پرس وجوها وتراکنش ها را انجام دهد.
هر جلسه کاری SQL از زمانی آغاز می‌شود که یک کاربر با استفاده از دستور CONNECT از سرویس گیرنده با سرویس دهنده ارتباط برقرار می‌کند. پس از برقراری ارتباط و آغاز جلسه کاری، هر تعداد تراکنش را می‌توان تا زمان قطع ارتباط آغاز نمود و انجام داد؛ در آن زمان جلسه کاری کاربر به پایان می‌رسد.
کاربران می‌توانند با استفاده از دستوراتی چون موارد ذیل، ارتباط خود را صریحا با بانک اطلاعاتی برقرار و قطع نمایند (جلسه کاریی را آغاز و به پایان برسانند).
قالب دستور:
CONNECT TO DEFAULT | STRING1 [AS STRING2] [USER STRING3]
DISCONNECT DEAFAULT | CURRENT | ALL | DTRING
SET CINNECTION DEFAULT | STRING
توجه: به خاطر داشته باشید که قالب دستور در نسخه های مختلف متفاوت است. به علاوه بیشتر کاربران بانک اطلاعاتی، دستورات را به طور دستی برای برقراری ارتباط یا قطع آن صادر نمی‌کنند. بیشتر کاربران ار طریق یک ابزار متفرقه یا ابزارهایی که فروشنده ارائه می‌کند، ارتباط برقرار می‌کنند. این ابزارها برای دریافت نام کاربری و کلمه عبور اعلام آمادگی می‌کنند و سپس ارتباط با بانک اطلاعاتی را برقرار و جلسه کاری کاربر را آغاز می‌کنند.
جلسات کاری کاربران ممکن است – اغلب اینگونه است – توسط مدیر بانک اطلاعاتی یا کارمندان دیگر نظارت شود. جلسه کاربری در نهایت به صورا یک فرایند برروی سیستم عامل میزبان نمایش داده می‌شود.
 
حذف دستیابی کاربر
حذف یک کاربر از بانک اطلاعاتی و یا گرفتن اجازه دستیابی وی به آسانی از طریق چند دستور شدنی است. با این وجود تفاوت بین دستورات در نسخه هایی مختلف در این حالت زیاد است. بنابراین باید برای آشنایی با قالب دستور یا ابزارهای مورد استفاده برای حذف کاربر یا گرفتن اجازه دستیابی، نسخه SQL مورد استفاده خود را مطالعه کنید.
روشهای گرفتن اجازه دستیابی کاربران:
کلمه عبور کاربر را تغییر دهید.
حذف account کاربری از بانک اطلاعاتی
گرفتن حقوق دستیابی اعطاء شده پیشین از کاربر
قالب دستور:دستور DROP را در برخی از نسخه های SQL می‌توان برای حذف یک کاربر ار بانک اطلاعاتی به کار برد.
DROP USER USER_ID [CASCADE]
قالب دستور: دستور REVOKE در بسیاری از نسخه های SQL نقطه مقابل دستور DROP است که حقوق دستیابی اعطاء شده پیشین یک کاربر را به وی بازمی گرداند. مثالی از این دستور در برخی از نسخه های SQL به شکل زیر است:
REVOKE PRIV1 [, PRIV2, … ] FROM USERNAME
ابزارهای مورد استفاده توسط کاربران بانک اطلاعاتی
برخی از اشخاص ادعا می‌کنند که برای انجام پرس و جوها نیازی به دانستن SQL نیست. آنها ممکن است از یک جهت درست بگویند؛ اما دانستن SQL یقینا با اجرای پرس و جوها کمک می‌کند، حتی با استفاده از ابزارهای دارای رابط گرافیکی  . گرچه ابزارهای GUI مناسب هستند و در صورت وجود می‌بایست مورد استفاده قرار گیرند، اما دانستن اتفاقات پشت پرده بسیار مفید است، چرا که بدین ترتیب بازدهی کاربرد این ابزارها کاربرپسند  را بیشینه نمود.
ابزارهای GUI زیادی وجود دارند که کاربران بانک اطلاعاتی را در تولید خودکار دستورات SQL از طریق حرکت در بین ویندوها، پاسخگ.یی به اعلان، و انتخاب گزینه ها یاری می‌کنند. ابزارهای گزارش گیریی وجود دارند که گزارشهایی تولید می‌کنند. فرم هایی را می‌توان بریا پرس و جو، به روز رسانی، درج یا حذف از یک بانک اطلاعاتی ایجاد نمود. ابزارهایی وجود دارند که داده های را به نمودار تبدیل می‌کنند. ابزارهای مدیریتی وجود دارند که می‌توان کارایی بانک اطلاعاتی را با آنها نظارت نمود؛ برخی از ابزارها نیز برقراری ارتباط از راه دور را فراهم می‌کنند. برخی از این ابزارها توسط فروشندگان نسخه های SQL ارائه می‌شوند،‌اما برخی از ابزارهای متفرقه توسط فروشندگان دیگر ارائه می‌شوند.
 
خلاصه
تمام بانکهای اطلاعاتس کاربرانی دارند، از یک نفر گرفته تا هزاره نفر. کاربران دلیل وجود بانکهای اطلاعاتی هستند. سه مرحله اصلی در مدیریت کاربران وجود دارد. نخست، account کاربری باید ایجاد شود. دوم،‌ حقوق دستیابی باید به کاربر اعطاء شوند تا کاربر بتواند کارهای خود را در بانک اطلاعاتی انجام دهد. و در پایان اینکه، یا باید account کاربری حذف شود، یا برخی از حقوق دستیابی از او گرفته شود.
برخی از متداولترین کارهای مدیریت کاربران در این فصل بررسی شدند؛ در این فصا بسیاری از جزئیات اجتناب شده است، چرا که بیشتر بانک های اطلاعاتی در فرایند مدیریت کاربر با یکدیگر تفاوت دارند. اما لازم است مدیریت کاربران به دلیل این کار با SQL بررسی شود. بسیاری از دستورات مورد استفاده در مدیریت کاربران توسط استاندارد ANSI به تفصیل تعریف نشده یا بررسی نشده اند، اما روند کار در تمام آنها یکسان است.

تگها: database   sql   sql server   آموزش sql   آموزش sql Server   امنیت sql   امنیت پایگاه داده   پایگاه داده   پروژه sql   
 

HyperLink

ارسال نظر در مورد این مطلب
نام :  
آدرس ایمیل :  
متن پیام :  
کد امنیتی :  
   
   
نظری برای نمایش وجود ندارد
 
این مطلب را به اشتراک بگذارید: