Saturday, April 2, 2016

Phục hồ dữ liệu và An toàn dữ liệu PHẦN 2 AN TOÀN DỮ LIỆU

Thu hồi quyền không dây chuyền (Noncascading revoke) • Khi A thu hồi quyền truy xuất trên B thì tất cả quyền truy xuất mà B đã cấp cho chủ thể khác được thay bằng A đã cấp cho những chủ thể này. 21 Thu hồi quyền không dây chuyền Chú ý: • Bởi vì B được cấp quyền truy xuất trên đối tượng từ nhiều chủ thể (khác A), nên không phải tất cả các quyền mà B cấp đều thay bằng A cấp. Và A được xem là người cấp thay cho B khi B sử dụng quyền A đã cấp cho mình cấp cho những chủ thể khác. • A sẽ là người cấp các quyền mà B đã cấp sau khi nhận quyền đó từ A có chỉ định WITH GRANT OPTION. Với những quyền B đã được cấp bởi C ≠ A, đến lượt B cấp cho người khác thì B vẫn là người cấp các quyền này. 22 11 Thu hồi quyền không dây chuyền 20 A 40 I 60 B 30 20 50 80 M H 70 N 50 A B 30 L 60 M 70 H I 80 L 70 N 23 Thu hồi quyền không dây chuyền 20 A 40 B 30 20 50 80 M H I A 60 70 40 H I N 50 B 30 L 70 L 80 M 70 N 24 12 Thu hồi quyền không dây chuyền • Lưu ý rằng với quyền mà H cấp cho L, sau khi thu hồi quyền, không được thay I như là người cấp vì quyền này được cấp trước khi I cấp quyền cho H. 25 View và sự phân quyền dựa trên nội dung • Trong các RDBMS, view là một cơ chế thường được dùng để hỗ trợ việc điều khiển truy cập dựa trên nội dung • Dùng các vị từ (predicate) để giới hạn nội dung dữ liệu cần cấp quyền. • Chỉ những bộ của quan hệ thỏa mãn vị từ được xem là các đối tượng để cấp quyền. 26 13 View và sự phân quyền dựa trên nội dung • Việc điều khiển truy cập dựa trên nội dung trong các RDBMS được thực hiện như sau: – Định nghĩa 1 view dùng các vị từ để chọn ra các dòng dữ liệu muốn cấp cho chủ thể S. – Cấp cho S các quyền trên view. 27 View và sự phân quyền dựa trên nội dung • Ví dụ: giả sử ta muốn cấp quyền cho user B truy cập chỉ những nhân viên có lương ít hơn 20000: – CREATE VIEW V_NHANVIEN AS SELECT * FROM NHANVIEN WHERE LUONG < 20000; - GRANT Select ON V_NHANVIEN TO B; 28 14 Các bước xử lý truy vấn • • • • Parsing Catalog lookup Authorization checking View Composition – Truy vấn trên view sẽ được chuyển thành truy vấn trên bảng cơ sở thông qua bước này. – Kết quả sẽ dựa trên vị từ của câu truy vấn và vị từ định nghĩa nên view. B: SELECT * FROM V_NHANVIEN WHERE CONGVIEC = ‘Lap trinh vien’; Câu truy vấn sau bước view composition: SELECT * FROM NHANVIEN WHERE LUONG < 20000 AND CONGVIEC = ‘Lap trinh vien’; • Query optimization 29 Nhận xét • Vì việc kiểm tra quyền được thực hiện trước bước view composition nên quyền được kiểm tra sẽ dựa trên view chứ không dựa trên các bảng cơ sở dùng để định nghĩa view. • View hữu ích khi cấp quyền trên các cột – chỉ cần tạo view gồm các cột mà ta muốn cấp quyền. • View còn hữu ích trong việc cấp quyền trên dữ liệu thống kê (dữ liệu sinh ra từ các hàm AVG, SUM, …) • Chủ thể truy cập có thể cấp quyền truy xuất hay thu hồi trên view tương tự như trên bảng dữ liệu. • Người dùng muốn tạo View thì phải có quyền Select trên bảng dữ liệu. • Nếu người tạo View bị thu hồi quyền (hay cấp quyền) trên bảng thì cũng bị thu hồi quyền(hay cấp quyền ) trên View, và thu hồi những người dùng khác được người này cấp quyền. 30 15 View và cấp quyền dựa trên nội dung • Người tạo view: view definer. • Quyền mà view definer có trên view phụ thuộc vào: – Ngữ nghĩa của view hay các quan hệ cơ sở dùng để tạo nên view. – Quyền mà view definer có trên các bảng cơ sở. • Quyền alter và index không thể áp dụng cho view, nên view definer không bao giờ có quyền này trên view. A: CREATE VIEW V1 (MANV, TONGTIEN) AS SELECT MANV, LUONG+THUONG FROM NHANVIEN WHERE CONGVIEC = ‘Lap trinh vien’ Thao tác update không được định nghĩa trên trường TONGTIEN của view nên A sẽ không thể có quyền update trên field này. 31 Phân quyền trên view • Để xác định quyền mà view definer có trên view, hệ thống phải: – Tìm giao tập quyền mà view definer có trên các quan hệ cơ sở với tập quyền ứng với các thao tác có thể thực hiện trên view. 32 16

No comments:

Post a Comment

LIÊN HỆ HƯỚNG DẪN DOWNLOAD TÀI LIỆU 0972246583 - 0984985060