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 = ] <'Têndangnhap'>
[,@password =] <'pass'>, [,@defdb =] <'TênCSDL'>
[ , @deflanguage = ] <'Ngônngữ'>
[ , @sid =] <'Mã nhận dạng Login'>
[ ,@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 <Tên_login>
WITH PASSWORD = <‘Pass’>,
DEFAULT_DATABASE = <TÊN_DB>
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
Tải về để xem bản đầy đủ
Bạn đang xem 20 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
File đính kèm:
bai_giang_he_quan_tri_co_so_du_lieu_sql_server_chuong_5_bao.pdf

