Bài 4
Quản lý User và Security
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 2 trong 26
Nhắc lại
Nhắc lại về Transaction và Lock:
Transactions
Property, classification, isolation và isolation
level của transaction
Locks và database deadlock
Giải quyết các deadlock.
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 3 trong 26
Mục tiêu
Mô tả tính bảo mật của SQL Server
Các chế độ đăng nhập(login) của SQL Server
Sử dụng T-SQL để quản lý login
Diễn tả các khái niệm về database user
Sử dụng system stored procedure để quản lý database
user
Diễn tả các khái niệm về database role
Sử dụng system stored procedure để quản lý role
Diễn tả khái niệm permission
Diễn tả cách thực thi một authorization đơn giản
Diễn tả cách lấy lại các permission trên các đối tượng
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 4 trong 26
Giới thiệu về bảo mật của
SQL Server
1. Authentication
2. Khả năng cho phép truy nhập
CSDL
3.Chỉ ra các cho phép trên cáci
tượng của CSDL
Mô hình bảo mật 3 mức
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 5 trong 26
Quản lý Login
SQL Server kiểm tra user ở
hai mức độ:
Login authentication
Kiểm tra các cho phép trên
user database.
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 6 trong 26
Login Authentication
Có 3 cách sử dụng login
authentication trong SQL
Server:
SQL Server Authentication
Windows NT Authentication
Mixed Mode Authentication
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 7 trong 26
Tạo các login sử dụng
Enterprise Manager
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 8 trong 26
Những Stored procedure
để thêm và xóa các login
Để tạo một login, chúng ta có thể sử dụng câu lệnh
sau:
EXEC sp_addlogin 'Arwen', 'princess'
Để xóa một login khi không cần thiết chúng ta có
thể viết như sau:
EXEC sp_droplogin 'Arwen'
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 9 trong 26
Quản lý User
Một user identifier (ID) xác định một user
trong database.
Các database user account là duy nhất
trong mỗi database.
User IDs được định nghĩa bởi thành viên
của db_owner fixed database role.
Một user trong database được nhận dạng
bởi user ID, chứ không phải là login ID.
Bản thân các login ID không cung cấp
quyền truy nhập đến các đối tượng trong
các database.
Thiết kế CSDL và thực thi với SQL Server 2000 / Bài 4 / 10 trong 26
Ví dụ
Ví dụ dưới đây chỉ ra cách gắn một Windows 2000 account
với một login và cách gán quyền truy nhập:
USE master
GO
sp_grantlogin 'OnlineDOMAIN\Arwen'
GO
sp_defaultdb @loginame =
'OnlineDOMAIN\Arwen', defdb = 'books'
GO
USE books
GO
sp_grantdbaccess 'OnlineDOMAIN\Arwen',
'Arwen'
GO