24
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

Chương 7 BẢO MẬT TRONG SQL

Embed Size (px)

DESCRIPTION

KHOA CÔNG NGHỆ THÔNG TIN. Chương 7 BẢO MẬT TRONG SQL. 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: - PowerPoint PPT Presentation

Citation preview

Page 1: Chương 7 BẢO MẬT TRONG SQL

LOGO

Chương 7Chương 7BẢO MẬT TRONG SQLBẢO MẬT TRONG SQL

KHOA CÔNG NGHỆ THÔNG TIN

Page 2: Chương 7 BẢO MẬT TRONG SQL

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)

Page 3: Chương 7 BẢO MẬT TRONG SQL
Page 4: Chương 7 BẢO MẬT TRONG SQL
Page 5: Chương 7 BẢO MẬT TRONG SQL

Thay đổi chế độ chứng thực

Page 6: Chương 7 BẢO MẬT TRONG SQL

Khởi động lại services

Page 7: Chương 7 BẢO MẬT TRONG SQL

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

Page 8: Chương 7 BẢO MẬT TRONG SQL

2. Các Role trong DatabaseCác quyền của role (Login+user)

Page 9: Chương 7 BẢO MẬT TRONG SQL

Ví dụ: Tạo một tài khoản Login tên là Dao, password: dao123, có quyền Role là db_owner.

Page 10: Chương 7 BẢO MẬT TRONG SQL

-Mở Tên Server

-Mở Securty

-Mở Login: Kích phải tại Login\NewLogin

Page 11: Chương 7 BẢO MẬT TRONG SQL
Page 12: Chương 7 BẢO MẬT TRONG SQL

3. Thay đổi quyền cho Login

Page 13: Chương 7 BẢO MẬT TRONG SQL

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

Page 14: Chương 7 BẢO MẬT TRONG SQL

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)

Page 15: Chương 7 BẢO MẬT TRONG SQL

B1. Tạo Login

Page 16: Chương 7 BẢO MẬT TRONG SQL

B2. Tạo User mới với quyền

Page 17: Chương 7 BẢO MẬT TRONG SQL
Page 18: Chương 7 BẢO MẬT TRONG SQL
Page 19: Chương 7 BẢO MẬT TRONG SQL

B4. Khởi động lại Services

B5. Đặng nhập với tài khoản mới

Page 20: Chương 7 BẢO MẬT TRONG SQL

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

Page 21: Chương 7 BẢO MẬT TRONG SQL

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 ]

Page 22: Chương 7 BẢO MẬT TRONG SQL

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

Page 23: Chương 7 BẢO MẬT TRONG SQL

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

Page 24: Chương 7 BẢO MẬT TRONG SQL

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