
Bài th c hành s 10ự ố
ORACLE LABEL SECURITY (3)
Tóm t t n i dung:ắ ộ
Các lo i nhãn ng i dùngạ ườ
Các quy n đc bi t trên chính sáchề ặ ệ
Các đi u ki n áp d ng chính sáchề ệ ụ
Áp d ng chính sách cho b ngụ ả
I. Các lo i nhãn ng i dùngạ ườ
A. Lý thuy tế
Trong bài Lab 8 - Oracle Label Security (1), ph n ở ầ I.A.4, chúng ta đã nh c đnắ ế
quy trình c b n đ xây d ng m t chính sách OLS. Theo đó:ơ ả ể ự ộ
B4: Gán chính sách trên cho các table ho c schema mà b n mu n b oặ ạ ố ả
v .ệ
B5: Gán các gi i h n quy n, các nhãn ng i dùng ho c các quy n truyớ ạ ề ườ ặ ề
xu t đc bi t cho nh ng ng i dùng liên quan.ấ ặ ệ ữ ườ
Th t c a 2 b c trên nh v y là h p lý, vì trong OLS, khi m t chính sáchứ ự ủ ướ ư ậ ợ ộ
đc ch đnh b o v cho m t b ng/schema, k t th i đi m đó b t k ng i dùngượ ỉ ị ả ệ ộ ả ể ừ ờ ể ấ ỳ ườ
nào cũng không th truy xu t vào b ng/schema đó tr khi đc gán cho các ể ấ ả ừ ượ nhãn
ng i dùngườ (user label) thích h p ho c đc c p nh ng quy n đc bi t đi v iợ ặ ượ ấ ữ ề ặ ệ ố ớ
chính sách đó.
Tuy nhiên, đ hi u đc tác d ng c a các tùy ch n áp d ng chính sách b cể ể ượ ụ ủ ọ ụ ở ướ
4, ta c n ph i hi u v các ràng bu c đi v i ng i dùng khi truy xu t các b ng vàầ ả ể ề ộ ố ớ ườ ấ ả
schema đc b o v . Do v y, đ vi c tìm hi u v OLS đc d dàng h n, trong bàiượ ả ệ ậ ể ệ ể ề ượ ễ ơ
lab này s t m hoán đi th t tìm hi u và th c hi n c a b c 4 và b c 5. Khi đãẽ ạ ổ ứ ự ể ự ệ ủ ướ ướ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

hi u và bi t cách hi n th c m t chính sách OLS, các b n hãy th c hi n các b cể ế ệ ự ộ ạ ự ệ ướ
theo đúng th t c a nó đ đm b o tính b o m t và toàn v n cho d li u .ứ ự ủ ể ả ả ả ậ ẹ ữ ệ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

1. Nhãn ng i dùng (user label)ườ
T i m i th i đi m, m i ng i dùng đu có m t nhãn g i là ạ ỗ ờ ể ỗ ườ ề ộ ọ nhãn ng i dùngườ
(user lable). Nhãn này có tác d ng cho bi t m c đ tin c y c a ng i dùng điụ ế ứ ộ ậ ủ ườ ố
v i nh ng d li u đc chính sách đó b o v . Nhãn ng i dùng cũng g m cácớ ữ ữ ệ ượ ả ệ ườ ồ
thành ph n gi ng nh nhãn d li u. Khi m t ng i dùng truy xu t trên b ngầ ố ư ữ ệ ộ ườ ấ ả
đc b o v , nhãn ng i dùng s đc so sánh v i nhãn d li u c a m i dòngượ ả ệ ườ ẽ ượ ớ ữ ệ ủ ỗ
trong b ng đ quy t đnh nh ng dòng nào ng i dùng đó có th truy xu t đc.ả ể ế ị ữ ườ ể ấ ượ
Hình bên d i minh h a m i quan h t ng ng c a ướ ọ ố ệ ươ ứ ủ user label và data label.
Các nhãn th hi n các quy n truy xu t (user authorization) đc gán cho cácể ệ ề ấ ượ
user. Các nhãn th hi n m c đ nh y c m c a d li u (data sensitivity) đcể ệ ứ ộ ạ ả ủ ữ ệ ượ
gán cho d li u. Đ có th truy xu t đc d li u, 2 lo i nhãn này ph i t ngữ ệ ể ể ấ ượ ữ ệ ạ ả ươ
thích v i nhau (access mediation).ớ
OLS cung c p cho chúng ta 2 cách th c đ qu n lý các ấ ứ ể ả user label: gán c thụ ể
t ng thành ph n c a nhãn cho user ho c gán nguyên nhãn cho user. Trong cácừ ầ ủ ặ
ph n sau s trình bày k h n v 2 cách qu n lý này.ầ ẽ ỹ ơ ề ả
Dù s d ng hình th c qu n lý nào, m i ng i dùng cũng có m t ử ụ ứ ả ỗ ườ ộ t p xác th cậ ự
quy nề (set of authorizations) đ l u gi thông tin v quy n h n truy xu t điể ư ữ ề ề ạ ấ ố
v i nh ng d li u đc chính sách đó b o v . T p xác th c quy n g m có:ớ ữ ữ ệ ượ ả ệ ậ ự ề ồ
Level cao nh tấ (User Max Level) c a ng i dùng trong các tác v readủ ườ ụ
và write.
Level th p nh tấ ấ (User Min Level) c a ng i dùng trong các tác vủ ườ ụ
write. User Min Level ph i th p h n ho c b ng User Max Level.ả ấ ơ ặ ằ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

T p các compartmentậ đc truy xu t.ượ ấ
T p các groupậ đc truy xu t.ượ ấ
(Đi v i m i compartment và group có l u kèm thông tin quy n truy xu tố ớ ỗ ư ề ấ
đc phép là quy n “ượ ề ch đcỉ ọ ” (read-only) hay quy n “ềđc-vi tọ ế ” (read-
write))
V i t p xác th c quy n, ta có th hình thành nên nhi u t h p các thành ph nớ ậ ự ề ể ề ổ ợ ầ
c a nhãn. Do v y m i ng i dùng có th có nhi u user label khác nhau nh ngủ ậ ỗ ườ ể ề ư
v n n m trong gi i h n c a t p xác th c quy n. ẫ ằ ớ ạ ủ ậ ự ề
Session label:
Session label là m t user label mà ng i dùng s d ng đ truy xu t dộ ườ ử ụ ể ấ ữ
li u trong m t session làm vi c. Session label có th là m t t h p b t k cácệ ộ ệ ể ộ ổ ợ ấ ỳ
thành ph n n m trong gi i h n t p xác th c quy n c a user đó.ầ ằ ớ ạ ậ ự ề ủ
Ng i qu n tr có th mô t session label m c đnh cho ng i dùng khiườ ả ị ể ả ặ ị ườ
thi t l p t p xác th c quy n cho ng i dùng đó.ế ậ ậ ự ề ườ
B n thân ng i dùng có th thay đi session label c a mình thành m tả ườ ể ổ ủ ộ
nhãn b t k v i đi u ki n là nhãn m i n m trong gi i h n xác th c quy nấ ỳ ớ ề ệ ớ ằ ớ ạ ự ề
c a h .ủ ọ
Row label:
Khi m t hàng m i đc insert vào m t b ng đang đc b o v , c n cóộ ớ ượ ộ ả ượ ả ệ ầ
m t nhãn d li u (data label) đc ch đnh cho hàng d li u m i đó. Ho cộ ữ ệ ượ ỉ ị ữ ệ ớ ặ
khi m t hàng đc update, nhãn d li u c a hàng đó cũng có th b thay đi.ộ ượ ữ ệ ủ ể ị ổ
Nh ng nhãn d li u trong các tr ng h p v a nói trên có th đcữ ữ ệ ườ ợ ừ ở ể ượ
gán cho dòng d li u t ng ng theo m t trong nh ng cách sau:ữ ệ ươ ứ ộ ữ
-Ng i update/insert hàng d li u ch đnh m t cách t ng mình ngay khiườ ữ ệ ỉ ị ộ ườ
th c hi n tác v update/insert đó.ự ệ ụ
-Hàm gán nhãn (labeling function) c a b ng đó t sinh nhãn theo nh ngủ ả ự ữ
đi u ki n đc hi n th c trong function t ng ng.ề ệ ượ ệ ự ươ ứ
-B ng giá tr m c đnh do ng i qu n tr quy đnh khi gán quy n h nằ ị ặ ị ườ ả ị ị ề ạ
truy xu t cho ng i dùng đó.ấ ườ
-B ng giá tr c a session label c a ng i dùng đó.ằ ị ủ ủ ườ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

Tùy ng c nh và tr ng h p mà giá tr nhãn m i thêm vào s r i vàoữ ả ườ ợ ị ớ ẽ ơ
tr ng h p nào trong các tr ng h p k trên.ườ ợ ườ ợ ể
Row label là t dùng đ ch nh ng nhãn đc áp d ng cho các hàng dừ ể ỉ ữ ượ ụ ữ
li u khi hàng đó đc update ho c insert.ệ ượ ặ
Khi insert/update, ng i dùng có th mô t t ng minh row label choườ ể ả ườ
dòng d li u m i đc update/insert, v i đi u ki n row label ph i th a ữ ệ ớ ượ ớ ề ệ ả ỏ đngồ
th iờ các đi u ki n sau: ề ệ
-Level th p h n ho c b ng max level c a ng i dùng đó.ấ ơ ặ ằ ủ ườ
-Level cao h n ho c b ng min level c a ng i dùng đó.ơ ặ ằ ủ ườ
-Ch đc ch a các compartment xu t hi n trong session label hi n t iỉ ượ ứ ấ ệ ệ ạ
c a ng i dùng đó và ng i dùng có quy n ủ ườ ườ ề vi t (write)ế trên các
compartment đó.
-Ch đc ch a các group xu t hi n trong session label hi n t i c aỉ ượ ứ ấ ệ ệ ạ ủ
ng i dùng đó và ng i dùng có quy n ườ ườ ề vi t (write)ế trên các group đó.
2. Qu n lý ng i dùng theo t ng lo i thành ph n c a nhãn ả ườ ừ ạ ầ ủ
Đ gán quy n theo cách này ta c n ch đnh ra c th các ể ề ầ ỉ ị ụ ể level, compartment,
group mà m t user có th truy xu t.ộ ể ấ
Đ d hi u ph n này, ng i h c c n nh l i quy t c qu n lý truy xu t c aể ễ ể ầ ườ ọ ầ ớ ạ ắ ả ấ ủ
OLS mà ta đã nêu lên trong bài Lab 8 – Oracle Label Security (1): “no read up -
no write up - limited write down”.
Qu n lý các levelả : g m có 4 thông s :ồ ố
max_level: level cao nh t mà ng i dùng có quy n đc và vi t. Vì quyấ ườ ề ọ ế
t c qu n lý đòi h i “ắ ả ỏ no read up – no write up” (không đc đc và vi t lênượ ọ ế
nh ng d li u có đ b o m t cao h n đ tin c y c a user) nên ữ ữ ệ ộ ả ậ ơ ộ ậ ủ max level
chính là “gi i h n trên” cho vi c truy xu t (đc và vi t) c a ng i dùng.ớ ạ ệ ấ ọ ế ủ ườ
min_level: level th p nh t mà ng i dùng có quy n write. Vì quy t cấ ấ ườ ề ắ
qu n lý yêu c u “limited write down” (ch vi t lên nh ng d li u có đ b oả ầ ỉ ế ữ ữ ệ ộ ả
m t th p h n đ tin c y c a ng i dùng m t m c gi i h n nào đó) nênậ ấ ơ ộ ậ ủ ườ ở ộ ứ ớ ạ
min level chính là “gi i h n d i” cho tác v vi t c a ng i dùng. “Gi i h nớ ạ ướ ụ ế ủ ườ ớ ạ
d i” cho tác v đc chính là level th p nh t mà chính sách đó quy đnh.ướ ụ ọ ấ ấ ị
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM