intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 9 - Lê Thị Minh Nguyện

Chia sẻ: Phong Phong | Ngày: | Loại File: PDF | Số trang:9

61
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng cung cấp cho người học các kiến thức: Khái niệm, phân loại sự cố, các cơ chế an toàn dữ liệu, kiểm soát quyền truy cập CSDL, phân quyền, quản lý quyền người dùng, quản lý phân quyền, khung nhìn (view) như các cơ chế bảo vệ,...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 9 - Lê Thị Minh Nguyện

8/25/2017<br /> <br /> Nội dung<br /> 1.<br /> 2.<br /> 3.<br /> 4.<br /> 5.<br /> 6.<br /> 7.<br /> 8.<br /> 9.<br /> <br /> Chương 9.<br /> An toàn dữ liệu<br /> GV: Lê Thị Minh Nguyện<br /> Email: nguyenltm@huflit.edu.vn<br /> <br /> Khái niệm<br /> Phân loại sự cố<br /> Các cơ chế an toàn dữ liệu<br /> Kiểm soát quyền truy cập CSDL<br /> Phân quyền<br /> Quản lý quyền người dùng<br /> Quản lý phân quyền<br /> Khung nhìn (view) như các cơ chế bảo vệ<br /> Mã hóa dữ liệu<br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 1. Khái niệm<br /> <br /> 2<br /> <br /> 3. Các cơ chế an toàn dữ liệu<br /> <br /> • An toàn dữ liệu: nhằm chống lại sự xâm nhập trái phép từ bên<br /> trong và bên ngoài hệ thống. Các tác nhân tác động từ bên ngoài<br /> gây hư hỏng hệ quản trị cơ sở dữ liệu, sai lệch, mất mát dữ liệu,<br /> cấu trúc dữ liệu,…<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 3<br /> <br /> 3.1. Cơ chế chứng thực<br /> 3.2. Cơ chế phân quyền<br /> 3.3. Cơ chế mã hóa<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 4<br /> <br /> 1<br /> <br /> 8/25/2017<br /> <br /> 3.1. Cơ chế chứng thực<br /> <br /> 3.1. Cơ chế chứng thực<br /> <br /> • Hai chế độ chứng thực<br /> <br /> • Sửa đổi chứng thực<br /> <br /> • Mixed security Mode: Kết nối với<br /> SQL server bằng cách dùng<br /> Windows Authentication hoặc SQL<br /> server Authentication<br /> • Windows authentication mode:<br /> Chỉ có thể kết nối với SQL server<br /> bằng Windows Authentication<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 5<br /> <br /> 3.2. Cơ chế phân quyền<br /> <br /> 6<br /> <br /> 3.3. Cơ chế mã hóa<br /> • Mã hóa những dữ liệu nhạy cảm như: ???<br /> • Các kỹ thuật mã hóa<br /> <br /> 1. Quyền chứng thực<br /> <br /> •<br /> •<br /> •<br /> •<br /> <br /> 2. Quyền người sử dụng sử dụng 1 hoặc nhiều CSDL<br /> 3. Các quyền cụ thể sử dụng bảo vệ CSDL<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 7<br /> <br /> Mã hóa bằng mật khẩu<br /> Mã hóa đối xứng<br /> Mã hóa bất đối xứng<br /> Mã hóa chứng nhận<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 8<br /> <br /> 2<br /> <br /> 8/25/2017<br /> <br /> 4. Kiểm soát quyền truy cập CSDL<br /> <br /> 4. Kiểm soát quyền truy cập CSDL (tt)<br /> <br /> Xét cơ sở dữ liệu bán hang gồm các table PhongBan,<br /> SanPham, DonHang, CTDonHang, KhachHang, ChiNhanh và<br /> bảng NhanVien(MaNV, HoLot,<br /> TenNV, NgayVaoLam,<br /> MaNQL, MaPB, Luong, HoaHong). Khi đó, mỗi phát biểu sau<br /> chỉ ra một mức độ truy cập tới CSDL trên và có thể được<br /> trao cho một nhóm user:<br /> <br /> (1)User được phép truy xuất không điều kiện tới toàn bộ CSDL và<br /> thực hiện bất kỳ thao tác nào trên CSDL đó.<br /> (2)User không được phép truy xuất tới bất kỳ bộ phận nào của CSDL<br /> (3)User có thể đọc một bộ phận của CSDL nhưng không được thay<br /> đổi nội dung của bộ phận đó.<br /> (4) User có thể đọc đúng một bộ trong bảng NhanVien nhưng không<br /> được sửa đổi bộ này.<br /> (5)User có thể đọc đúng một bộ trong bảng NhanVien và sửa đổi<br /> nhưng không phải tất cả giá trị của bộ này<br /> (6)User có thể đọc các thuộc tính MaNV, TenNV, MaPB nhưng trong<br /> mỗi bộ chỉ được sửa giá trị của các thuộc tính MaPB<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 9<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 4. Kiểm soát quyền truy cập CSDL (tt)<br /> <br /> 4. Kiểm soát quyền truy cập CSDL (tt)<br /> <br /> (7) User có thể áp dụng các phép toán thống kê cho thuộc tính<br /> Luong (như tính lương trung bình của từng phòng ban) nhưng<br /> không được đọc hay sửa đổi các giá trị cá biệt.<br /> (8) User có thể đọc các thuộc tính MaNV, Luong, HoaHong và<br /> trong mỗi bộ có thể sửa giá trị của thuộc tính HoaHong của<br /> nhân viên nếu và chỉ nếu người đó là trưởng phòng của phòng<br /> đó.<br /> (9) User có thể bổ sung thêm nhân viên vào một phòng ban nào<br /> đó hay xóa nhân viên khỏi một phòng nào đó.<br /> <br /> User có thể được cấp một số quyền truy cập sau:<br /> • Quyền đọc dữ liệu<br /> • Quyền thêm dữ liệu<br /> • Quyền sửa dữ liệu<br /> • Quyền xóa dữ liệu<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 11<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 10<br /> <br /> 12<br /> <br /> 3<br /> <br /> 8/25/2017<br /> <br /> 5. Phân quyền (Cấp quyền cho người dùng)<br /> <br /> Bước 1. Tạo tài khoản đăng nhập<br /> <br /> Bước 1. Tạo tài khoản đăng nhập<br /> <br /> • Cách 1:<br /> create login tên_login with password = 'nhập_mật_khẩu'<br /> <br /> Bước 2. Tạo người dùng<br /> Bước 3. Cấp quyền cho người dùng<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> • Cách 2:<br /> sp_addlogin 'tên_login','mật_khẩu'<br /> <br /> 13<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> Bước 2. Tạo người dùng<br /> <br /> Bước 3. Cấp quyền cho người dùng<br /> <br /> • Cách 1:<br /> create user tên_user for login tên_login<br /> <br /> grant danh_sách_quyền on tên_bảng to tên_user<br /> [with grant option]<br /> Tuỳ chọn [with grant option] được sử dụng để cho phép người<br /> dùng được phép cấp lại những quyền của mình cho người dùng<br /> khác.<br /> <br /> • Cách 2:<br /> sp_adduser 'tên_login','tên_user'<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 14<br /> <br /> 15<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 16<br /> <br /> 4<br /> <br /> 8/25/2017<br /> <br /> 5. Phân quyền (tt)<br /> <br /> 6. Quản lý quyền người dùng<br /> <br /> • Tình huống: Cấp quyền xem và thêm dữ liệu trên bảng<br /> MatHang cho người dùng huynhsuhuynh.<br /> • Các bước thực hiện:<br /> • Bước 1: Tạo tài khoản đăng nhập<br /> create login huynhsuhuynh with password = ‘abc123’<br /> • Bước 2: Tạo người dùng<br /> create user huynhsuhuynh for login huynhsuhuynh<br /> • Bước 3: Cấp quyền<br /> grant select,insert on MatHang to huynhsuhuynh<br /> <br /> • Sau khi cấp Login account để truy cập vào SQL Server bạn<br /> cần cấp cho Login account này quyền là một user truy cập<br /> một/ nhiều Database.<br /> • SQL Server lưu các user của Database trong table<br /> sysusers.<br /> • Một Login account có thể trở thành user của nhiều<br /> Database với những quyền hạn và mang nhiều user name<br /> khác nhau. Mặc định user name trùng tên với Login<br /> account.<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 17<br /> <br /> 6. Quản lý quyền người dùng (tt)<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 18<br /> <br /> 7. Quản lý phân quyền<br /> • Kiểm soát user có thể làm được gì trên database bằng sử dụng:<br /> <br /> • Hai User đặc biệt:<br /> <br /> • Các Database role<br /> • Cấp quyền cho user thao tác trên object và statement<br /> <br /> • dbo: một user có tất cả các quyền trên Database.<br /> • guest user: Một Login account truy xuất đến một instance của<br /> <br /> SQL Server, nhưng không có user account để truy xuất 1<br /> Database cụ thể, thì có thể được truy xuất đến Database như<br /> một người khách (guest user)<br /> <br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 19<br /> <br /> • Các cơ chế cấp quyền:<br /> • Dùng login account được tạo sẵn bởi hệ thống và được gán role<br /> default như: sa được gán sysadmin<br /> • Chỉ định 1 login account là user của một Database: mặc định có<br /> quyền thuộc public database role.<br /> • Sử dụng role: Sysadmin bao trùm db_ower<br /> • Sử dụng các lệnh cấp quyền cho user thao tác trên object và<br /> statement như grant, deny, revoke<br /> Hệ quản trị Cơ sở dữ liệu<br /> <br /> 20<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1