Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung

1/ Khái niệm

Mỗi CSDL có 1 hay nhiều users được chỉ định

quyền truy xuất dữ liệu. Người quản trị có thể cấp

quyền truy xuất CSDL bằng cách tạo một tài khoản

(user) đăng nhập (login) và gán quyền cho user

trên CSDL. Các quyền:

- Cấp phát quyền truy cập vào CSDL;

- Cấp phát quyền sử dụng các câu lệnh, các đối

tượng CSDL;

- Thu hồi quyền của người dùng.

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 1

Trang 1

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 2

Trang 2

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 3

Trang 3

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 4

Trang 4

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 5

Trang 5

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 6

Trang 6

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 7

Trang 7

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 8

Trang 8

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 9

Trang 9

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 24 trang xuanhieu 6580
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung

Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 5: Bảo mật và phân quyền - Nguyễn Thị Mỹ Dung
GVPT: NGUYỄN THỊ MỸ DUNG 
 SỐ TC: 2 
 SỐ TIẾT: LT: 20; TH: 20 
 Biên soạn: Nguyễn Thị Mỹ Dung 1 
 Chương 1: Tổng quan về SQL Server (LT: 2) 
 Chương 2: Tạo và quản trị CSDL (LT: 6; TH: 6) 
 Chương 3: Transact-SQL và truy vấn dữ liệu 
(LT: 6: TH: 8) 
 Chương 4: Lập trình với Transact-SQL (LT: 4: 
TH: 4) 
 Chương 5: Bảo Mật và Phân Quyền (LT: 2; 
TH: 2) 
 Chương 6: Kết nối CSDL (Tự học) 
 Biên soạn: Nguyễn Thị Mỹ Dung 2 
I. Giới thiệu 
II. Login, User Account, User Roles 
III. Kế hoạch phân quyền và bảo mật 
IV. Kết nối CSDL 
 Biên soạn: Nguyễn Thị Mỹ Dung 3 
 1/ Khái niệm 
 Mỗi CSDL có 1 hay nhiều users được chỉ định 
quyền truy xuất dữ liệu. Người quản trị có thể cấp 
quyền truy xuất CSDL bằng cách tạo một tài khoản 
(user) đăng nhập (login) và gán quyền cho user 
trên CSDL. Các quyền: 
 - Cấp phát quyền truy cập vào CSDL; 
 - Cấp phát quyền sử dụng các câu lệnh, các đối 
tượng CSDL; 
 - Thu hồi quyền của người dùng. 
 Biên soạn: Nguyễn Thị Mỹ Dung 4 
 2/ Các thành phần trong bảo mật CSDL 
 - Người dùng cơ sở dữ liệu (Database user): 
thực thi các thao tác trên cơ sở dữ liệu như tạo 
bảng, truy xuất dữ liệu,... Mỗi một người dùng 
được xác định thông qua tên người dùng (User ID) 
hoặc nhóm người dùng (User Group). 
 - Các đối tượng cơ sở dữ liệu (Database 
objects): bảng, khung nhìn, thủ tục, hàm được gọi 
là các đối tượng cơ sở dữ liệu. 
 - Đặc quyền (Privileges): Là tập những thao 
tác được cấp phát cho người dùng trên các đối 
tượng cơ sở dữ liệu. 
 Biên soạn: Nguyễn Thị Mỹ Dung 5 
 1/ Login và user 
 SQL Server cho phép truy nhập vào hệ thống thông 
qua các login. Chỉ khi có quyền ở mức độ nhất định 
bạn mới có thể tạo thêm login. 
 - Login: tên hệ thống (duy nhất) được SQL Server 
cấp phép truy cập hệ thống. 
 - User: tên gắn với 1 login name cụ thể được SQL 
cấp phép truy xuất 1 DB xác định. 
 Như vậy: 
 - Một login name có nhiều user, một user được tạo 
ở DB nào thì chỉ được phép truy xuất DB đó. 
 - Để tạo nhiều user phải tạo LOGIN NAME trước, 
sau đó mở DB tương ứng và lần lượt tạo từng USER. 
 Biên soạn: Nguyễn Thị Mỹ Dung 6 
 2/ Authentication 
 SQL Server xác thực các đăng nhập bằng hai cơ 
chế: windows authentication, SQL Server authentica-
tion. 
 - Nếu chọn windows..., bạn cần cung cấp một 
windows account và SQL Server sẽ chỉ lưu tên của 
account đó trong danh sách login. 
 - Nếu chọn SQL Server..., bạn cần cung cấp login 
name và password và cả hai đều được lưu trong SQL 
Server. 
 Lưu ý: login sử dụng windows authentication, SQL 
Server chỉ lưu login name, không lưu password và khi 
đăng nhập, hệ thống sẽ không xác thực cho bạn. 
 Biên soạn: Nguyễn Thị Mỹ Dung 7 
 3/ Server role 
 Role thực chất là tập hợp một nhóm các quyền và 
đại diện bằng một tên để thuận tiện cho việc quản lý. 
Server role là nhóm các quyền ở mức server mà login 
được cấp sẽ có thể thực hiện một số thao tác nhất 
định ở mức server. 
 Login khi mới được tạo sẽ có role public, role này 
thực chất không có quyền gì ngoài quyền truy nhập 
vào server. 
 4/ Database role 
 DB tập hợp các quyền truy nhập vào DB thành từng 
nhóm để dễ tạo lập và sửa đổi. Khi user là role public, 
user chỉ có thể nhìn thấy tên database mà không có 
quyền gì khác. 
 Biên soạn: Nguyễn Thị Mỹ Dung 8 
 Phân chia quyền hạn quản trị và sử dụng Hệ 
quản trị CSDL SQL Server. 
 Hình thành theo cơ cấu 
  Người đăng nhập (login) 
  Người dùng (user) 
  Quyền hạn (permission) 
  Nhóm quyền (role) 
 Người đăng nhập được thể hiện là mỗi một 
người dùng với một số quyền hạn ứng với một dữ 
liệu. 
 Biên soạn: Nguyễn Thị Mỹ Dung 9 
 1. Đăng nhập (login) 
 a/ Tạo người đăng nhập 
 SP_ADDLOGIN [ @login = ] 
 [,@password =] , [,@defdb =] 
 [ , @deflanguage = ] 
 [ , @sid =] 
 [ ,@encriptopt = 'skip_encription' ]--mã hóa pass 
 [,] 
 VD: Tạo tài khoản tên USER01', mat khau ‘01' 
vào CSDL 'QLDeTaiSV‘ 
 SP_ADDLOGIN 'USER01','01','QLDETAISV' 
 Biên soạn: Nguyễn Thị Mỹ Dung 10 
Cách 2: 
CREATE LOGIN 
WITH PASSWORD = , 
DEFAULT_DATABASE = 
VD1: Tạo login USER02 
CREATE LOGIN USER02 
WITH PASSWORD = 'ABC', 
DEFAULT_DATABASE = QLDETAISV 
[,] 
 Biên soạn: Nguyễn Thị Mỹ Dung 11 
b/ Thay đổi người đăng nhập 
ALTER LOGIN { [ENABLE | DISABLE] | 
WITH {PASSWORD= ‘...’ | DEFAULT_DATABASE = ... } 
VD: 
 ALTER LOGIN [sa] DISABLE 
c/ Xóa người đăng nhập 
[EXEC] SP_DROPLOGIN ‘TÊN_LOGIN’ 
Hoặc: DROP LOGIN TÊN_LOGIN 
VD: 
DROP LOGIN USER01 
EXEC SP_DROPLOGIN USER02 
 Biên soạn: Nguyễn Thị Mỹ Dung 12 
2. Người dùng (User) 
a/ Tạo người dùng 
EXEC SP_ADDUSER ‘TÊN_LOGIN’, ’TÊN_USER’ 
 [ , ‘TÊN_ROLE’ ] 
CREATE USER TÊN_USER FOR TÊN_LOGIN 
VD: 
EXEC SP_ADDUSER [MDUNG], [HQTCSDL] 
CREATE USER [IN410501] FOR LOGIN [MDUNG] 
CREATE USER [IN410502] WITHOUT LOGIN 
 WITH DEFAULT_SCHEMA =[MDUNG] 
 Biên soạn: Nguyễn Thị Mỹ Dung 13 
b/ Xoá người dùng 
[EXEC] SP_DROPUSER ‘TÊN_USER’ 
DROP USER TÊN_USER 
VD: 
 DROP USER IN410501 
 EXEC SP_DROPUSER IN410502 
 Biên soạn: Nguyễn Thị Mỹ Dung 14 
3. Nhóm quyền hạn (Role) 
a/ Tạo quyền 
EXEC SP_ADDROLE TÊN_ROLE 
CREATE ROLE TÊN_ROLE 
VD: 
 EXEC SP_ADDROLE [QUANLY] 
 CREATE ROLE [NHANVIEN] 
b/ Xóa nhóm quyền 
EXEC SP_DROPROLE TÊN_ROLE 
DROP ROLE TÊN_ROLE 
 Biên soạn: Nguyễn Thị Mỹ Dung 15 
c/ Gắn người dùng với nhóm quyền 
EXEC SP_ADDROLEMEMBER TÊN_ROLE, 
 TÊN_USER 
VD: 
 EXEC SP_ADDROLEMEMBER 'QUANLY', 
 'IN410501' 
d/ Xóa người dùng với nhóm quyền 
EXEC SP_DROPROLEMEMBER TÊN_ROLE , 
 TÊN_USER’ 
VD: 
 EXEC SP_DROPROLEMEMBER 'QUANLY', 
 'IN410501' 
 Biên soạn: Nguyễn Thị Mỹ Dung 16 
Biên soạn: Nguyễn Thị Mỹ Dung 17 
 4. Cấp quyền (Permission) 
 a/ Gán quyền 
 GRANT {ALL | PERMISSION} 
 ON TABLE [(COLUMN [,...N])] 
 TO { USER | ROLE [,... N] } 
 [ WITH GRANT OPTION ] 
 with grant option : được phép gán lại quyền mà 
mình có cho người khác. 
 VD1: 
 GRANT SELECT ON DETAI TO QUANLY 
 Biên soạn: Nguyễn Thị Mỹ Dung 18 
VD2: 
GRANT SELECT --INSERT | UPDATE | DELETE 
 | REFERENCES | EXECUTE 
ON SINHVIEN -- DETAI | SV_DT 
TO IN410501 -- PUBLIC| MDUNG | sa 
 Biên soạn: Nguyễn Thị Mỹ Dung 19 
 b/ Xóa quyền hạn 
 REVOKE [Grant Option For] {ALL| PERMISSION} 
 ON TABLE[ (COLUMN [,...N])] 
 TO { USER | ROLE [,... N] } 
 [ CASCADE ] 
 - grant option for : bỏ tính năng cấp lại quyền 
cho người khác (quyền vẫn được giữ lại). 
 - cascade: bỏ tất cả các quyền (ở các kế thừa). 
 VD: 
 REVOKE SELECT ON SINHVIEN TO 
 IN410501 
 REVOKE CREATE TABLE FROM MDUNG 
 Biên soạn: Nguyễn Thị Mỹ Dung 20 
 5. Thay đổi mật khẩu 
 SP_PASSWORD [ @old = ] 
 [ , @new = ] 
 [ , @LoginName = ] 
 VD: Thay đổi mật khẩu ‘USER01’ từ ‘01’ thành 
‘SS’ 
 SP_PASSWORD '01','SS','USER01' 
 Biên soạn: Nguyễn Thị Mỹ Dung 21 
 6 Cấp quyền truy xuất CSDL hiện tại cho 
Login: 
 Sp_GrantDBAccess [ @loginname = ] 
 'Têndangnhap' 
 [ [, @name_in_db = ] 'TênUser' ] 
 VD: 
 Use QLDeTai 
 Go 
 sp_GrantDBAccess 'user01', 'Anh' 
 Biên soạn: Nguyễn Thị Mỹ Dung 22 
Sinh viên tự học 
 Biên soạn: Nguyễn Thị Mỹ Dung 23 
 - Tổng quan về bảo mật 
 - Các khái niệm liên quan phân quyền và bảo 
mật 
 - Kế hoạch phân quyền: 
 + Tạo Login 
 + Tạo User 
 + Tạo Role 
 + Thay đổi mật khẩu login hoặc user 
 + Cấp phát/thu hồi quyền truy cập CSDL cho 
user. 
 Biên soạn: Nguyễn Thị Mỹ Dung 24 

File đính kèm:

  • pdfbai_giang_he_quan_tri_co_so_du_lieu_sql_server_chuong_5_bao.pdf