Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: An toàn và an ninh dữ liệu - Nguyễn Trường Sơn
- Cơ sở dữ liệu luôn cần phải ở trạng thái nhất quán = đảm
bảo tất cả các ràng buộc toàn vẹn (RBTV) | Nguyên nhân dẫn đến RBTV bị vi phạm: - Do chia sẽ dữ liệu (data sharing): Dữ liệu được chia sẽ cho nhiều
giao tác cùng lúc
Sử dụng các kỹ thuật quản lý giao tác và xử lý đồng thời
- Do sự cố:
* Lỗi lập trình của các giao tác
* Lỗi lập trình của DBMS hoặc do hệ điều hành
* Hư hỏng phần cứng & sự cố khác
Casử dụng các kỹ thuật khôi phục sự cố
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: An toàn và an ninh dữ liệu - Nguyễn Trường Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 4: An toàn và an ninh dữ liệu - Nguyễn Trường Sơn
16 8 8 8 8 8 8 16 16 8 8 8 8 8 8 8 16 Bước 1 2 3 4 5 Mem Log 6 7 8 9 10 11 Flush log Thực hiện lại T, ghi A=16 và B=16 41 Redo-Logging & Checkpoint § Nhận xét – Phương pháp Redo thực hiện ghi dữ liệu xuống đĩa trễ so với thời điểm hoàn tất của các giao tác à đến điểm lưu trữ thì sẽ ghi tất cả các dữ liệu đang còn ở buffer của những giao tác đã hoàn tất vào đĩa. 42 Thực hiện ghi ĐVDL đang ở trên buffer mà chưa được ghi xuống đĩa của những giao tác đã COMMIT khi mẫu tin <start ckpt> được ghi xuống nhật ký. Redo-Logging & Checkpoint (tt) QUY TẮC GHI CHECKPOINT § Đến điểm lưu trữ, DBMS – 1. Ghi mẫu tin với Ti, , Tk là những giao tác chưa hoàn tất và ®lush-‐log – 2. Thực hiện ghi ĐVDL đang ở trên buffer mà chưa được ghi xuống đĩa của những giao tác đã COMMIT khi mẫu tin được ghi xuống nhật ký. – 3. Ghi mẫu tin vào nhật ký và ®lush-‐log. Lưu ý: Không cần đợi các giao tác hoàn tất Ti, , Tk hoặc huỷ bỏ 43 Redo-Logging & Checkpoint (tt) § Ví dụ 1 – T1 đã hoàn tất trước Có thể đã được ghi xuống đĩa Nếu chưa thì trước khi cũng được ghi xuống đĩa – Sau T2 đang thực thi T3 bắt đầu – Sau T2 và T3 hoàn tất 44 Redo-Logging & Checkpoint (tt) § Ví dụ 1 – Tìm thấy – Chỉ xét T2 và T3 – Thực hiện lại T2 Ghi C=15 và B=10 – Thực hiện lại T3 Ghi D=20 scan 45 Redo-Logging & Checkpoint (tt) § Ví dụ 1b 46 Redo-Logging & Checkpoint (tt) § Ví dụ 2 – T2 và T3 chưa hoàn tất Không thực hiện lại – T1 đã hoàn tất Thực hiện lại T1 Ghi A=5 scan 47 Nhận xét ■ Undo-‐logging – Khi giao tác kết thúc, dữ liệu có thể được ghi xuống đĩa ngay lập tức – Truy xuất đĩa nhiều nhưng không chiếm dụng nhiều bộ nhớ ■ Redo-‐logging – Phải giữ lại các cập nhật trên vùng đệm cho đến khi giao tác hoàn tất và mẫu tin nhật ký được ghi xuống đĩa – Tốn nhiều bộ nhớ nhưng giảm tần suất truy xuất đĩa 48 UNDO: GHI DỮ LIỆU XUỐNG ĐĨA TRƯỚC à GHI COMMIT SAU REDO: GHI COMMIT TRƯỚC à ĐƯA DỮ LIỆU LÊN ĐĨA SAU à Immediate modiication à Deferred modiication Nội dung trình bày § An toàn dữ liệu – Phân loại sự cố – Nhật ký giao tác – Điểm kiểm tra – Undo loging – Redo loging – Undo / Redo loging § An ninh dữ liệu – Cơ chế phân quyền – Cơ chế mã hoá 49 Phương pháp Undo/Redo-Logging § Qui tắc: – (1) Khi một giao tác muốn ghi dữ liệu thì sẽ phát sinh ra một mẫu tin nhật ký tương ứng ghi nhận lại giá trị cũ và mới của ĐVDL X. Cấu trúc mẫu tin: với v là giá trị cũ và w là giá trị mới – (2) Trước khi X được cập nhật xuống đĩa, các mẫu tin cập nhật đã phải có trên đĩa à Lệnh ®lush-‐log phải trước các lệnh OUTPUT – (3) Khi T hoàn tất, tạo mẫu tin trên nhật ký và ghi xuống đĩa 50 Ví dụ Hành động Read(A,t) t:=t*2 Write(A,t) Read(B,t) t:=t*2 Write(B,t) Output(A) Output(B) t 8 16 16 8 16 16 16 16 Mem A Mem B Disk B Disk A 8 8 16 16 16 16 16 16 8 8 16 16 16 8 8 8 8 8 8 16 16 8 8 8 8 8 8 8 16 Bước 1 2 3 4 5 Mem Log 6 7 8 9 10 11 Flush log 51 Phương pháp Undo/Redo-Logging (tt) § Khôi phục: – (1) Khôi phục lại (undo) những giao tác chưa kết thúc Theo thứ tự từ cuối nhật ký đến đầu nhật ký – (2) Thực hiện lại (redo) những giao tác đã hoàn tất Theo thứ tự từ đầu nhật ký đến cuối nhật ký 52 Phương pháp Undo/Redo-Logging (tt) § Khi gặp sự cố – T1 và T3 đã hoàn tất – T2 và T4 chưa kết thúc T3 T4 T1 Sự cố T2 Khôi phục Thực hiện lại 53 Ví dụ Hành động Read(A,t) t:=t*2 Write(A,t) Read(B,t) t:=t*2 Write(B,t) Output(A) Output(B) t 8 16 16 8 16 16 16 16 Mem A Mem B Disk B Disk A 8 8 16 16 16 16 16 16 8 8 16 16 16 8 8 8 8 8 8 16 16 8 8 8 8 8 8 8 16 Bước 1 2 3 4 5 Mem Log 6 7 8 9 10 11 Flush log đã được ghi xuống đĩa, thực hiện lại T, A=16 và B=16 T chưa kết thúc, khôi phục A=8 54 Undo/Redo-Logging & Checkpoint § Khi đến điểm lưu trữ, DBMS – (1) Tạo mẫu tin và ghi xuống đĩa Ti, , Tk là những giao tác đang thực thi – (2) Ghi xuống đĩa những dữ liệu đang nằm trên vùng đệm Những đơn vị dữ liệu được cập nhật bởi các giao tác [Kể cả những giao tác đã COMMIT hay chưa COMMIT] – (3) Tạo mẫu tin trong nhật ký và ghi xuống đĩa 55 Undo/Redo-Logging & Checkpoint (tt) § Ví dụ 1 – T1 đã hoàn tất trước Có thể đã được ghi xuống đĩa Nếu chưa thì trước khi cũng được ghi xuống đĩa – Giá trị B=10 đã được ghi xuống đĩa 56 Undo/Redo-Logging & Checkpoint (tt) § Ví dụ 1 – Tìm thấy T1 không cần thực hiện lại – Xét T2 và T3 – Thực hiện lại T2 và ghi C=15 Không cần ghi B – Thực hiện lại T3 và ghi D=20 scan 57 Undo/Redo-Logging & Checkpoint (tt) § Ví dụ 2 – Tìm thấy T1 không cần thực hiện lại – Xét T2 và T3 – Thực hiện lại T2 và ghi C=15 Không cần ghi B – T3 chưa kết thúc Khôi phục D=19 scan 58 Undo/Redo-Logging & Checkpoint (tt) § Ví dụ 3 – Tìm thấy T1 không cần thực hiện lại – Xét T2 và T3 – Thực hiện lại T2 và ghi C=15 Không cần ghi B – T3 chưa kết thúc Khôi phục D=19 và E=6 scan 59 Nội dung trình bày § An toàn dữ liệu – Phân loại sự cố – Nhật ký giao tác – Điểm kiểm tra – Undo loging – Redo loging – Undo / Redo loging § An ninh dữ liệu – Cơ chế phân quyền – Cơ chế mã hoá 60 An ninh Dữ liệu § Thực hiện hai bài toán : – Bài toán phân quyền Quản lý tốt việc truy xuất Dữ liệu của các đối tượng người dùng hợp pháp à Bảo mật Dữ liệu Thông qua 2 cơ chế – Cơ chế chứng thực – Cơ chế phân quyền » Quan điểm phân quyền cụ thể » Quan điểm phân cấp mức độ MẬT – Bài toán mã hóa Ngăn chặm hiệu quả sự tấn công, xâm nhập của các đối tượng tin tặc à An ninh Dữ liệu 61 Cơ chế chứng thực § Mỗi người dùng DBMS được xác định bởi – Một tên đăng nhập – user name – Một mật mã đăng nhập – password § Thông tin về user name và password – Không được lưu trữ tường minh trong dữ liệu – User name và password của DBMS và của OS có thể tách bạch nhau hay dùng chung cho nhau là tùy hệ thống Vd : Mixed-‐mode của Microsoft SQL Server 62 Cơ chế phân quyền § Một tài khoản chứng thực – Được phép đăng nhập vào hệ thống DBMS – Được nhìn thấy các CSDL – Chưa được phép truy xuất các đối tượng trong các CSDL § Tài khoản chứng thực muốn truy xuất các đối tượng dữ liệu thì cần được phân quyền cụ thể chi tiết trên các đối tượng dữ liệu đó 63 Cơ chế phân quyền (tt) § Quan điểm phân quyền cụ thể Các đối tượng Dữ liệu Các đối tượng Người dùng group group role role 64 Cơ chế phân quyền (tt) § Quan điểm phân quyền cụ thể Các đối tượng Dữ liệu Các đối tượng Người dùng group group role role 65 Cơ chế phân quyền (tt) § Quan điểm phân cấp mức độ MẬT – Các đối tượng Dữ liệu được phân ra các cấp độ bảo mật khác nhau Vd : – Cấp 3 : Dành cho tài liệu tuyệt mật – Cấp 2 : Dành cho tài liệu mật – Cấp 1 : Dành cho tài liệu công khai – Các đối tượng Người dùng cũng được phân ra các cấp độ bảo mật khác nhau Vd : – Cấp 3 : Dành cho ban giám đốc – Cấp 2 : Dành cho các trưởng phòng – Cấp 1 : Dành cho nhân viên – Khó khăn : Làm sao phân cấp cho hợp lý (♣) 66 Cơ chế phân quyền (tt) § Quan điểm phân cấp mức độ MẬT – Phân quyền Quyền đọc dữ liệu : Người dùng cấp i được đọc các tài liệu cấp i trở xuống Quyền ghi dữ liệu : (♣♣) – Ban giám đốc đọc các tài liệu mật nhưng tài liệu ấy không nhất định do họ tạo ra, thông thường lại do nhân viên tạo ra – Người dùng cấp i được ghi tài liệu cấp i trở xuống – Nếu người dùng X thuộc cấp i tạo ra tài liệu A thuộc cấp j (với j > i) thì chi có X được đọc A trong khi các X’ cùng cấp không được đọc A – Vì (♣) và (♣♣) nên quan điểm này gặp nhiều thách thức và ít được ứng dụng trong các DBMS thương mại 67 Cơ chế mã hóa § Bất chấp cơ chế phân quyền, nhiều đối tượng người dùng bất hợp pháp vẫn có thể xâm nhập vào CSDL – Ví dụ : Thâm nhập từ mức Hệ điều hành để chép các ®ile dữ liệu của DBMS (như ®ile *.mdf và *.ndf của SQL Server) Chặn trên đường truyền mạng để hứng lấy dữ liệu luân chuyển giữa Client và Server § Giải pháp : Mã hóa thông tin trước lưu trữ hoặc truyền trên đường truyền – Tin tặc lấy được ®ile hay dữ liệu cũng không hiểu được – Việc mã hóa không được xung đột với hệ thống index à thách thức – Thuật toán mã hóa được chọn sao cho việc giải mã của tin tặc là khó khăn nhất 68 Tóm tắt chương 4 § An toàn dữ liệu – Phân loại sự cố – Nhật ký giao tác – Điểm kiểm tra – Phương pháp Undo loging – Phương pháp Redo loging – Phương pháp Undo / Redo loging § An ninh dữ liệu – Cơ chế phân quyền – Cơ chế mã hoá 69 Tóm tắt chương 4 § Các thuật ngữ: – Transaction Management – Database elements – Logging – Recovery – Logging methods – Undo logging – Redo logging – Undo/Redo logging – Checkpointing – Nonquiescent checkpointing – Archiving – Incremental Backups – Nonquiescent Archiving – Recovery from media failures 70 Tài liệu tham khảo § [5] Database systems: the complete book, Hector Garcia-‐Molina, Jeffrey D. Ullman, Jennifer Widom, Pearson Prentice Hall, 2009 – Chapter 17. Copy with System failures 71 Backup & Recovery in SQL Server § Tham khảo thêm: – Understanding Logging and Recovery in SQL Server ‐us/magazine/2009.02.logging.aspx – SQL Server Recovery Models – Restore your SQL Server database using transaction logs ‐enterprise-‐cloud/restore-‐your-‐sql-‐server-‐database-‐using-‐transaction-‐logs/ § Keywords: How SQL Server logging and recovery 72 LOGO 73 Q & A
File đính kèm:
- bai_giang_he_quan_tri_co_so_du_lieu_chuong_4_an_toan_va_an_n.pdf