Tải bản đầy đủ (.docx) (45 trang)

Phân tích ứng dụng bảo mật trong SQL server

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (293.72 KB, 45 trang )

Phân tích ứng dụng bảo mật trong SQL Server
Lời nói đầu
SQL Server 7.0 ra đời là 1 bước nhảy vọt công nghệ CSDL so với CSDL
SQL Server 6.5, SQL Server 2000 ra đời không ngừng cung cấp cho người
dùng những công cụ và những đặc điểm mới phiên bản 7.0 còn thiếu sót.
Ngoài những đặc tính khắc phục thiếu sót của SQL Server 7.0, phiên bản
SQL Server 2000 còn thay đổi 1 số cục diện khác trong các chức năng lập
trình cũng giống như trong quan hệ và ràng buộc dữ liệu.
Ngoài ra SQL Server 2000 còn cung cấp 1 số công cụ hỗ trợ khác như Phân
tích xử lí trực tuyến (OLAP), chuyển tác trực tuyến (OLPT), English
Query…
Tìm hiểu về SQL Server là 1 mảng đề tài rộng, bao gồm kỹ năng lập trình,
kỹ thuật ứng dụng SQL vào ứng dụng thực tiễn, các mô hình CSDL, kĩ thuật
mới của SQL Server 2000, quản trị CSDL, bảo mật…. Trong phạm vi đề tài
này chỉ tìm hiểu về bảo mật trong SQL Server.
1
Phân tích ứng dụng bảo mật trong SQL Server
1.Giới thiệu:
SQL Server là 1 hệ thống quản lí cơ sở dữ liệu (RDBMS) hay còn được gọi
là relational database management system. RDBMS là 1 trong những mô
hính cơ sở dữ liệu quan hệ thong dụng hiện nay.
Sử dụng RDBMS System như là cách thức cơ bản để lưu trữ dữ liệu cho hầu
hết các ứng dụng hiện nay. Tuy còn những mô hình khác ,nhưng trong phạm
vi đề tài chỉ tập trung vao` RDBMS và đặc biệt chỉ xoay quanh vấn đề bảo
mật của SQL Server.
Một cơ sở dữ liệu trong 1 tổ chức hay trong 1 doanh nghiệp có thể chúa
đựng những dữ liệu hêt sức quan trọng mang tính sống còn. Chính vì thế mà
bảo mật dữ liệu trở thành 1 vấn đề rất quan trọng. Một hệ thống DBMS hay
RDBMS cần phải hỗ trợ những kĩ thuật và phương tiện để bảo mật dữ liệu.
Trong đề tài này sẽ tập trung vào các chính sách bảo mật của SQL Server và
thảo luận 1 cách chi tiết bảo mật được cung cấp như thế nào trong SQL


Server.
1.1.Khái niệm cơ bản về bảo mật
Bảo mật có rất nhiều khái niệm, cho phép người quản trị CSDL tự ra quyết
định cho phép hay không cho phép người dùng truy cập và thao tác trên
CSDL sao cho có hiệu quả bảo mật tốt nhất. Dưới 1 góc độ nào đó, người
quản trị dựa trên nền tảng lí thuyết bảo mật của hệ CSDL đa người dùng
nhằm tìm ra những phương pháp bảo mật theo đúng với nhu cầu của độ bảo
mật dữ liệu.
2
Phân tích ứng dụng bảo mật trong SQL Server
Với mục đích tăng tính bảo mật dữ liệu, SQL Server 2000 hỗ trợ các tính
năng cho phép nhà quản trị thiết lập cợ chế bảo vệ CSDL trong môi trường
đa người dùng, bao gồm các yếu tố chính sau:
- Vai trò của người dùng trong hệ thống và CSDL
- Quyền sử dụng các ứng dụng CSDL trong SQL Server
- Quyền tạo và sửa đổi cấu trúc các đối tượng CSDL
- Quyền truy cập, xử lí dữ liệu
Khi đăng nhập vào 1 hệ thống CSDL đa người dùng, ngưới sử dụng cần phải
cung cấp UserID và Password. Dựa trên UserID hệ thống có khả năng kiểm
soát tát cả các hành vi của người sử dụng trên CSDL SQL Server 2000.
Để làm được chức năng này, người quản trị CSDL cần phải thiết lập các
quyền xử lý và truy cập vào CSDL khhi tạo ra UserID này, ngoài ra còn 1 số
thuộc tính khác của SQL Server như quyền bakup dữ liệu, trao đổi dữ liệu
với các ứng dụng CSDL khác…
Khi nói đến bảo mật, ta cần quan tâm dến tên tài khoản, mật khảu, chiều dài,
thời gian có hiệu lực… như sau:
- Một người sử dụng chỉ có 1 UserID và 1 Password.
- Thời gian có hiệu lực của mật khẩu.
- Chiều dài của mậ khẩu có giới hạn <= 36.
- Giới hạn người sử dụng theo license hay mở rộng.

- Thông tin về người sử dụng.
Khi tạo người sử dụng, tên tài khoản cần rõ ràng, dễ hiểu dễ gợi nhớ, không
cho phép các kí tự đặc biệt, không nên có khoảng trắng, điều này dễ gây khó
khăn sau này.
1.2.Giới thiệu chung về bảo mật trong SQL Server:
3
Phân tích ứng dụng bảo mật trong SQL Server
Bảo mật trong SQL Server có thể được mô tả thông qua mô hình 3 tầng dưới
đây:
1. Xác nhận( Authentication)
2.Khả năng là người dùng của 1 hay nhiều dữ liệu
3.Quyền đăc biệt được sử dụng những đối tượng CSDL được bảo vệ
Tầng ngoài cùng đòi hỏi 1 tài khoản NT hoặc nhóm bảo mật để có thể truy
cập SQL Server thông qua việc dăng nhập vào server. Tầng kế tiếp là điều
kiện để có thể sử dụng 1 hay nhiều CSDL. Tầng trong cùng là điều kiện để
có thể thực hiện những phát biểu với những đối tượng CSDL được bảo vệ.
2.Quản lí việc đăng nhập:
SQL Server xác nhận người dùng qua 2 cấp:
- Xác nhận việc đăng nhập
- Xác nhận quyền đối với CSDL
SQL Server cần xác nhận 1 người dùng trước khi người đó có thể truy cập
vào CSDL. Trong SQL Server mỗi người dùng được cấp cho 1 tài khoản
riêng biệt được gọi là tài khoản đăng nhập ( Login Account). Mỗi người
dùng tương tác với SQL Server sử dụng tài khoản này. Xác
nhận(authentication) sẽ kiểm tra người dùng đang sử dụng tài khoản đăng
4
Phân tích ứng dụng bảo mật trong SQL Server
nhập và cấp ra quyền kết nôi với SQL Server. Nếu sự xác nhận không thành
công,người dùng không thể kết nối với SQL Server
2.1.Xác nhận việc đăng nhập:

Một người dùng cần phải có tài khoản đăng nhập để kết nối với SQL Server.
SQL Server có 3 cách để xác nhận, mỗi cách có 1 loại tài khoản đăng nhập
khác nhau:
- SQL Server Authentication: khi sử dụng SQL Server authentication,
1 người quản lí của SQL Server định nghĩa 1 tài khoản đăng nhập và
mã cho 1 SQL Server. Những người dùng cần phải đưa ra cả tài khoản
và mã dể kết nối với SQL Server.
- Windows NT Authentication : Khi 1 người dùng kết nối với SQL
Server sử dụng Windows NT authentication, SQL Server kiểm lại với
Windows NT xem tài khoản và mã đã đúng chưa.Nếu đúng thì người
dùng có thể kết nôi với SQL Server.
- Mixed Mode Authentication: Người dùng có thể sử dụng 1 trong 2
loại trên.
2.2.Sự xác nhận quyền:
Trong mỗi CSDL, quyền được gán cho tài khoản của người dùng và các vai
trò được tạo ra để thực hiện ( hoặc ngăn cấm) những hành động cụ thể. SQL
Server chấp nhận các lệnh sau khi người dùng đã truy cập thành công tới
CSDL.
SQL Server thực hiện các bước sau trong khi xác nhận quyền:
5
Phân tích ứng dụng bảo mật trong SQL Server
1. Khi người dùng thực hiện 1 hành động, ví dụ như thực hiện 1 câu lệnh
T-SQL,câu lệnh này được chuyển tới SQL Server
2. Khi SQL Server nhận được câu lệnh, nó kiểm tra em người dùng có
quyền thực hiện câu lệnh hay không.
3. Sau đó, SQL Server thực hiện 1 trong 2 hành động sau:
- Nếu người dùng có quyền, SQL Server thực hiện câu lệnh.
- Nếu người dùng không có quyền, SQL Server báo lỗi.
Sử dụng Enterprise Manager, ta có thể chọn kiểu xác nhận như là Windows
Authentication và Mixed mode authentication

2.3.Tạo 1 đăng nhập:
Sử dụng Enterprise Manager ta có thể quản lí việc đăng nhập bằng việc sử
dụng Create Login Wizard cung cấp bởi SQL Server Enterprise Manager.
Quá trình(Wizard) này cung cấp 1 sự hướng dẫn từng bước hoàn chỉnh để
tạo các đăng nhập 1 cách dễ dàng và hiệu quả.
Bên cạnh đó ta cũng có thể sử dụng các thủ tục thường trú( stored
procedures) để tạo hay xóa các đăng nhập.
Để tạo 1 đăng nhập, ta có thể sử dụng câu lệnh sau:
EXEC sp_addlogin
[@login=]<’login’>
[,@password=]<’password’>]
[,[@defdb=]<’database’>]
6
Phân tích ứng dụng bảo mật trong SQL Server
[,[@deflanguage=]<’language’>]
[,[@sid=] ‘sid’ ]
[,[@encriptopt=]<’encription_option’>]
Diễn giải các tham số của thủ tục sp_addlogin như sau:
@login: tên tài khoản sẽ tạo
@password: mật khẩu cho người dùng có tài khoản trên
@defdb:CSDL mặc định khi người dùng đăng nhập vào SQL Server
@deflanguage: ngôn ngữ mặc định cho người dùng
@sid: Số nhận dạng hệ thống khi người dùng đăng nhập vào SQL Server
@encriptopt: Khi tạo 1 tài khaỏn người dùng trong CSDL SQL Server 2000,
các thông tin tài khỏan, mật khẩu lưu trữ trong bảng sysusers của CSDL
Master, nếu ta cung cấp tham số skip_encription thì mật khẩu sẽ không mã
hóa trước khi lưu vào bảng sysusers, nếu không cung cấp tham số hay để
trống, SQL Server sẽ mã hóa â6tj khẩu trước khi lưu vào bảng sysusers.
Ví dụ:
EXEC sp_addlogin ‘Nam’,’123’

Nó sẽ tạo 1 đăng nhập với tên là “Nam”, mã là “123”
Nếu sau khi tạo thành công tài khoản người dùng, cần thiết thay đổi mật
khẩu, ta sử dụng thủ tục sp_ password như sau:
EXEC sp_password
[@old=]<’old password’>
[,[@new=]<’new password’>]
7
Phân tích ứng dụng bảo mật trong SQL Server
[,[@loginname=]<’’login’>]
Để xóa 1 đăng nhập, ta có thể dùng câu lệnh sau :
EXEC sp_droplogin ‘Nam’
Sử dụng trình điều khiển EM
Để tạo ra 1 tài khoản đăng nhập (Login User), bắt đầu từ màn hình
Enterprise Manager (EM), sau đó chọn ngăn Security/Login, right click chọn
New Login hay chọn menu action New Login như trong hình sau:
8
Phân tích ứng dụng bảo mật trong SQL Server
Như đã trình bày ở trên, có 2 lựa chọn khi tạo một người dùng trong SQL
Server 2000:
- Tương tác với hệ điều hành Windows NT/2000
- Sử dụng riêng cho SQL Server 2000
Trong hình sau, dễ dàng nhận thấ khi chọn Windows NT authentication thì
tham số tên miền của chúng yêu cầu, rõ ràng ta phải cung cấp tên miền hay
9
Phân tích ứng dụng bảo mật trong SQL Server
địa chỉ TCP/IP của máy chủ, mặt khác tài khoản người dùng này phải tồn tại
và có hiệu lực tên mạng.
Sau khi tạo, SQL Server 2000 kiểm tra. Tài khoản người dùng có hợp lệ hay
không, có tồn tại trên hệ điều hành Windows NT/2000 hay không. Nếu tất cả
thông tin hợp lệ, đăng ký thành công.

10
Phân tích ứng dụng bảo mật trong SQL Server
Trong trường hợp ta muốn tài khoản đó có giá trị hiệu lực trong SQL Server
2000, chọn SQL Server authentication như hình sau:
Ghi chú:
-Trong trường hợp sử dụng Tài khoản người dùng chung NT và SQL
Server, nếu người dùng sử dụng tài khoản loại này họ có thể xóa dữ
liệu trên mạng.
-Tùy vào quan điểm quản lý, nhà quản trị tự thiết lập hệ thống người
dùng sao cho phù hợp với chiến lược bảo mật dữ liệu công ty.
3.Quản lí người dùng:
11
Phân tích ứng dụng bảo mật trong SQL Server
SQL Server cho phép 2 loại tài khoản người dùng sau:
- Người dùng hệ thống( system user)
- Người dùng CSDL(database user)
3.1Người dùng của SQL Server:
1 mã người dùng có thể được dùng để xác nhận 1 người dùng trong 1 CSDL.
Tất cả các quyền và sự sở hữu các đối tượng trong CSDL được kiểm soát bởi
tài khoản người dùng. Các tài khoản người dùng là riêng biệt với mỗi
CSDL; tài khoản abc trong CSDL books khác với tài khoản abc trong CSDL
inventory,mặc dù chúng giống nhau.
3.2.Mối quan hệ giữa người dùng CSDL và tên đăng nhập:
1 người dùng trong 1 CSDL được xác nhận bởi mã người dùng(user ID) chứ
không phải bởi mã đăng nhập (login ID).
1 mã đăng nhập tự nó không thể cấp cho người dùng quyền truy cập tới các
đối tượng của bất kì CSDL nào. 1 mã đăng nhập phải gắn liền với 1 mã
người dùng trong mỗi CSDL trước khi 1 người sử dụng mã dăng nhập dó có
thể truy cập tới các đối tượng trong các CSDL. Nếu mã đăng nhạp không
gắn rõ rang với bất kì mă người dùng nào trong 1 CSDL, nó coi như được

gắn với mã người dùng khách. Nếu 1 CSDL không có tài khoản khách, 1 sự
đăng nhập không thể truy cập tới CSDl trừ khi nó đã được gắn với 1 tài
khoản người dùng có tồn tại.
12
Phân tích ứng dụng bảo mật trong SQL Server
Tài khoản khách là 1 tài khoản đặc biệt trong CSDl của SQL Server. Nếu
người dùng sử dụng lệnh USE để truy cập tới 1 CSDL không được gắn với
1 tài khoản người dung`,nó sẽ được gắn với tài khoản khách.

3.3.Quản lí tên người dùng và tên đăng nhập:
1 số thủ tục thường trú hay được sử dụng:
1. sp_grantlogin cho phép tài khaỏn người dùng của Windows
NT/2000 kết nối với SQL Server sử dụng Windows authentication.
2. sp_defaultdb thay đổi CSDL mặc định cho 1 đăng nhập.
3. sp_grantdbaccess dùng để thêm 1 tài khoản và cho phép truy cập
dữ liệu bằng tài khoản đó.
4. sp_revokedbaccess dùng để xóa 1 tài khoản ra khỏi CSDL.
4.Quyền người dùng (User Right):
Quyền người dùng được định nghĩa như mức độ người dùng có thể hay
không thể thực thi trên cơ sở dữ liệu, quyền được chia thành 4 loại như sau:
- Quyền truy cập vào SQL Server 2000.
- Quyền truy xuất vào cơ sở dữ liệu
- Quyền thực hiện trên các đối tượng của cơ sở dữ liệu
- Quyền xử lý dữ liệu
4.1.Cấp phát quyền truy cập vào cơ sở dữ liệu:
13
Phân tích ứng dụng bảo mật trong SQL Server
Điều đầu tiên cần phải thực hiện khi cho phép người sử dụng truy cập vào
cơ sở dữ liệu là cấp phát quyền, có 2 cách để thực hiện việc cấp phát quyền
này, bao gồm việc thực hiện 1 thủ tục có sẵn hay sử dụng trình điều khiển

EM, bằng cách thêm người sử dụng vào thành viên người dùng của cơ sở dữ
liệu.
Sử dụng thủ tục
Để cấp phát quyền người sử dụng vào truy cập cơ sở dữ liệu bằng thủ tục,
phải có cú pháp như sau:
Exec sp_grantdbaccess
[@loginname=] < ‘ login’ >
[ , [@name_in_db=] ] < ‘ name in this db’ >
Nếu không chỉ rõ cơ sở dữ liệu muốn cho phép người dùng truy cập, thì
người sử dụng được cấp phát quyền trên cơ sở dữ liệu hiện hành, với tham
số @loginname là tài khoản của người sử dụng đăng nhập vào SQL Server
2000.
Tham số @name_in_db cho phép ánh xạ hay còn gọi là bí dang tên của tài
khoản người dùng thành 1 tên khác khi truy cập vào cơ sở dữ liệu chỉ định,
trong trường hợp này SQL Server 2000 chỉ quản lý trên tên tài khoản đăng
nhập.
Với cách này, khi sử dụng các ứng dụng khác truy cập vào cơ sở dữ liều
SQL Server 2000, dĩ nhiên ứng dụng sẽ kết nối cơ sở dữ liệu chỉ định, thì tài
khoản dùng để kết nối vẫn là tên Tài khoản đăng nhập vào SQL Server 2000.
14
Phân tích ứng dụng bảo mật trong SQL Server
Ví dụ sau đây trình bày cách cấp phát quyền truy cập của người sử dụng có
tên Tài khoản mya đổi bí danh thành myaa vào cơ sở dữ liệu account:
/* sử dụng Use */
USE Account
Go
Exec SP_grantdbaccess ‘ mya ’ , ‘myaa ‘
Kết quả trả về như sau:
Granted database access to ‘ mya ‘ .
Nếu cần thiết phải loại trừ người sử dụng ra khỏi cơ sở dữ liệu, sử dụng thủ

tục có cú pháp như sau:
Exec sp_revokedbaccess
[@name_in_db=] < ‘ login ‘ >
Giả sử rằng người sử dụng có tên tài khoản sử dụng trong cơ sở dữ liệu chỉ
định myaa không được phép truy cập vào cơ sở dữ liệu account, sử dụng thủ
tục như ví dụ sau:
/* Sử dụng Use */
USE Account
Go
Exec sp_revokedbaccess ‘ myaa ‘
Kết quả trả về như sau:
User has been dropped from current database .
15
Phân tích ứng dụng bảo mật trong SQL Server
Sử dụng trinh EM
Nếu sử dụng trình EM để cấp phát quyền truy cập của tài khoản vào cơ sở
dữ liệu chỉ định (tài khoản người dùng tồn tại trong cơ sở dữ liệu SQL
Server 2000), phải thực hiện các bước sau:
-Chọn tên cơ sở dữ liệu muốn cấp phát.
-Chọn ngăn User
-R-Click (nhấp phải) / New Database User hay chọn menu Action /
New Database User.
-Chọn tên tài khoản trong danh sách tài khoản (login user) đăng nhập
SQL Server 2000.
-Nếu cần thiết tạo tên bí danh (Alias)
Màn hình trình EM cho phép cấp phát quyền 1 tài khoản đăng nhập SQL
Server 2000 vào cơ sở dữ liệu chỉ định có dạng sau:
16
Phân tích ứng dụng bảo mật trong SQL Server
17

Phân tích ứng dụng bảo mật trong SQL Server
Sau khi cấp phát quyền cho 1 tài khoản đăng nhập, chọn OK để kết thúc.
Trong trường hợp cần loại bỏ người sử dụng mya ra khỏi cơ sở dữ liệu
account, chỉ cần chọn ngăn Users/R-Click / Delete hay chọn menu Action /
Delete, cửa sổ xác nhận hiển thị, chỉ cần bấm OK, người sử dụng sẽ loại bỏ.
4.2.Cấp phát quyền thực thi trên cơ sở dữ liệu:
Sau khi cấp quyền cho phép người sử dụng truy cập vào cơ sở dữ liệu
account, bước kế tiếp bạn phải cho phép người sử dụng đó có quyền truy cập
và xử lý trên các đối tượng, cũng như xử lý dữ liệu trên các đối tượng đó.
18
Phân tích ứng dụng bảo mật trong SQL Server
Ví dụ trong bộ phận kế toán, nhân viên kế toán hay nhân viên nhập dữ liệu
thì không thể xem xét các dữ liệu về quyết toán thuế, hay các báo cáo tài
chính chẳng hạn. Tương tự như vậy, nhân viên kinh doanh không thể nhập
dữ liệu các nghiệp vụ kế toán, với các quy định về giới hạn truy cập và xử lý
dữ liệu trên các đối tượng, SQL Server 2000 cung cấp các quyền trên các đối
tuợng như sau :
SELECT: Cho phép người dùng nhìn thấy dữ liệu, nếu người sử dụng có
quyền này, thì họ chỉ có thể thực thi những phát biểu Select để truy vấn dưc
liệu trên các bảng hay View được cho phép.
INSERT: Cho phép người dùng thêm dữ liệu, nếu người dùng có quỳen này,
họ có thể thực hiện phát biểu Insert, đối với 1 hệ thống CSDL khác, muốn
thực thi phát biểu Insert, người dùng phải có quyền Select, trong trường hợp
SQL Server 2000, quyền Insert không liên quan đến quỳên truy vấn Select.
UPDATE: Quyền này cho phép người dùng chỉnh sử dữ liệu trong CSDL,
với quyền Update người dùng có thể cập nhật dữ liệu bằng phát biểu Update.
DELETE: Quyền này cho phép người dùng xóa dữ liệu trong CSDL, với
quyền Delete người dùng có thể xóa mẩu tin dữ liệu bằng phát biểu Delete.
REFERENCE: Cho phép người dùng thêm dữ liệu vào bảng có khóa ngoại,
nếu người dùng có quyền này, họ có thể thực hiện phát biểu Insert, trong

trường hợp SQL Server 2000, quyền Reference không lien quan đến quyền
truy vấn Select.
19
Phân tích ứng dụng bảo mật trong SQL Server
EXECUTE: Quyền này cho phép người dùng thực thi thủ tục (SP) trong
CSDL, với quyền Execute người dùng có thể xóa mẩu tin dữ liệu bằng phát
biểu Exec hay Execute SP.
5.Quyền tạo đối tượng trong CSDL
Trong CSDL có các đối tượng và một số chức năng khác như sao lưu dữ
liệu, mỗi một người sử dụng trên CSDL cho phép hay không cho phép tạo
các đối tượng như TABLE, VIEW, STORED PROCEDURE, RULE… và
tạo CSDL.
Các quyền tạo đối tượng như sau:
CREAT DATABASE Tạo CSDL
CREAT TABLE Tạo bảng
CREAT VIEW Tạo View
CREAT PROCEDURE Tạo thủ tục
CREAT RULE Tạo 1 số qui tắc chung
CREAT DEFAULT Tạo 1 số giá trị mặc nhiên
BACKUP DATABASE Thực hiện backup dữ liệu
BACKUP LOG Thực hiện log dữ liệu
Để phân các quyền trên cho phép người dùng trong SQL Server 2000, ta có
2 cách, sử dụng thủ tục hệ thống và trình điều khiển EM.
20
Phân tích ứng dụng bảo mật trong SQL Server
5.1.Sử dụng thủ tục
Sử dụng thủ tục hệ thống GRANT có cú pháp sau:
GRANT <ALL | statement [,…n] > TO <login ID> [,…n]
Nếu một người sử dụng không có quyền tạo bảng, kết quả tả về là thông báo
không cho phép thực hiện phát biểu tạo bảng như ví dụ sau:

USE account
CREAT TABLE tblTest
(
a int,
b int
)
Kết quả trả về như sau:
Server: Msg 262, Level 14, State 1, Line 1
CREAT TABLE permission denied, database ‘account’, owner ‘dbo’.
Sau khi phân quyền tạo TABLE cho người dùng mya như ví dụ sau:
USE account
GRANT CREAT TABLE TO [mya]
GO
CREAT TABLE tblTest
(
a int,
21
Phân tích ứng dụng bảo mật trong SQL Server
b int
)
Kết quả trả về như sau:
The command(s) completed successfully.
The command(s) completed successfully.
Để loại các quyền trên của người sử dụng, ta cần phải sử dụng các thủ tục
của hệ thống DENY và REVOKE như phần trên.
5.2.Sử dụng trình điều khiển EM
Nếu sử dụng EM để phân quyền tạo các đối tượng của CSDL hiện hành, tực
hiện theo các bước tuần tự như sau:
- Chọn tên CSDL
- Nhấp phải, chọn Properties

- Chọn Tab Permission
- Cho phép (check on) hay không (check off) các quyền trên cho mỗi
người sử dụng
- Cột bên trái User/Role là danh sách các người sử dụng
- Bên trên là các quyền Create Table, Create View…
22
Phân tích ứng dụng bảo mật trong SQL Server
23
Phân tích ứng dụng bảo mật trong SQL Server


6.Quản lí vai trò:
Vai trò là rất quan trọng bởi chúng là cách chính để cấp các quyền hệ thống
cho người dùng. Các quyền có thể được cấp cho người dùng qua vai trò hoặc
trực tiếp, nhưng dùng vai trò có thuận lợi là qua việc tạo những vai trò cho
những dạng người dùng nhất định và cấp quyền hệ thống cho vai trò đó, ta
có thể giam lượng công việc và có 1 cách dễ dàng hơn để kiểm soát các
quyền. 1 vai trò có thể hiểu gần giống với nhóm(group) trong NT. Ta có thể
gán các quyền cho vai trò hoăc cho cá nhân 1 người dùng. Nếu ta gán quyền
24
Phân tích ứng dụng bảo mật trong SQL Server
cho 1 vai trò, mọi người dùng được đưa vào vai trò đó sẽ được hương quyền
đó. Vì thế vai trò là 1 công cụ mạnh để ta đưa những người dùng vào 1 đơn
vị để cấp các quyền.
Rất dễ để quản lí các quyền trong 1 CSDL nếu ta định nghĩa nhóm các vai
trò dựa trên nhiệm vụ chức năng và gán cho mỗi vai trò các quyền tương
ứng với nhiệm vụ. Sau đó ta chỉ cần chuyển người dùng giữa các vai trò thay
vì phải quản lí các quyền cho cá nhân mỗi người sử dụng. Nếu chức năng
của 1 nhiệm vụ thay đổi, sẽ dễ dàng hơn nếu chỉ thay đổi quyền 1 lần cho
vai trò và tự động áp dụng thay đổi đó với tất cả các thành viên của vai trò

đó.
SQL Server có các vai trò trên server và các vai trò trên CSDL. Vai trò trên
CSDL (database role) dùng để cấp các mức khác nhau khi truy cập CSDL.
Vai trò trên server (Server role) dùng để ngăn cản hoặc cho phép con người
thực hiện các họat động.
6.1.Vai trò trên CSDL:
Có 1 vai trò trên CSDL rất đặc biệt : vai trò Public. Mỗi người dùng được
định nghĩa trong CSDL đều thuộc về vai trò Public. Nếu ta muốn mọi người
trong 1 CSDL có 1 quyền nào đấy, ta phải gán quyền đó với vai trò public.
Nếu 1 người dùng chưa được cấp quyền trên 1 đối tượng, người đó sẽ dùng
các quyền gán cho public. Vai trò Public hầu như không có quyền nào ngoại
trừ 1 quyền rất cơ bản là cho phép người dùng kết nối với CSDL. Vai trò này
có 1 số điều cơ bản:
- Nó ở trong mọi CSDL
- Nó không thể bị loại bỏ
- Mọi người dùng đều thuộc vai trò Public, kể cả tài khoản sa
25

×