BẢO MẬT HỆ THỐNG THÔNG TIN Bài th c hành s 14ự ố ÔN T PẬ 1 Vi t m t th t c (procedure) cho phép in ra thông tin các tài nguyên (resource limits)ế ộ ủ ụ mà ng i dùng đ c gán thông qua profile Tr c khi[.]
Trang 1Bài th c hành s 14 ự ố
1. Vi t m t th t c (procedure) cho phép in ra thông tin các tài nguyên (resource limits)ế ộ ủ ụ
mà người dùng được gán thông qua profile. Trước khi xu t ra màn hình, th t c ph i ki mấ ủ ụ ả ể tra xem các tài nguyên được li t kê bên dệ ưới có đang tr ng thái UNLIMITED hay không.ở ạ
N u tài nguyên đó đang là UNLIMITED thì thay đ i nó thành giá tr đế ổ ị ược nêu bên dướ ồ i r i
m i xu t ra màn hình:ớ ấ
th i h n s d ng password là 90 ngàyờ ạ ử ụ
gia h n password là 15 ngàyạ
s l n nh p sai password là 3ố ầ ậ (Th t c có 1 thông s truy n vào là username)ủ ụ ố ề
2. Cho b ng có c u trúc nh sau thu c schema c a sec_manager:ả ấ ư ộ ủ
employee(empno, ename, email, salary, deptno)
Chi ti t:ế
empno (number) : mã s nhân viênố
ename (varchar2) : tên nhân viên
email (varchar2) : email c a nhân viênủ
salary (number): lương nhân viên
deptno (number) : mã s phòng ban c a nhân viên ố ủ Hãy dùng k thu t ỹ ậ Rowlevel Security b o v cho b ng ả ệ ả employee theo chính sách đ cượ
mô t dả ưới đây:
Nhân viên thu c phòng ban này không độ ược phép xem hay ch nh s a b t kỉ ử ấ ỳ thông tin nào c a nh ng nhân viên thu c phòng ban khác.ủ ữ ộ
Các nhân viên được phép xem (select) các thông tin c a nh ng ngủ ữ ười trong cùng phòng ban
Nhân viên không được phép insert/delete trên b ng.ả
Trang 2 Nhân viên ch có th update thông tin email c a b n thân mình. Nh ng thông tinỉ ể ủ ả ữ
cá nhân còn l i không đạ ược phép ch nh s a.ỉ ử
L u ý:ư
Tên c a nhân viên (ename) chính là username mà nhân viên đó dùng đ log inủ ể vào h th ng. (Sinh viên có th dùng hàm USER tr v username c a ngệ ố ể ả ề ủ ười dùng hi nệ
t i)ạ
Sinh viên ph i vi t c policy function và các l nh gán policy function cho tableả ế ả ệ employee
Sinh viên có th vi t 1 hay nhi u policy function đ hi n th c chính sách trên.ể ế ề ể ệ ự
Các policy function t o ra thu c schema c a user sec_manager và userạ ộ ủ sec_manager là người gán các policy function cho employee.
3. Cho b ng có c u trúc nh sau thu c schema c a sec_manager:ả ấ ư ộ ủ
employee(empno, ename, email , salary, deptno,manager)
Chi ti t:ế
empno (number) : mã s nhân viênố
ename (varchar2) : tên nhân viên
email (varchar2) : email c a nhân viênủ
salary (number): lương nhân viên
deptno (number) : mã s phòng ban c a nhân viên ố ủ
manager(number): mã s ngố ười qu n lý c a phòng ban mà nhân viên thu c vả ủ ộ ề Hãy dùng k thu t ỹ ậ Rowlevel Security b o v cho b ng ả ệ ả employee theo chính sách đ cượ
mô t dả ưới đây:
Nhân viên hay qu n lý thu c phòng ban này không đả ộ ược phép xem hay ch nhỉ
s a b t k thông tin nào c a nh ng nhân viên thu c phòng ban khác.ử ấ ỳ ủ ữ ộ
Nhân viên thu c phòng ban nào ch độ ỉ ược xem (select) thông tin c a các nhânủ viên thu c cùng phòng ban v i mình ngo i tr lộ ớ ạ ừ ương (salary). M i nhân viên ch có thỗ ỉ ể xem lương c a b n thân h ủ ả ọ
Nhân viên không có quy n ch nh s a (ề ỉ ử insert, update, delete) b t c thông tin gì,ấ ứ
k c thông tin c a chính nhân viên đó.ể ả ủ
Trang 3 Ch có ngỉ ười qu n lý t ng phòng ban đả ừ ược phép select, insert, update, delete t tấ
c các thông tin c a các nhân viên thu c phòng ban mình qu n lý. ả ủ ộ ả
L u ý:ư
Tên c a nhân viên (ename) chính là username mà nhân viên đó dùng đ log inủ ể vào h th ng. (Sinh viên có th dùng hàm USER tr v username c a ngệ ố ể ả ề ủ ười dùng hi nệ
t i)ạ
Sinh viên ph i vi t c policy function và các l nh gán policy function cho tableả ế ả ệ employee
Sinh viên có th vi t 1 hay nhi u policy function đ hi n th c chính sách trên.ể ế ề ể ệ ự
Các policy function t o ra thu c schema c a user sec_manager và userạ ộ ủ sec_manager là người gán các policy function cho employee.
4. Vi t m t th t c (procedure) cho phép tìm trong s các quy n h th ng và quy n đ iế ộ ủ ụ ố ề ệ ố ề ố
tượng c a m t user, n u có quy n nào có tùy ch n WITH ADMIN OPTION/WITHủ ộ ế ề ọ GRANT OPTION thì in ra thông tin v quy n đó, thu h i l i quy n đó và c p l i quy nề ề ồ ạ ề ấ ạ ề
đó cho user nh ng không có tùy ch n WITH ADMIN OPTION/WITH GRANT OPTION.ư ọ
Th t c có interface nh sau:ủ ụ ư
Change_privilege_option(p_username VARCHAR2)
Thông tin in ra c a quy n h th ng là tên c a quy n. Thông tin in ra c a quy n đ i tủ ề ệ ố ủ ề ủ ề ố ượ ng bao g m tên c a quy n, đ i tồ ủ ề ố ượng c a quy n và schema s h u đ i tủ ề ở ữ ố ượng đó
5. Vi t hàm ki m tra xem username và password nh p vào có trùng kh p v i username vàế ể ậ ớ ớ password c a Oracle hay không.ủ