1. Trang chủ
  2. » Luận Văn - Báo Cáo

BẢO MẬT SQL SERVER

10 642 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bảo Mật SQL Server
Người hướng dẫn GVHD: Huỳnh Văn Gia
Trường học Trường Đại Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đề tài
Định dạng
Số trang 10
Dung lượng 20,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Database: Để truy xuất CSDL trong SQL Server, người dùng phải được cấp quyền trên CSDL đó.. • Đối tượng bảng, view, store procedure: Muốn truy xuất một đối tượng trong một CSDL, người

Trang 1

BẢO MẬT SQL SERVER

1- Các mức bảo mật ( Levels of Security):

Thuật ngữ security được hiểu theo nhiều nghĩa khác nhau, phụ thuộc ngữ cảnh mà nó được dùng Nó có thể dược ứng dụng ở 4 mức độ sau:

Hệ điều hành:

Để kết nối với hệphục vụ, một người dùng cần xem xét tỉ mỉ vài kiểu thủ tục đăng nhập hệ điều hành nhằm truy cập hệ thống hợp lệ.

SQL Server:

Để kết nối với SQL Server, người dùng cần phải có đăng nhập người dùng SQL hợp lệ.

Database:

Để truy xuất CSDL trong SQL Server, người dùng phải được cấp quyền trên CSDL đó.

Đối tượng ( bảng, view, store procedure):

Muốn truy xuất một đối tượng trong một CSDL, người dùng phải được cấp quyền trên đối tượng đó.

Operating system

Trang 2

2- Phân cấp tính bảo mật (Security Hierachy):

Trong hệ phân cấp có 4 kiểu người dùng: quản trị viên hệ thống (SA), sở hữu chủ CSDL (DBO), sở hữu chủ đối tượng CSDL (DBOO) và các người dùng khác.

a) Quản trị viên hệ thống ( System Administrator _ SA):

SQL Server

Database

Object

System administrator (SA)

Ít bị hạn chế Database owners

Bị hạn chế nhiều Database object owner

Other users

Trang 3

SA là người có toàn quyền truy cập SQL Server Mọi câu lệnh SQL đều có thể thực thi bởi SA SA cũng có thể cấp quyền cho các user khác.

b) Sở hữu chủ CSDL ( Database Owner _ DBO ) :

DBO là người dùng đã tạo CSDL hoặc được gán quyền sở hữu DBO có toàn quyền truy cập đến mọi đối tượng trong CSDL của DBO và được phép gán quyền đối tượng (object permission) cho những người dùng khác.

Để xác định sở hữu chủ của một CSDL, ta thực thi thủ tục sp_helpdb[ database name] hoặc nhắp đúp vào tên CSDL trong Enterprise Manager

c) Sở hữu chủ đối tượng CSDL ( Database Object Owner _ DBOO ):

DBOO là người tạo đối tượng CSDL.

SQL Server thừa nhận rằng nếu bạn có quyền cần thiết để tạo đối tượng thì đương nhiên bạn có mọi quyền với đối tượng đó

( select, update, insert, delete, reference và execute).

Ngoại trừ DBOO và SA, không ai có thể truy cập đối tượng cho đến khi được cấp quyền thích hợp.

Để xác định DBOO trong một CSDL, ta thực thi thủ tục sp_help [object name].

Trang 4

Không có lệnh SQL để chuyển quyền sở hữu của một đối tượng trong CSDL Muốn thế, SA hoặc DBOO của đối tượng đó phải hủy bỏ đối tượng và DBOO mới sẽ tạo lại đối tượng đó.

Để làm đơn giản việc truy cập đối tượng, DBO nên tạo tất cả mọi đối tượng trong một CSDL DBO được tự dộng giao quyền DBOO.

d) Người dùng khác:

Những người dùng khác cần phải được cấp các quyền đối tượng ( select, update, insert, delete, reference và execute) để hoạt động trong CSDL SA cũng có thể cấp quyền cho những người dùng khác nên họ có thể tạo và xóa đối tượng trong CSDL.

3- Quyền (Permission):

Quyền cho phép một người nào đó làm một việc trong CSDL.

Có hai kiểu quyền là : quyền đối tượng và quyền điều lệnh.

a) Quyền đối tượng (Object Permission) :

Quyền đối tương điều khiển việc truy cập và thao tác dữ liệu trên các đối tượng trong SQL Server.

Khi bạn muốn thực hiện một hành động trên một đối tượng, bạn phải có quyền thích hợp Ví dụ: bạn muốn select * from table 1 thì bạn phải có quyền select đối với bảng đó.

Trang 5

a.1- Phân loại:

Các kiểu quyền đối tượng khác nhau được tổng kết như sau:

tượng

Hành động có thể

Table Column View Store procedure

insert,reference Select, update.

Select, update, insert, delete.

Execute.

a.2- Cấp quyền đối tượng ( Granting Object Permissions ):

Thực hiện các bước sau để cấp quyền đối tượng: (1) Từ Enterprise Manager, truy cập hộp thoại Server Manager, chọn một hệ phục vụ , mở thư mục Databases, chọn một CSDL và chọn thư mục Object (2) Từ menu Object chọn Permission.

(3)Chọn By Object hoặc By User.

By Object cho phép bạn chọn một đối tượng và quản trị mỗi quyền của người dùng trên đối tượng.

By User cho phép bạn chọn một đối tượng hoặc một nhóm và quản trị quyền của đối tượng hoặc nhóm trên vài đối tượng.

Trang 6

(4) Nếu bạn đã chọn By Object thì chọn một đối tượng từ danh sách Object để làm việc.Sau đó, một danh sách các nhóm và người dùng được hiển thị cùng các quyền tương ứng với đối tượng.

Nếu bạn đã chọn By User thì hãy chọn một người dùng hoặc nhóm từ danh sách User/ Group để làm việc Sau đó, một danh sách các đối tượng và quyền tương úng với đối tượng được hiển thị

(5) Click vào Grant All để cấp mọi quyền cho các người dùng và nhóm hoặc đối tượng.

(6) Để cấp quyền riêng cho một nhóm hoặc một người dùng thì thì chọn hàng thích hợp và click vào hộp kiểm tra đó.

(7) Để cấp quyền column level cho một bảng hoặc một view, chọn Column Level Permissions và click vào hộp kiểm tra thích hợp.

(8) Click vào nút Set để mọi thay đổi vừa tạo có hiệu lực.

a.2-Thu hồi quyền đối tượng (Revoking Object Permission):

Thực hiện các bước (1), (2), (3), (4) như cách cấp quyền đối tượng.

(5) Click vào nút Revoke All để thu hồi tất cả quyền của mọi người dùng và nhóm hoặc mọi đối tượng (6) Để thu hồi quyền riêng của một đối tượng, chọn hàng thính hợp và click vào hộp kiểm tra.

Trang 7

(7) Để thu hồi quyền column level của một bảng hoặc một view, chọn Column Level Permissions và click vào hộp kiểm tra thích hợp.

(8) Click vào nút Commit đểmọi thay đổi vừa tạo ra có hiệu lực.

a.3-Những điều cần chú ý khi quản trị quyền đối tượng:

Khi một đối tượng được tạo ra lần đầu tiên, chỉ có người tạo ra hoặc SA mới có thể truy cập và thao tác đối tượng Quyền đối tượng phải được gán cho người dùng, lúc đó họ có thể thao tác đối tượng.

Quyền đối tượng và quyền điều lệnh có hiệu lực tức thì Không như những hệ thống khác, người dùng không phải xuất rồi nhập lại SQL Server để sự thay đổi có hiệu lực

Các quyền là đặc tính cúa một đối tượng Do đó mỗi đối tượng cần được gán quyền thích hợp.

Không cần gán quyền cho SA vì SA có toàn quyền với mọi đối tượng.

Nếu bạn được khởi nhập như SA hoặc DBO thì bạn có thể dùng SETUSER để mạo nhận là người dùng mà bạn đang thử mạo nhận.

Cú pháp:

SETUSER [‘username’ [with noreset]]

Trang 8

- Nếu thông số noreset không được chỉ định, bạn có thể phát một câu lêïnh không có một đối số nào để quay trở về profile of logged_in user.

- Nếu thông số noreset được chỉ định, bạn có thể mở lại CSDL ( USE database_name) để trở về profile

of logged_in user.

Nếu bạn quên mình đang mạo nhận ai, bạn có thể xác định lai lịch người dùng theo cú pháp sau: SELECT user_name().

b) Quyền điều lệnh (Statement Permission):

Quyền điều lệnh điều khiển những ai có thể xóa và tạo các đối tượng trong một CSDL.

b.1- Các quyền điều lệnh:

Chỉ có SA hoặc DBO mới có thể quản lý các quyền điều lệnh Các quyền điều lệnh gồm có:

Create database: tạo CSDL Quyền này có thể chỉ cấp cho hoặc SA hoặc người sử dụng trong CSDL master.

Create default: tạo giá trị mặc định cho một cột của bảng.

Create store procedure: tạo một thủ tục trữ sẵn.

Create rule: tạo một qui tắc cho một cột của bảng.

Create table: tạo một bảng.

Trang 9

Create view: tạo kiểu xem.

Dump database: lưu trữ CSDL tới một thiết bị dư phòng.

Dump transaction: lưu trữ transaction log tới một thiết

bị dự phòng.

b.2- Cấp quyền điều lệnh ( Granting Statement Permision):

(1) Từø Enterprise Manager truy cập hộp thoại Server Manager, chọn một hệ phục vụ, nhắp đúp vào một CSDL.

(2) Chọn tab Permission Các quyền đang tồn tại được thể hiện bằng dấu kiểm tra.

(3) Chọn người dùng thích hợp và quyền điều lệnh cho đến khi một dấu màu xanh lá cây xuất hiện trong hộp kiểm tra.

(4) Click vào nút OK để mọi thay đổi đuợc thiết lập có hiệu quả.

b.3- Thu hồi quyền điều lệnh ( Revoking Statement Permission):

Thực hiện các bước (1), (2) như cách cấp quyền điều lệnh.

(1) Chọn người dùng thích hợp và quyền điều lệnh cho đến khi một vòng màu đỏ và slash xuất hiện trong hộp kiểm tra.

(2) Click vào nút OK để các thay đổi vừa thiết lập có hiệu quả.

Trang 10

c) Quản trị quyền bằng Transact_SQL:

SQL dùng lệnh GRANT và REVOKE để quản trị permission.

c.1- Cấp quyền đối tượng:

GRANT { ALL [column_list] | permission_list[column_list] }

ON { table_name [column_list] | view_name [(column_list)] | store_procedure_name }

TO { PUBLIC | name_list } [ WITH GRANT OPTION ]

Cấp quyền điều lệnh:

GRANT { ALL | statement_list }

TO { PUBLIC | name_list } c.2- Hủy quyền đối tượng:

REVOKE [ GRANT OPTION FOR ] { ALL | permission_list} [(column_list)]

ON { table_name [(column_list)} | view_name[(column_list)] | store_procedure_name

FROM { PUBLIC | name_list | role_name } [CASCADE]

Hủy quyền điều lệnh:

REVOKE { ALL | statement_list } FROM { PUBLIC | name_list

Ngày đăng: 07/10/2013, 03:20

TỪ KHÓA LIÊN QUAN

w