LOGO Chương 7 Chương 7 BẢO MẬT TRONG SQL BẢO MẬT TRONG SQL KHOA CÔNG NGHỆ THÔNG TIN
Jan 02, 2016
LOGO
Chương 7Chương 7BẢO MẬT TRONG SQLBẢO MẬT TRONG SQL
KHOA CÔNG NGHỆ THÔNG TIN
I. THAY ĐỔI CHẾ ĐỘ CHỨNG THỰC CỦA WINDOWS
Có hai chế độ xác thực–Windows Authentication: không cần tài khoản và mật khẩu–Mixed mode: có thể đăng nhập ở hai chế độ có hoặc không
tài khoản.•Thực hiện cấu hình lúc Cài đặt: - Đảm bảo đầy đủ các quyền với SQL - Tài khoản đăng nhập là SA (SysAdmin): tài khoản toàn quyền
làm việc với tất cả các đối tượng và các lệnh SQL• Thay đổi sau khi đã cài đặt:
Ví dụ: Đăng nhập SQL Server bằng tài khoản Sa với mật khẩu Sa123.
(Đây là tài khoản có đầy đủ các quyền)
Thay đổi chế độ chứng thực
Khởi động lại services
II. TẠO MỚI LOGIN VÀ USER
1. Khái niệm login và users Login: Là tài khoản mà người sử dụng dùng để kết nối với
SQL Server –Một login có thể có quyền truy cập 0-n database –Trong mỗi database, một login sẽ ứng với một user
User: Là người sử dụng cơ sở dữ liệu, 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,...
Role: Nhóm các user/login
2. Các Role trong DatabaseCác quyền của role (Login+user)
Ví dụ: Tạo một tài khoản Login tên là Dao, password: dao123, có quyền Role là db_owner.
-Mở Tên Server
-Mở Securty
-Mở Login: Kích phải tại Login\NewLogin
3. Thay đổi quyền cho Login
III. CẤP VÀ PHÁT QUYỀN CHO USER
1. Các loại cấp phát quyền cho User - Cấp phát quyền cho người dùng trên các đối
tượng Database: là các quyền đọc/ ghi trên table/view,
thực hiện thủ tục,… cụ thể: là các quyền
SELECT, INSERT, DELETE, UPDATE, EXEC, …- Cấp phát quyền cho người dùng thực thi các câu lệnh: là cấp phát quyền thực thi các câu lệnh: create database | create table | create view | create rule | create procedure | backup database | …
2. Một số thao tác cấp phát quyền cho User
Ví dụ: Tạo các quyền cho người dùng như sau:
Tên Login
Password Tên CSDL
Tên User
Các quyền user
Database Table
DungAL Dung123 QLSV Dung Grant Select, Deny Insert, Deny Delete, Deny Update
Deny Select (DiemMH)
Daohta Dao123 QLSV Dao Grant SelectGrant InsertGrant Update
Deny Select (DiemHP)Deny Update (DiemHP)
Grant: có quyền
Deny: Không có quyền (cấm)
B1. Tạo Login
B2. Tạo User mới với quyền
B4. Khởi động lại Services
B5. Đặng nhập với tài khoản mới
IV. CẤP PHÁT QUYỀN CHO USER (bằng lệnh)
1. Lệnh tạo Login mớiLogin sp_addLogin [ @loginame = ] ‘login_name’ [ , [ @passwd = ] 'password' ] [ , [ @defdb = ]‘default_database’ ]
Lệnh tạo User mới cho LoginCú pháp :
Create user user_name For | From Login login_name
Ví dụ: Exec Login sp_addlogin ‘Dao’,’123456’,’QLSV’Ví dụ : Create user dev01 for login DaoCreate user dev02 from login Dao
•Xóa user : –Cú pháp: drop user user_name –Ví dụ: drop user dev01 15
2. Cấp phát quyền cho người dùng trên các đối tượng Database:Các quyền đọc/ ghi trên table/view, thực hiện thủ tục,… GRANT ALL [PRIVILEGES]| [(danh_sách_cột)] ON tên_bảng | tên_khung_nhìn |ON tên_bảng | tên_khung_nhìn [(danh_sách_cột)] |ON tên_thủ_tục |ON tên_hàm | các_quyền_cấp_phát TO danh_sách_người_dùng | nhóm_người_dùng [WITH GRANT OPTION ]
3. Cấp phát quyền cho người dùng thực thi các câu lệnh:
Cấp phát quyền thực thi các câu lệnh: create database | create table | create view | create rule | create procedure | backup database | …
Cú pháp:GRANT { ALL|<Danh sách câu lệnh} TO Tên User | Nhóm User [,...n]
Ví dụ: Cấp phát quyền Tạo Table, Tạo View cho người dùng Tên
DaoGRANT CREATE TABLE, CREATE VIEW TO Anhdao
Bài tập
STT Tên Login Password Tên CSDL
1 Doannv Doan123 QLSV
2 Nhungpt Nhung123 QLSV
3 Dungnv Dung123 QLSV
4 Hungnv Hung123 QLSV
1. Thay đổi chế độ chứng thực: Mixed mode
2. Thay đổi mật khẩu cho tài khoản SA là Dung123
3. Tạo tài khoản tên Admin2, mật khẩu là Ad123, có quyền Role là db_DataWriter, db_DataReader.
4. Tạo danh sách các tài khoản sau
Bài 5. Phân quyền cho các User tương ứng với các tài khoản ở câu 4.
TTTên Login Quyền login
Quyền user
Database Table Column
1 Doannv Full Permission
2 Nhungpt BackUp Operater
+ BackUp +BackUp Log+Select
3 Dungnv PublicDb_DataReaderDb_DataWrtier
+Connect+BackUp+Select
- Select DIEMTHI
DiemMH
4 Hungnv PublicDb_ownerDb_ddladmin
+Connect+Alter Any User+Select+Create Funtion+Create Procedure+Create Table
All Table AllColumn