250 likes | 501 Views
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:
E N D
KHOA CÔNG NGHỆ THÔNG TIN Chương 7BẢ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)
II. TẠO MỚI LOGIN VÀ USER 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 Database Cá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
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: Grant: có quyền Deny: Không có quyền (cấm)
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ới Login sp_addLogin [ @loginame = ] ‘login_name’ [ , [ @passwd = ] 'password' ] [ , [ @defdb = ]‘default_database’ ] Lệnh tạo User mới cho Login Cú 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 Dao Create 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 TOdanh_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 Dao GRANT CREATE TABLE, CREATE VIEW TO Anhdao
Bài tập • Thay đổi chế độ chứng thực: Mixed mode • Thay đổi mật khẩu cho tài khoản SA là Dung123 • Tạo tài khoản tên Admin2, mật khẩu là Ad123, có quyền Role là db_DataWriter, db_DataReader. • 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.