Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 1 AN TOÀN CƠ SỞ DỮ LIỆU THỰC HÀNH ORACLE 9i Bài thực hành 1: cài đặt Oracle - Cài đặt thành công Oracle 9i: chú ý chọn tùy chọn Custom, và chọn tuỳ chọn Oracle Label Security trong khi cài đặt. - Tạo CSDL có tên là QLSV (SID = QLSV) bằng công cụ Database Configuration Assistant. - GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 2 Bài thực hành 2: Quản lý an toàn trong Oracle 9i - Users: quản trị các tài khoản người dùng - Roles: sắp xếp các đặc quyền trong các nhóm Role. - Profiles: quản lý tài nguyên CSDL, giới hạn tài nguyên mà người dùng được sử dụng trong profile đó. Chú ý: Người dùng mặc định là SYSTEM/mật khẩu = MANAGER. 1.1 Users Tạo user Tạo một user giống với user khác Thay đổi thuộc tính của một user (trạng thái tài khoản, profile mặc định) Thêm đặc quyền và role cho một user Remove đặc quyền hay role từ một user - Bước 1: Tạo các user1, user2, user3 với mật khẩu là: 123 Chú ý: GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 3 - Khi tạo ra một user, hệ thống sẽ tạo ra một lược đồ - schema có tên giống với tên của user đó. - User này phải được gán một tablespace - Để anh ta có thể connect đến CSDL thì anh ta phải có: + Role: Connect (mặc định đã có) + System Prilvilege: SELECT ANY DICTIONARY + Quota: tương ứng với tablespace anh ta được gán phải là Unlimited (hoặc thay bởi điều này, gán cho anh ta role RESOURCE) (Chú ý: nếu Quota này không được gán Unlimited thì user vẫn connect được CSDL nhưng ko được tạ o bảng trong đó) Ví dụ: GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 4 GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 5 - Bước 2: disconnect khỏi CSDL và đăng nhập lại bằng các tài khoản này - Bước 3: Đăng nhập lại bằng tài khoản SYSTEM, tạo một user giống với user1 là user11, sau đó có thể thêm/remove đặc quyền cho user này, khóa tài khoản này và đăng nhập lại vào CSDL xem sự thay đổi. 1.2 Roles Roles Tạo một role Tạo một role giống một role khác Sửa đổi thuộc tính của một role Thêm đặc quyền và role cho một role Remove đặc quyền và role khỏi một role - Bước 1: Tạo một role có tên là AT, sau đó gán các role, các đặc quyền hệ thống (system Prilvilege), đặc quyền đối tượng (Object Prilvilege) cho role này. - Bước 2: vào tài khoản SYSTEM, gán quyền cho user2 thêm role AT này. Sau đó chuột phải vào role AT để xem những người dùng đã được gán role này. 1.3 Profiles: Profiles: quản lý tài nguyên Tạo một profile (bao gồm cả chính sách cho mậ t khẩu và số lần đăng nhập fail để khóa tài khoản) Tạo một profile giống một profile khác Thay đổi thuộc tính của một profile Chỉ ra các phụ thuộc của một profile Gán một profile cho user Xóa một profile GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 6 - Bước 1: Tạo một profile có tên là AT_Profile, gán các tài nguyên cho profile này, khóa tài khoản của người dùng sau 3 lần đăng nhập sai. - Bước 2: đăng nhập bằng tài khoản SYSTEM, tạo tài khoản user4, sau đó chọn profile không phải là DEFAULT mà là AT_Profile, sau đó thử đăng nhập bằng tài khoản user4 sai 3 lần xem tài khoản này có bị khóa hay ko? GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 7 Bài thực hành 3: Quản lý lưu trữ trong Oracle Bao gồm Controlfile Tablespaces Datafiles Rollback Segments Redo Log Groups Archive Logs Controlfile Control files – file nhị phân nhỏ chứa thông tin về thể hiện CSDL, nó cần thiết để khởi động CSDL. Tất cả những thay đổi chính trong cấu trúc của CSDL sẽ được ghi vào file này Đường dẫn đến các file điều khiển Tablespaces GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 8 Tập hợp logic các file dữ liệu, tablespace bao gồm các segment. System tablespace – bao gồm dữ liệu hệ thống mà CSDL cần để quản lý dữ liệu (bao gồm từ điển dữ liệu). Temp tablespace - temporary clipboard được sử dụng để quản lý các giao tác như sắp xếp dữ liệu từ mệnh đề ORDER BY của một câu truy vấn. Tools tablespace – Lưu các đối tượng đượ c sử dụng bởi các tools tương tác với CSDL. User’s tablespace – Lưu các đối tượng của một user riêng. Rollback tablespace – Lưu các rollback segments; rollback segments được sử dụng bởi CSDL để phục hồi dữ liệu (ví dụ: một giao tác bị lỗi để phục hồi nhưng thay đổi chưa được hoàn tất). Data and index tablespaces – Lưu dữ liệu ứng dụng. Chỉ ra các không gian đĩa, kích c ỡ của chúng và số lượng không gian đã sử dụng trong các tablespace này (tính theo MB) Tablespaces: Một số hoạt động thực hiện trên tablespace Tạo, sửa hay xóa một tablespace Tạo tablespace dựa trên một tablespace khác (create like) Thêm một datafile Thêm một rollback segment Đặt một tablespace ở trạng thái online hay offline Tạo một table read-only hoặc có thể ghi Thiết lập các tham biến lưu trữ cho mỗi đối tượng GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 9 Chú ý: Khi tạo ra một tablespace (hay một profile) ta đều có thể dùng để gán cho user. Khi user được gán một tablespace, anh ta chỉ có thể tạo table, view…trên tablespace của anh ta mà thôi!!! - Bước 1: Tạo một tablespace tên là TableSpace_AT - Bước 2: đăng nhập bằng tài khoản SYSTEM, tạo user5 và gán tablespace cho anh ta là TableSpace_AT. Sau đó đăng nhập bằng user5, kiểm tra xem tạo bảng và view trên các tablespace khác có được ko? GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 10 Bài thực hành 4: Tạo bảng, khóa chính, khóa ngoại Giả sử có hai bảng Lớp và Sinh viên như sau: Lop(MaLop, TenLop) Sinhvien(MaSV, HoTen, Quequan, MaLop). - Bước 1: Tạo hai bảng này với MaLop, MaSV là hai khóa chính của hai bảng, MaLop trong bảng Sinhvien là khóa ngoại chỉ đến MaLop trong bảng Lop. - Bước 2: Nhập dữ liệu cho hai bảng này. - Bước 3: Tạo một khung nhìn cho 2 bảng này, bao gồm các thông tin sau – MaSV, HoTen, Quequan, TenLop, với điều kiện sinh viên đó thuộc tỉnh Hà Nam. [...]... '%NHAN VIEN%' AND UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%'; UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'OFF:KH:MN') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%'; UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'OFF:MK:MB') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND UPPER(PHONG)... PHONG%' AND UPPER(PHONG) LIKE '%LAP TRINH%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%'; - Gán nhãn cho các nhân viên: UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'OFF:LT:MB') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND UPPER(PHONG) LIKE '%LAP TRINH%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%'; UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'OFF:KH:MB') WHERE UPPER (CHUCVU) LIKE '%NHAN... Thị Lượng – Khoa ATTT, Học viện KTMM Bài thực hành 5: Thực hành chính sách kiểm soát truy nhập MAC 1 Giới thiệu Có thể nói sự thực thi của MAC trong các hệ quản trị là dựa và các nhãn - label, dùng để gán cho các chủ thể và đối tượng của hệ thống Do đó, trong Oracle gọi MAC là an toàn dựa vào nhãn - OLS (Oracle Label Security) OLS trong Oracle cho phép bảo vệ dữ liệu của các bảng đến mức hàng - mức... test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'EXEC:KH,MK,LT:MB') WHERE UPPER (CHUCVU) LIKE '%GIAM DOC%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%'; UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'EXEC:KH,MK,LT:MN') WHERE UPPER (CHUCVU) LIKE '%GIAM DOC%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%'; - Gán nhãn cho các trưởng phòng: UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY',... PHONG%' AND UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%'; UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'MGR:KH:MN') WHERE UPPER (CHUCVU) LIKE '%TRUONG PHONG%' AND UPPER(PHONG) LIKE '%KE HOACH%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%'; UPDATE test.nhansu http://www.ebook.edu.vn 24 GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM SET ROWLABEL = char_to_label ('COMPANY',... (CHUCVU) LIKE '%NHAN VIEN%' AND UPPER(PHONG) LIKE '%MAKETTING%' AND UPPER(CHINHANH) LIKE '%MIEN BAC%'; UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'OFF:MK:MN') WHERE UPPER (CHUCVU) LIKE '%NHAN VIEN%' AND UPPER(PHONG) LIKE '%MAKETTING%' AND UPPER(CHINHANH) LIKE '%MIEN NAM%'; Tiếp theo ta thử tạo ra một số người dùng với chức danh và vị trí tương ứng và cấp quyền cho họ để kiểm tra http://www.ebook.edu.vn... ta thực hiện việc cập nhật các nhãn cho các hàng dữ liệu http://www.ebook.edu.vn 23 GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM 2.4.3 Gán nhãn cho các hàng dữ liệu của bảng TEST.NHANSU Cập nhật các nhãn bằng các câu lệnh SQL như sau : - Gán nhãn cho các giám đốc: UPDATE test.nhansu SET ROWLABEL = char_to_label ('COMPANY', 'EXEC:KH,MK,LT:ALL') WHERE UPPER (CHUCVU) LIKE '%GIAM DOC%' AND UPPER(CHINHANH)... quá trình cài đặt Oracle Đồng thời, khi create Database bạn phải chọn tuỳ chọn Oracle Label Security Bạn có thể thực thi OLS trong Oracle bằng công cụ Oracle Policy Manager Tại đây, ta có thể tạo policy để áp dụng vào các bảng và các lược đồ Trong một Policy tạo ra, ta quan tâm đến 3 phần sau: - Labels: là nhãn ta tạo ra để gán cho các bản ghi trong table, bao gồm: + Label components (Thành phần nhãn):... đốc: có thể thực hiện tất cả các hoạt động đối với CSDL 2.1 Bước 1 (Tạo chính sách OLS): http://www.ebook.edu.vn 13 GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM Cách 1: ta khởi động công cụ Oracle Policy Manager Đăng nhập (có thể bằng tài khoản SYSTEM/manager, chú ý chọn SYSDBA) và tiến hành tạo Policy (chính sách) với tên là COMPANY và tên cột là Rowlabel để gắn vào bảng dữ liệu Hoặc có thể thực hiện... bảng NHANSU (sau khi đã được áp dụng chính sách COMPANY) thì họ phải insert vào nhãn cho bản ghi đó Tuy nhiên anh ta chỉ có thể insert các rowlabel tương ứng với các chức danh nhỏ hơn mình, đồng thời cần phải biết các nhãn tương ứng để insert một cách chính xác Như vậy sau khi áp dụng OLS, các hàng dữ liệu trong bảng và các người dùng đều được gán nhãn an toàn phù hợp Một người dùng chỉ được xem, thực . http://www.ebook.edu.vn 1 AN TOÀN CƠ SỞ DỮ LIỆU THỰC HÀNH ORACLE 9i Bài thực hành 1: cài đặt Oracle - Cài đặt thành công Oracle 9i: chú ý chọn tùy chọn Custom, và chọn tuỳ chọn Oracle Label Security. Database Configuration Assistant. - GV: Trần Thị Lượng – Khoa ATTT, Học viện KTMM http://www.ebook.edu.vn 2 Bài thực hành 2: Quản lý an toàn trong Oracle 9i - Users: quản trị các. thể và đối tượng của hệ thống. Do đó, trong Oracle gọi MAC là an toàn dựa vào nhãn - OLS (Oracle Label Security). OLS trong Oracle cho phép bảo vệ dữ liệu của các bảng đến mức hàng - mức bản