Tìm hiểu về cơ sở dữ liệu riêng ảo trong Oracle – Oracle VPD

39 60 5
Tìm hiểu về cơ sở dữ liệu riêng ảo trong Oracle – Oracle VPD

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hiện nay vấn đề bảo mật cơ sở dữ liệu của doanh nghiệp, các công ty hay bảo mật thông tin cho khách hàng là nhu cầu tất yếu và rất được quan tâm. Mục đích hướng tới của các cuộc tấn công trên mạng Internet hiện nay chủ yếu là vào hệ thống cơ sở dữ liệu. Vì vậy việc quản trị và bảo đảm an toàn dữ liệu của các phần mềm ứng dụng cũng như các trang web là rất cần thiết. Để hạn chế việc xâm nhập dữ liệu một cách trái phép thì cần có các biện pháp áp dụng cho việc bảo vệ cơ sở dữ liệu. Ý tưởng cơ bản để giải quyết vấn đề cho số lượng người dùng lớn là:“ Người dùng không thể truy cập vào phần dữ liệu mà họ không được phép nhìn thấy”. Điều này sẽ giới hạn lại thông tin được hiển thị với những người dùng khác nhau trong cùng một hệt thống cơ sở dữ liệu. Việc bảo mật sẽ không dừng lại ở mức cho phép truy xuất trên các đối tượng, mà với Oracle’s Virtual Private Database – Oracle VPD dữ liệu sẽ được an toàn trên mức dòng và cột của các đối tượng.

HỌC VIỆN KỸ THUẬT MẬT MÃ - - AN TỒN CƠ SỞ DỮ LIỆU ĐỀ TÀI: TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU RIÊNG ẢO TRONG ORACLE NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ ······················································································ MỤC LỤC LỜI MỞ ĐẦU .1 CHƯƠNG 1: TỔNG QUAN VỀ ORACLE’S VIRTUAL PRIVATE DATABASE (ORACLE VPD) 1.1 Giới thiệu Oracle .2 1.2 Giới thiệu Oracle Virtual Private Database (Oracle VPD) 1.3 Lợi ích việc sử dụng Oracle VPD 1.3.1 Bảo mật 1.3.2 Đơn giản 1.3.3 Linh động 1.4 Cơ chế hoạt động Oracle VPD .4 1.4.1 Oracle VPD sử dụng với ngữ cảnh ứng dụng 1.4.2 Phát sinh mệnh để WHERE tự động 1.4.3 Chính sách áp dụng phải gắn với đối tượng bảo mật cụ thể 1.5 VPD cách phiên Oracle CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHÍNH SÁCH ORACLE VPD 2.1 Gắn sách Oracle VPD tới đối tượng 2.2 Thực thi sách với loại câu lệnh SQL .9 2.3 Điều khiển việc hiển thị liệu dựa vào sách .10 2.3.1.Thiết lập sách Oracle VPD mức cột .10 2.3.2.Điều khiển hiển thị liệu Oracle VPD 12 2.3.3.Dùng mặt nạ hiển thị liệu áp dụng sách Oracle VPD 12 2.4 Tạo nhóm sách 13 2.4.1.Định nghĩa nhóm sách 13 2.4.2.Tạo nhóm sách 14 2.4.3.Chỉ định nhóm sách mặc định sys_default 15 2.4.4.Thiết lập sách đối tượng 15 2.4.5.Chứng thực sách đối tượng 16 2.5 Đánh giá việc thực thi sách theo loại sách VPD 16 2.5.1 Sử dụng loại sách Dynamic 16 2.5.2 Sử dụng loại sách Static 17 2.5.3 Sử dụng loại sách Shared_Static 17 2.5.4 Sử dụng loại sách Context_Sensitive 18 2.5.5 Sử dụng loại sách Shared_Context_Sensitive 19 2.5.6 Bảng tóm tắt năm loại sách Oracle VPD 19 CHƯƠNG 3: THỰC HÀNH .20 3.1 Tạo ngữ cảnh ứng dụng 20 3.1.1 Chuẩn bị bảng tạo user 21 3.1.2 3.2 Tạo ngữ cảnh ứng dụng .24 Bảo mật mức hàng .26 3.2.1 RLS với cấu lệnh SELECT .26 3.2.2 RLS với câu lệnh INSERT, UPDATE, DELETE 29 3.3 Bảo mật mức cột 33 3.4 Xóa bỏ sách hàm 34 TÀI LIỆU THAM KHẢO 35 LỜI MỞ ĐẦU Hiện vấn đề bảo mật sở liệu doanh nghiệp, công ty hay bảo mật thông tin cho khách hàng nhu cầu tất yếu quan tâm Mục đích hướng tới cơng mạng Internet chủ yếu vào hệ thống sở liệu Vì việc quản trị bảo đảm an toàn liệu phần mềm ứng dụng trang web cần thiết Để hạn chế việc xâm nhập liệu cách trái phép cần có biện pháp áp dụng cho việc bảo vệ sở liệu Có nhiều cách để hạn chế việc truy xuất liệu việc vơ hiệu hóa tài khoản đăng nhập sau vài lần đăng nhập liên tiếp không thành cơng sử dụng số ứng dụng cảnh báo có dịch vụ bên ngồi cố gắng xâm phạm vào hệ thống… Ngoài hệ quản trị sở liệu cung cấp nhiều công cụ hỗ trợ hạn chế quyền, cấp quyền phân quyền thích hợp cho người dùng truy xuất liệu Cụ thể Oracle người quản trị dễ dàng quản lý mức truy cập liệu cho người dùng thông qua Role Role tổ chức hệ thống phân cấp, người sử dụng khác gán Role khác tùy theo vai trò quyền hạn họ hệ thống…Việc quản lý truy xuất liệu theo cách trở lên ngày phức tạp số người sử dụng lớn việc kiểm soát đồng thời truy cập người dùng vào hệ thống khó khăn Ý tưởng để giải vấn đề cho số lượng người dùng lớn là:“ Người dùng truy cập vào phần liệu mà họ không phép nhìn thấy” Điều giới hạn lại thơng tin hiển thị với người dùng khác hệt thống sở liệu Việc bảo mật không dừng lại mức cho phép truy xuất đối tượng, mà với Oracle’s Virtual Private Database – Oracle VPD liệu an tồn mức dịng cột đối tượng Với lý trên, nhóm em thực đề tài “Tìm hiểu sở liệu riêng ảo Oracle – Oracle VPD” CHƯƠNG 1: TỔNG QUAN VỀ ORACLE’S VIRTUAL PRIVATE DATABASE (ORACLE VPD) 1.1 Giới thiệu Oracle Oracle Database hay gọi OracleRDBMS đơn giản Oracle (do có lẽ sản phẩm tiếng hãng), hệ quản trị sở liệu quan hệ, phát triển phân phối tập đoàn Oracle Phần mềm phát triển tiếp lên version cao hơn, phần mềm quản trị database hàng đầu giới Theo thông tin từ Wikipedia phần mềm viết Assembly, C C++ Có lẽ cốt lõi Oracle Database Sau cơng cụ liên quan emctl, dbca, netca… viết Java Phần mềm hỗ trợ nhiều ngôn ngữ, phân phối rộng khắp giới Bản quyền phần mềm thuộc dạng Proprietary, tức closed source software Phần mềm mua để sử dụng, không can thiệp vào mã nguồn open source software 1.2 Giới thiệu Oracle Virtual Private Database (Oracle VPD) Oracle VPD (Cơ sở liệu riêng ảo Oracle) cung cấp tính bảo mật sở liệu Oracle VPD hữu ích sở liệu ứng dụng bảo mật phân quyền đối tượng Có thể thiết lập Oracle VPD với sách đơn giản hay phức tạp phụ thuộc vào nhu cầu cụ thể ứng dụng Oracle VPD sử dụng môi trường nhiều người dùng truy cập vào sở liệu mà phạm vi cho phép truy cập nhóm người khác Oracle VPD cịn biết sách bảo mật để kiểm soát truy xuất liệu mức dịng cột Thức chất Oracle VPD thêm tự động mệnh đề WHERE thích hợp vào câu lệnh SQL dùng cho table, view, synonym người dùng muốn truy cập liệu Chính sách bảo mật Oracle VPD tự động thực thi người dùng truy xuất liệu Khi người dùng trực tiếp hay gián tiếp truy xuất liệu table, view, synonym bảo mật bới sách VPD tự điều chỉnh câu lệnh SQL người dùng Việc điều chỉnh câu lệnh SQL dựa mệnh đề WHERE để trả lại hàm thực thi sách bảo mật Chính sách Oracle VPD áp dụng cho câu lệnh SELECT, INSERT, UPDATE, INDEX, DELETE Giả sử bảng Orders có hóa đơn nhân viên có định danh 159 bán phép truy cập, cịn hóa đơn nhân viên khác bán khơng phép truy cập Để thực điều ta thiết lập sách Oracle VPD Khi người dùng thực dòng lệnh truy vấn sau: SELECT * FROM OE.Orders Chính sách Oracle VPD tự động gắn thêm câu lệnh với mệnh đề WHERE sau: SELECT * FROM OE.Orders WHERE SALES_REP_ID = 159; Như người dùng muốn thực câu truy vấn xem tồn hóa đơn bảng Orders kết truy xuất trả có liệu phép hiển thị, phần liệu không phép hiển thị truy xuất Đây sách bảo mật liệu mà thực tế người dùng truy xuất hồn tồn khơng biết Chính sách Oracle VPD thực với nhóm người dùng khác cách tạo ngữ cảnh ứng dụng tương ứng với nhóm 1.3 Lợi ích việc sử dụng Oracle VPD 1.3.1 Bảo mật Thêm sách bảo mật VPD vào table, view, sysnonym giải vấn đề nghiêm trọng bảo mật ứng dụng Giả sử người dùng phép sử dụng ứng dụng có quyền chỉnh sửa CSDL cách sử dụng công cụ truy vấn SQL plus Bằng cách thêm sách bảo mật trực tiếp đến table, view, synonym kiểm sốt việc truy xuất liệu người dùng Ví dụ: Một người dùng trực tiếp dùng SQL Plus thông qua ứng dụng khác thực cập nhập liệu việc thực thi sách khơng phụ thuộc vào cách người truy cập Việc thực thi cập nhập liệu người dùng có thành cơng hay khơng phụ thuộc vào sách bảo mật thiết lập sở liệu đối tượng người dùng 1.3.2 Đơn giản Việc thêm sách bảo mật vào table, view, synonym cần thực lần Khi người dùng truy cập vào ứng dụng sách bảo mật ứng dụng áp dụng lại mà không cần phải thực điều kiện truy cập liệu người dùng Ví dụ: Thiết lập sách để quản lý việc truy cập liệu nhóm người dùng muốn thực xem tiền lương nhân viên khác công ty Với điều đơn giản cần thiết lập sách bảo mật cột lương nhân viên nhân viên xem lương nhân viên khác trả kết NULL cột tiền lương sách cần áp dụng lần đối tượng bảo mật 1.3.3 Linh động Có thể tạo sách bảo mật khác với câu lệnh SELECT, INSERT, UPDATE, DELETE tạo nhóm sách đối tượng nhóm đối tượng khác mà không ảnh hưởng đến cấu trúc đối tượng áp dụng sách Ví dụ: Có thể thiết lập sách bảo mật để nhân viên phịng nhân SELECT tồn thơng tin nhân viên UPDATE tiền lương nhân viên thuộc phịng nhân Hoặc áp dụng sách cho nhóm nhân viên thuộc phịng ban khác cơng ty 1.4 Cơ chế hoạt động Oracle VPD 1.4.1 Oracle VPD sử dụng với ngữ cảnh ứng dụng Ngữ cảnh ứng dụng sử dụng với sách Oracle VPD Khi tạo ngữ cảnh ứng dụng thông tin ứng dụng bảo mật với người dùng Ví dụ: Người dùng muốn truy xuất tới bảng ORDERS_TAB dựa vào định danh khách hàng Thay dùng định danh khách hàng để đăng nhập vào hệ thống, tạo ngữ cảnh ứng dụng để lưu lại định danh cho phiên làm việc khác cần Ngữ cảnh ứng dụng đặc biệt hữu dụng sách bảo mật dựa nhiều thuộc tính bảo mật Ví dụ: Nếu hàm sách dựa mệnh đề WHERE với thuộc tính ID, cost, enter, position, spending limit Như nhiều truy vấn phait thực thi để lấy thông tin Để tiết kiệm thời gian chi phí cho truy vấn ta tạo ngữ cảnh để tăng khả thực thi truy xuất liệu Có thể dùng ngữ cảnh ứng dụng để trả lại sách bảo mật thơng qua chuỗi ngữ (predicate) Ví dụ: Trong bảng ORDERS cho phép khách hàng nhìn thấy Order họ, nhân viên nhìn thấy tất Order khách hàng Hai sách sử dụng khác nhau, định nghĩa ngữ cảnh ứng dụng với thuộc tính position, thuộc tính truy xuất bên hàm sách để trả lại chuỗi ngữ Điều phụ thuộc vào giá trị thuộc tính Như người dùng có thuộc tính position Clerk thấy tất thông tin tất Order người dùng khác có thuộc tính positon Customer nhìn thấy mẩu tin thuộc người dùng Để thiết kế sách điều khiển truy xuất hạt mịn (fine-grained) trả lại chuỗi ngữ định cho thuộc tính, cần phải truy xuất tới ngữ cảnh ứng dụng bên có chức thực sách Ví dụ: Giả sử muốn khách hàng thấy mẩu tin riêng họ người dùng cần thực thi query sau: SELECT * FROM ORDERS_TAB Nhưng điều khiển truy xuất hạt mịn tự động chỉnh sửa câu truy vấn thành SELECT * FROM ORDERS_TAB WHERE custID=SYS_CONTEXT(‘order_entry’,’cust_num’) Giả sử có 50000 khách hàng áp dụng sách bảo mật Như tất khách hàng có mệnh đề WHERE thực truy vấn với quy định khác hàng thấy hóa đơn họ Dùng ngữ cảnh ứng dụng trả lại mệnh đề WHERE bên sách áp dụng cho 50000 khách hàng Với kết này, có Cursor thực thi cách khác với khách hàng khách hàng đánh giá thời điểm thực thi Giá trị khác ứng với khách hàng Việc dùng ngữ cảnh ứng dụng trường hợp cung cấp điều kiện thực thi tốt cho yêu cầu bảo mật mức dòng 1.4.2 Phát sinh mệnh để WHERE tự động Để phát sinh mệnh đề WHERE cách tự động cần phải tạo function để định nghĩa hạn chế liệu mà ta muốn thực Thường thường, người quản trị hệ thống tạo hàm schema họ Với hành động phức tạp gọi tới hàm khác hàm nàu cần tạo bên gói Hàm phải có thành phần sau:  Tên đối số nhập vào phải tên schema hay đối tượng (table, view, synonym)  Định nghĩa tham số nhận vào để nhận thông tin  Tạo tham số cho schema trước sau tạo tham số cho đối tượng  Phải cung cấp giá trị trả cho chuỗi ngữ mệnh đề WHERE phát sinh  Giá trị trả luôn varchar Hàm phát sinh mệnh đề WHERE phải hợp lý  Mệnh đề WHERE thường dùng chung cho tất người dùng Nhưng nhiều trường hợp muốn thiết kế mệnh đề WHERE khác cho người dùng, nhóm người dùng ứng dụng truy xuất đến ứng dụng muốn bảo mật Ví dụ: Khi người quản lý đăng nhập vào hệ thống, mệnh đề WHERE xác định thơng tin cho người quản lý Ta làm điều cách xây dựng môt ngữ cảnh ứng dụng với mệnh đề WHERE tự phát sinh mã Những chức Oracle VPD tạo khơng dùng ngữ cảnh ứng dụng Nhưng ngữ cảnh ứng dụng tọa sách Oracle VPD tốt hơn, cách tạo bảo mật cho người dùng truy xuất tới thuộc tính phiên làm việc người dùng định danh họ 1.4.3 Chính sách áp dụng phải gắn với đối tượng bảo mật cụ thể Sau tạo hàm, cần tạo sách Oracle VPD kết hợp hàm với table, view, synonym Chính sách tạo cách sử dụng gói dbms_rls Đối với user khơng sys phải gán quyền execute tới người dùng gói dbms_rls Gói chứa thủ tục quản lý sách thiết lập điều khiển truy xuất hạt mịn Ví dụ: Để thêm sách tới bảng, dùng thủ tục dbms_rls.add_policy Bên thiết lập fine-grained access control sách hiệu người dùng đưa câu lệnh SELECT hay UPDATE table hay view 1.5 VPD cách phiên Oracle  Phiên Oracle 8i hỗ trợ sách VPD  Phiên Oracle 9i thêm nhiều sách table sách áp dụng cho nhiều nhóm CHƯƠNG 3: THỰC HÀNH Nội dung thực hành:  Tạo ngữ cảnh ứng dụng  Bảo mật mức hàng  Bảo mật mức cột 3.1 Tạo ngữ cảnh ứng dụng 3.1.1 Chuẩn bị bảng tạo user  Sử dụng sqlplus cmd, đăng nhập user sys quyền sysdba  Tạo tài khoản congty phân quyền create user congty identified by 123456; GRANT UNLIMITED TABLESPACE TO congty; 21 grant create session to congty; grant resource to congty;  Thoát khỏi user sys đăng nhập user congty Disconnect Conn congty/123456  Tạo bảng nhân viên create table nhanvien ( manv varchar(10) primary key, tentaikhoan varchar(30), tennv varchar(30), phongvarchar(30), chucvu varchar(30), luong int);  Chèn liệu insert into nhanvien values('nv001','khanhnx','nguyen xuan khanh','','giam doc',3000); insert into nhanvien values('nv002','truyennt','hoang minh truyn','lap trinh','truong phong',2500); insert into nhanvien values('nv003','huongnt','nguyen thi huong','ke hoach','truong phong',2300); insert into nhanvien values('nv004','trangnt','nguyen thi thuy trang','lap trinh','nhan vien',1000); insert into nhanvien values('nv005','anhtt','tran trung anh','ke hoach','nhan vien',900); insert into nhanvien values('nv006','vulv','le van vu','lap trinh','nhan vien',1100); 22 insert into nhanvien values('nv007','anhvtn','nguyen thi van anh','ke hoach','nhan vien',1000); insert into nhanvien values('nv008','chinhbv','bui van chinh','ke hoach','nhan vien',850); commit;  Kiểm tra bảng ghi: select * from nhanvien;  Connect user sys  Tạo tài khoản giám đốc create user khanhnx identified by 123456; grant create session to khanhnx;  Tạo tài khoản trưởng phịng lập trình create user truyenhm identified by 123456; grant create session to truyenhm;  Tạo tài khoản trưởng phòng kế hoạch create user huongnt identified by 123456; grant create session to huongnt;  Tạo tài khoản nhanvien create user trangnt identified by 123456; 23 grant create session to trangnt;  Tạo tài khoản quản trị VPD create user quantriVPD identified by 123456; grant create session to quantriVPD; grant create session, create any context, create procedure, create trigger, administer database trigger to quantriVPD; grant execute on sys.dbms_session to quantriVPD; grant execute on sys.dbms_rls to quantriVPD; 3.1.2 Tạo ngữ cảnh ứng dụng  Đăng nhập tài khoản quantriVPD  Khởi tạo ngữ cảnh ứng dụng CREATE OR REPLACE CONTEXT thongtintaikhoan USING TTTK_PKG;  Cấu hình package TTTK_PKG CREATE OR REPLACE PACKAGE TTTK_PKG IS PROCEDURE GetTTTK; END; CREATE OR REPLACE PACKAGE BODY TTTK_PKG IS PROCEDURE GetTTTK AS taikhoan varchar(30); tenphong varchar(30); tenchucvu varchar(30); tenmanv varchar(10); BEGIN taikhoan := LOWER(SYS_CONTEXT('USERENV','SESSION_USER')); DBMS_SESSION.set_context('thongtintaikhoan','Gettaikhoan',taikh oan); if (taikhoan = 'khanhnx') then 24 DBMS_SESSION.set_context('thongtintaikhoan','GetChucVu','giam doc'); else if (taikhoan = 'truyenhm') then DBMS_SESSION.set_context('thongtintaikhoan','GetChucVu','truon g phong'); DBMS_SESSION.set_context('thongtintaikhoan','GetPhong','lap trinh'); else if (taikhoan = 'huongnt') then DBMS_SESSION.set_context('thongtintaikhoan','GetChucVu','truon g phong'); DBMS_SESSION.set_context('thongtintaikhoan','GetPhong','ke hoach'); else DBMS_SESSION.set_context('thongtintaikhoan','GetChucVu','nhan vien'); end if; end if; end if; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END GetTTTK; END; CREATE OR REPLACE TRIGGER RangBuocTTTK AFTER LOGON ON DATABASE BEGIN QuanTriVPD.TTTK_PKG.GetTTTK; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END;  Đăng nhập tài khoản khanhnx 25  Đăng nhập vào tài khoản truyenhm 3.2 Bảo mật mức hàng Cơ chế làm việc RLS gồm bước Bước Tạo Function FL/SQL trả String A Bước Tạo sách bảo mật áp dụng vào table, view muốn bảo vệ Bước Khi user thực câu truy vấn SQL Hệ thống gán String A vào sau mệnh đề Where 3.2.1 RLS với cấu lệnh SELECT Tạo Function PL/SQL tra String 26  Đăng nhập vào tài khoản quantriVPD, CREATE OR REPLACE FUNCTION Select_nhanvien( schema_p IN VARCHAR2, tables_p IN VARCHAR2) RETURN VARCHAR2 AS getchucvu varchar(50); trave varchar(1000); BEGIN SELECT SYS_CONTEXT('thongtintaikhoan','GetChucVu') into getchucvu FROM DUAL; trave := '1=2'; if (getchucvu = 'giam doc') then trave := NULL; else if (getchucvu = 'truong phong') then trave := 'phong = (SELECT SYS_CONTEXT(''thongtintaikhoan'',''GetPhong'') FROM DUAL)'; else trave := 'tentaikhoan = (SELECT SYS_CONTEXT(''thongtintaikhoan'',''GetTaiKhoan'') FROM DUAL)'; end if; end if; RETURN trave; END; Tạo sách bảo mật áp dụng vào bảng nhân viên BEGIN DBMS_RLS.ADD_POLICY( object_schema => 'congty', object_name => 'nhanvien', policy_name => 'VPD_Select_Nhanvien', function_schema => 'quantriVPD', policy_function => 'Select_Nhanvien', statement_types => 'Select'); END; Kết nối user thực câu lệnh SELECT vào bảng nhân viên 27  Đăng nhập vào tài khoản giám đốc khanhnx  Đăng nhập vào tài khoản trưởng phòng truyenhm  Đăng nhập vào tài khoản trưởng phòng huongnt 28  Đăng nhập vào tài khoản nhân viên trangnt 3.2.2 RLS với câu lệnh INSERT, UPDATE, DELETE  Đăng nhập vào tài khoản quantriVPD, tạo hàm, sau CREATE OR REPLACE FUNCTION INSERTUPDATEDELETE_Nhanvien( schema_p IN VARCHAR2, table_p IN VARCHAR2) RETURN VARCHAR2 AS getchucvu varchar(50); trave varchar2(1000); BEGIN SELECT SYS_CONTEXT('thongtintaikhoan','GetChucVu') into getchucvu FROM DUAL; 29 trave := '1=2'; if (getchucvu = 'giam doc') then trave := NULL; else if (getchucvu = 'truong phong') then trave := 'phong = (SELECT SYS_CONTEXT(''thongtintaikhoan'',''GetPhong'') FROM DUAL)'; else trave := '1=2'; end if; end if; RETURN trave; END; BEGIN DBMS_RLS.ADD_POLICY( object_schema => 'congty', object_name => 'nhanvien', policy_name => 'VPD_IDD_Nhanvien', function_schema => 'quantriVPD', policy_function => 'INSERTUPDATEDELETE_Nhanvien', statement_types => 'INSERT,UPDATE,DELETE', update_check => TRUE); END;  Đăng nhập vào tài khoản trưởng phịng lập trình truyenhm Trưởng phịng truyenhm thực update insert thành cơng áp dụng cho nhân viên phịng lập trình, khơng thành cơng với lệnh insert áp dụng cho phịng kế hoạch 30  Đăng nhập vào tài khoản trưởng phòng kế hoạch huongnt Trưởng phòng huongnt thực update insert thành cơng áp dụng cho nhân viên phịng kế hoạch, khơng thành cơng với lệnh insert áp dụng cho phịng lập trình 31  Đăng nhập tài khoản giám đốc khanhnx 3.3 Bảo mật mức cột  Đăng nhập tài khoản quantriVPD CREATE OR REPLACE FUNCTION only_view_salary( p_schema IN VARCHAR2 DEFAULT NULL, 32 p_object IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2 AS BEGIN RETURN 'tentaikhoan = (SELECT SYS_CONTEXT(''thongtintaikhoan'',''GetTaiKhoan'') FROM DUAL)'; END; BEGIN DBMS_RLS.add_policy( object_schema => 'congty', object_name => 'nhanvien', policy_name => 'VPD_only_view_salary', function_schema => 'quantriVPD', policy_function => 'only_view_salary', statement_types => 'SELECT', sec_relevant_cols => 'Luong', sec_relevant_cols_opt => DBMS_RLS.all_rows); END;  Đăng nhập truyenhm  Đăng nhập huongnt 33 3.4 Xóa bỏ sách hàm  Đăng nhập quantriVPD  Xóa chính sách BEGIN DBMS_RLS.DROP_POLICY( object_schema => 'congty', object_name => 'nhanvien', policy_name => 'VPD_Select_Nhanvien'); END; BEGIN DBMS_RLS.DROP_POLICY( object_schema => 'congty', object_name => 'nhanvien', policy_name => 'VPD_IDD_Nhanvien'); END;  Xóa hàm drop function ; 34 TÀI LIỆU THAM KHẢO [1] FinniGan, P Using Oracle VPD In The, 2008 [2] Nanda, Arup; Fine Grained Access Control, 2007 [3] 35 ... software 1.2 Giới thiệu Oracle Virtual Private Database (Oracle VPD) Oracle VPD (Cơ sở liệu riêng ảo Oracle) cung cấp tính bảo mật sở liệu Oracle VPD hữu ích sở liệu ứng dụng bảo mật phân quyền đối... Database – Oracle VPD liệu an tồn mức dịng cột đối tượng Với lý trên, nhóm em thực đề tài ? ?Tìm hiểu sở liệu riêng ảo Oracle – Oracle VPD” CHƯƠNG 1: TỔNG QUAN VỀ ORACLE? ??S VIRTUAL PRIVATE DATABASE (ORACLE. .. hệ thống sở liệu Vì việc quản trị bảo đảm an toàn liệu phần mềm ứng dụng trang web cần thiết Để hạn chế việc xâm nhập liệu cách trái phép cần có biện pháp áp dụng cho việc bảo vệ sở liệu Có nhiều

Ngày đăng: 02/10/2021, 17:32

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • CHƯƠNG 1: TỔNG QUAN VỀ ORACLE’S VIRTUAL PRIVATE DATABASE (ORACLE VPD)

    • 1.1. Giới thiệu về Oracle

    • 1.2. Giới thiệu về Oracle Virtual Private Database (Oracle VPD)

    • 1.3. Lợi ích của việc sử dụng Oracle VPD

      • 1.3.1. Bảo mật

      • 1.3.2. Đơn giản

      • 1.3.3. Linh động

      • 1.4. Cơ chế hoạt động của Oracle VPD

        • 1.4.1. Oracle VPD sử dụng với ngữ cảnh ứng dụng

        • 1.4.2. Phát sinh mệnh để WHERE tự động

        • 1.4.3. Chính sách áp dụng phải gắn với một đối tượng bảo mật cụ thể

        • 1.5. VPD trên cách phiên bản Oracle

        • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHÍNH SÁCH ORACLE VPD

          • 2.1. Gắn chính sách Oracle VPD tới một đối tượng

          • 2.2. Thực thi chính sách với loại câu lệnh SQL

          • 2.3. Điều khiển việc hiển thị dữ liệu dựa vào các chính sách

            • 2.3.1.Thiết lập những chính sách Oracle VPD ở mức cột

            • 2.3.2.Điều khiển hiển thị dữ liệu trong Oracle VPD

            • 2.3.3.Dùng mặt nạ hiển thị đối với những dữ liệu áp dụng chính sách Oracle VPD

            • 2.4. Tạo nhóm chính sách

              • 2.4.1.Định nghĩa nhóm chính sách

              • 2.4.2.Tạo một nhóm chính sách mới

              • 2.4.3.Chỉ định nhóm chính sách mặc định sys_default

              • 2.4.4.Thiết lập chính sách trên đối tượng

              • 2.4.5.Chứng thực chính sách trên đối tượng

Tài liệu cùng người dùng

Tài liệu liên quan