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

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


بررسی اصول امنیتی پایگاه های داده بخش پانزدهم تاریخ درج: ١٣٩۵/٠۴/٢٠

 3-8  Securable 

Securable منابع در سطح پایگاه‌داده هستند که دسترسی Principal‌ها بر روی آن‌ها آن‌ها کنترل می‌شود. SQLServer توانایی شناسایی سه حوزه مختلف از منابع را دارد. در ذیل این سه حوزه و اجزای آن‌ها معرفی شده اند. پرداختن به جزئیات در این باره خارج از حوصله این بحث است.
Server scope securable :
Endpoint
Login
Database
Database scope securable:
User
Role
Application role
Assembly
Message Type
Route
Service
Schema
Remote service binding
Fulltext catalog
Asymmetric Key
Symmetric Key
Contract
Schema
Schema scope securable:
Type
XML Schema Collection
Object
3-9  Permission
Permission مکانیزم‌هایی هستند که از طریق آن‌ها مالک یک منبع به کاربران ذینفع قابلیت اجرای یکسری اعمال را بر روی آن منبع را می‌دهد.در واقع permission‌ها مشخص کننده مجموعه اعمالی است که یک کاربر می‌تواند در داخل SQLServer انجام دهد. در جدول زیر مجموعه ای از Permission‌های رایج آورده شده است.

جدول3-2 : انواع Permission
 

Principal

حوزۀ عملیاتی

توضیحات

Alter

اجازه ایجاد ، تغییر و از بین بردن منابع را می‌دهد.

Application Role

Assembly

Certificate

Login

Procedures (T-SQL and .NET)

Role

Schema

Symmetric Key

Tables

Views

Scalar and Aggregate Functions

(T-SQL and .NET)

User

XML Schema Collection

Control

دارنده این اختیار به نمایندگی از مالک می‌تواند هرگونه اختیاری را به کاربران دیگر اعطا کند و اجازه انجام هر عملی را دارد اگرچه شما مالک نباشد.

Application Role

Symmetric Key

Tables

Views

Scalar and Aggregate Functions

(T-SQL and .NET)

Synonyms

Table-Valued Functions

(T-SQL and .NET)

Type

User

XML Schema Collection

Delete

 

دارندۀ این اختیار اجازۀ حذف داده را دارد.

Schema

Synonyms

Tables and columns

Views and column

Execute

اجازه اجرای کد را میدهد. توابع و رویه‌های ذخیره شده از این جمله هستند.

Assembly

Scalar and Aggregate Functions

(T-SQL and .NET)

Schema

Synonyms

Type

XML Schema Collection

Impersonate

به شما اجازه می‌دهد تا خود را جای کاربر دیگری جا بزنید. بری انجام این کار نیازی نیست که شما sysadmin و یا DBO باشید.

Login

User

 

Insert

اجازه وارد کردن داده‌های جدید را به شما می‌دهد.

Schema

Synonyms

Tables and columns

Views and columns

Select

اجازه مشاهده داده‌ها را به شما می‌دهد.

Schema

Synonyms

Tables and columns

Table-Valued Functions (T-SQL

and .NET) and columns

Take Ownership

به شما اجازه می‌دهد تا مالکیت منبع مورد نظر را در اختیار بگیرید حتی اگر واگذار کننده این اختیار به شما DBO یا sysadmin نباشد.

Assembly

Certificate

Procedures (T-SQL and .NET)

Role

Tables.

Views

Scalar and Aggregate Functions

(T-SQL and .NET)

Schema

Symmetric Key

Synonyms

Table-Valued Functions

(T-SQL and .NET)

Type

XML Schema Collection

 

Update

اجازۀ تغییر داده را می‌دهد.

Schema

Synonyms

Tables and columns

Views and columns

View Definition

اجازه مشاهده ساختار جدول(metadata) را به شما می‌دهدحتی اگر شما اختیار دیگری بر روی آن جدول نداشته باشید. این یک اختیار جدید در SQLServer2005 است.

Application Role

Login

Procedures (T-SQL and .NET)

Role

Schema

Symmetric Key

Synonyms

Tables

Type

Views

Scalar and Aggregate Functions

(T-SQL and .NET)

Table-Valued Functions

(T-SQL and .NET)

User

XML Schema Collection

 

حال به برسی چند مثال در این زمینه می‌پردازیم. اختیار Select بر روی جدول به شما اجازه می‌دهد  تا داده‌ها ی موجود در جدول را مشاهده کنید ولی شما نمی‌توانید هر یک از اعمال insert ، Delete و یا Update را انجام دهید. انجام این اعمال در صورتی امکان پذیر است که اختیار آن به شما داده شده باشد. برای اضافه کردن یک ستون جدید در جدول از اختیار Alter و برای اجرای رویه‌های ذخیره شده و توابع از Execute استفاده می‌شود. اگر کاربری نیاز به مالکیت منبعی داشته باشد با Take Ownership و توسط DBO این عمل انجام می‌شود. نکتۀ مهم در مورد اختیارات این است که اعطا کننده این اختیارات باید در انجام این عمل نهایت دقت را داشته باشد تا امکان سوءاستفاده از آن‌ها به حداقل برسد.
 
 
حال به برسی چند مثال در این زمینه می‌پردازیم. اختیار Select بر روی جدول به شما اجازه می‌دهد  تا داده‌ها ی موجود در جدول را مشاهده کنید ولی شما نمی‌توانید هر یک از اعمال insert ، Delete و یا Update را انجام دهید. انجام این اعمال در صورتی امکان پذیر است که اختیار آن به شما داده شده باشد. برای اضافه کردن یک ستون جدید در جدول از اختیار Alter و برای اجرای رویه‌های ذخیره شده و توابع از Execute استفاده می‌شود. اگر کاربری نیاز به مالکیت منبعی داشته باشد با Take Ownership و توسط DBO این عمل انجام می‌شود. نکتۀ مهم در مورد اختیارات این است که اعطا کننده این اختیارات باید در انجام این عمل نهایت دقت را داشته باشد تا امکان سوءاستفاده از آن‌ها به حداقل برسد.
 

تگها: اصول امنیتی database   امنیت پایگاه داده   امنیت در SQL Server   امنیت دیتابیس   انواع Permission   
 

HyperLink

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