Bài giảng Phân quyền trong SQL Server
Sự phân chia khả năng quản trị và sử dụng
hệ quản trị cơ sở dữ liệu 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. 2
PHÂN QUYỀN TRONG SQL SERVER Phan Hiền 1 GIỚI THIỆU Sự phân chia khả năng quản trị và sử dụng hệ quản trị cơ sở dữ liệu 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. 2 GIỚI THIỆU 1 2 3 4 R1 R2 Login SQL Service User & Permission & Role Database Log in SQL Server P 3 ĐĂNG NHẬP (LOGIN) Tạo người đăng nhập exec sp_addlogin ‘tên_login’ , ‘mật_khẩu’ [, ‘dữ_liệu’] create login tên_login with password = ‘mật_khẩu’ [, default_database = dữ_liệu ] 4 ĐĂNG NHẬP (LOGIN) Xóa người đăng nhập exec sp_droplogin ‘tên_login’ drop login tên_login Thay đổi người đăng nhập alter login { [enable | disable] | with { password = ‘…’ | default_database = … } } 5 NGƯỜI DÙNG (USER) Tạo người dùng cho từng dữ liệu exec sp_adduser ‘tên_login’ , ’tên_user’ [ , ‘tên_role’ ] create user tên_user for tên_login Xóa người dùng exec sp_dropuser ‘tên_user’ drop user tên_user 6 NHÓM QUYỀN (ROLE) Tạo nhóm quyền exec sp_addrole ‘tên_role’ create role tên_user Xóa nhóm quyền exec sp_droprole ‘tên_role’ drop role tên_role 7 NGƯỜI DÙNG & NHÓM QUYỀN Gắn người dùng với nhóm quyền exec sp_addrolemember ‘tên_role’ , ‘tên_user’ Xóa nhóm quyền exec sp_droprolemember ‘tên_role’ , ‘tên_user’ 8 QUYỀN HẠN (PERMISSION) Tạo quyền hạ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. 9 QUYỀN HẠN (PERMISSION) 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) 10 VÍ DỤ Đăng nhập ‘sa’ Exec sp_addlogin ‘u1’, ‘123’ Exec sp_addlogin ‘u2’, ‘123’ Exec sp_adduser ‘u1’, ‘u1’ Exec sp_adduser ‘u2’, ‘u2’ Grant select on sinhvien to u1 with grant option u1 có quyền dùng 2 lệnh - Select * from sinhvien - Grant select on sinhvien to u2 [with grant option]11 VÍ DỤ Đăng nhập với ‘u1’ Grant select on sinhvien to u2 with grant option Vậy u2 có quyền select và grant. Đăng nhập với ‘sa’ Revoke select on sinhvien to u1 cascade Xóa hết quyền select và grant ở u1 và cả u2 Revoke grant option for select on sinhvien to u1 cascade Xóa quyền grant ở u1 và quyền select và grant ở u2 12
File đính kèm:
- Bài giảng Phân quyền trong SQL Server.pdf