
Bài th c hành s 8ự ố
ORACLE LABEL SECURITY (1)
Tóm t t n i dung:ắ ộ
Mô hình DAC và MAC
DAC và MAC trong Oracle
Gi i thi u Oracle Label Securityớ ệ
H ng d n cài đt Oracle Label Securityướ ẫ ặ
Chính sách trong Oracle Label Security
I. Gi i thi uớ ệ
A. Lý thuy tế
1. Mô hình DAC và MAC
Có 2 mô hình tiêu bi u dùng đ qu n lý vi c truy xu t d li u m t cách đúngể ể ả ệ ấ ữ ệ ộ
đn và b o đm an toàn cho d li u là DAC (Discretionary Access Control) vàắ ả ả ữ ệ
MAC (Mandatory Access Control).
DAC: qu n lý vi c truy xu t d li u b ng cách qu n lý vi c c p phát cácả ệ ấ ữ ệ ằ ả ệ ấ
quy n truy xu t cho nh ng ng i dùng thích h p tùy theo yêu c u c a các chínhề ấ ữ ườ ợ ầ ủ
sách b o m t.ả ậ
MAC: qu n lý vi c truy xu t d a trên m c đ nh y c m c a d li u và m cả ệ ấ ự ứ ộ ạ ả ủ ữ ệ ứ
đ tin c y c a ng i dùng truy xu t CSDL. B ng cách phân l p và gán nhãn choộ ậ ủ ườ ấ ằ ớ
d li u và ng i dùng, đng th i áp d ng quy t c “ữ ệ ườ ồ ờ ụ ắ no read up - no write down”,
mô hình MAC giúp ta tránh đc vi c rò r d li u có m c đ nh y c m cao raượ ệ ỉ ữ ệ ứ ộ ạ ả
cho nh ng ng i dùng có đ tin c y th p.ữ ườ ộ ậ ấ
2. MAC và DAC trong Oracle
DAC :
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

Trong Oracle Database, các nhà qu n tr có th áp d ng mô hình DAC thông quaả ị ể ụ
vi c qu n lý các truy xu t theo quy n đi t ng và quy n h th ng (bài Lab 3 –ệ ả ấ ề ố ượ ề ệ ố
Quy n và Roleề).
MAC :
Oracle hi n th c mô hình MAC trên lý thuy t thành s n ph m Oracle Labelệ ự ế ả ẩ
Security (OLS). Tuy nhiên, do mô hình MAC lý thuy t tuân theo nguyên t c “ế ắ no
read up - no write down” nên ch b o đm tính bí m t mà không có tính toàn v n.ỉ ả ả ậ ẹ
Đ cung c p m t mô hình b o v t t h n cho CSDL c a khách hàng, OLS c aể ấ ộ ả ệ ố ơ ủ ủ
Oracle đã c i ti n mô hình MAC lý thuy t b ng cách thay đi nguyên t c trênả ế ế ằ ổ ắ
thành “no read up - no write up - limited write down”. Nh v y, tính b o m t vàờ ậ ả ậ
tính toàn v n c a d li u đc b o đm. M t khác, khác v i mô hình lý thuy t,ẹ ủ ữ ệ ượ ả ả ặ ớ ế
OLS không b t bu c áp d ng MAC cho toàn b CSDL. Ng i qu n tr có th chắ ộ ụ ộ ườ ả ị ể ỉ
đnh ra nh ng table ho c schema nào s đc áp d ng OLS.ị ữ ặ ẽ ượ ụ
M i t ng quan gi a DAC và MACố ươ ữ :
Khi ng i dùng nh p vào 1 câu truy v n SQL, đu tiên Oracle s ki m tra DACườ ậ ấ ầ ẽ ể
đ b o đm r ng user đó có quy n truy v n trên table đc nh c đn trong câuể ả ả ằ ề ấ ượ ắ ế
truy v n. K ti p Oracle s ki m tra xem có chính sách VPD (Virtual Privateấ ế ế ẽ ể
Database) nào đc áp d ng cho table đó không. N u có, chu i đi u ki n c aượ ụ ế ỗ ề ệ ủ
chính sách VPD s đc n i thêm vào câu truy v n g c, giúp l c ra đc m tẽ ượ ố ấ ố ọ ượ ộ
t p các hàng d li u th a đi u ki n c a VPD. Cu i cùng, Oracle s ki m tra cácậ ữ ệ ỏ ề ệ ủ ố ẽ ể
nhãn OLS trên m i hàng d li u có trong t p trên đ xác đnh nh ng hàng nào màỗ ữ ệ ậ ể ị ữ
ng i dùng có th truy xu t (xem hình minh h a bên d i).ườ ể ấ ọ ướ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

Ki n trúc c a Oracle Label Securityế ủ
3. Gi i thi u Oracle Label Securityớ ệ
Oracle Label Security (OLS) là m t s n ph m đc hi n th c d a trên n nộ ả ẩ ượ ệ ự ự ề
t ng công ngh Virtual Private Database (VPD), cho phép các nhà qu n tr đi uả ệ ả ị ề
khi n truy xu t d li u m c hàng (row-level) m t cách ti n l i và d dàngể ấ ữ ệ ở ứ ộ ệ ợ ễ
h n. Nó đi u khi n vi c truy xu t n i dung c a các dòng d li u b ng cách soơ ề ể ệ ấ ộ ủ ữ ệ ằ
sánh nhãn c a hàng d li u v i nhãn và quy n c a user. Các nhà qu n tr có thủ ữ ệ ớ ề ủ ả ị ể
d dàng t o thêm các chính sách ki m soát vi c truy xu t các hàng d li u choễ ạ ể ệ ấ ữ ệ
các CSDL b ng giao di n đ h a thân thi n ng i dùng có tên g i là Oracleằ ệ ồ ọ ệ ườ ọ
Policy Manager ho c b ng các packages đc xây d ng s n.ặ ằ ượ ự ẵ
Có 6 package đc hi n th c s n cho OLS:ượ ệ ự ẵ
SA_SYSDBA: t o, thay đi, xóa các chính sách.ạ ổ
SA_COMPONENTS: đnh nghĩa và qu n lý các thành ph n c a nhãn.ị ả ầ ủ
SA_LABEL_ADMIN: th c hi n các thao tác qu n tr chính sách, nhãn. ự ệ ả ị
SA_POLICY_ADMIN: áp d ng chính sách cho b ng và schema.ụ ả
SA_USER_ADMIN: qu n lý vi c c p phát quy n truy xu t và quy đnh m cả ệ ấ ề ấ ị ứ
đ tin c y cho các user liên quan.ộ ậ
SA_AUDIT_ADMIN: thi t l p các tùy ch n cho các tác v qu n tr vi cế ậ ọ ụ ả ị ệ
audit.
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

(Trong ch ng trình này chúng ta ch tìm hi u cách làm vi c v i OLS thông qua 5ươ ỉ ể ệ ớ
package đu trong 6 package li t kê trên).ầ ệ ở
Trong OLS, ta dùng các chính sách (policy) đ qu n lý truy xu t. Đi v i m iể ả ấ ố ớ ỗ
chính sách, ta c n đnh ra m t t p nhãn đ phân l p d li u t cao xu ng th pầ ị ộ ậ ể ớ ữ ệ ừ ố ấ
d a theo m c đ nh y c m c a d li u (ngoài ra các nhãn còn có nh ng y u tự ứ ộ ạ ả ủ ữ ệ ữ ế ố
khác mà ta s bàn đn khi đi vào chi ti t). Các nhãn đó đc g i là các ẽ ế ế ượ ọ nhãn dữ
li uệ - “data label”. Sau đó ta áp d ng các chính sách lên các b ng ho c schema màụ ả ặ
mình mong mu n b o v . M i khi m t ng i dùng mu n truy xu t m t hàng dố ả ệ ỗ ộ ườ ố ấ ộ ữ
li u nào đó, h th ng s so sánh nhãn c a ng i dùng (ệ ệ ố ẽ ủ ườ user label) t i th i đi mạ ờ ể
đó v i nhãn d li u đ quy t đnh có cho phép vi c truy xu t hay không.ớ ữ ệ ể ế ị ệ ấ
4. Năm b c hi n th c OLS ướ ệ ự
Quy trình c b n đ hi n th c m t chính sách OLS g m 5 b c nh sau:ơ ả ể ệ ự ộ ồ ướ ư
B1: T o chính sách OLS.ạ
B2: Đnh nghĩa các thành ph n mà m t label thu c chính sách trên có th có.ị ầ ộ ộ ể
B3: T o các nhãn d li u th t s mà b n mu n dùng.ạ ữ ệ ậ ự ạ ố
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.ặ ệ ữ ườ
Trong ch ng trình c a chúng ta, các khái ni m và đi t ng OLS s l n l tươ ủ ệ ố ượ ẽ ầ ượ
đc gi i thi u theo th t c a các b c trong quy trình hi n th c c b n m tượ ớ ệ ứ ự ủ ướ ệ ự ơ ả ộ
chính sách OLS đ giúp các b n d theo dõi và th c hành.ể ạ ễ ự
B. Th c hànhự
1. Cài đt OLS ặ
Cài đt m c đnh c a Oracle không bao g m tính năng OLS. Do v y ph n nàyặ ặ ị ủ ồ ậ ầ
s h ng d n các b n cài đt thêm tính năng OLS cho m t c s d li u có s n.ẽ ướ ẫ ạ ặ ộ ơ ở ữ ệ ẵ
B n ph i có quy n admin đ có th th c hi n vi c cài đt này.ạ ả ề ể ể ự ệ ệ ặ
Trong ví d minh h a bên d i, tên (ụ ọ ướ System Identifier Database - SID) c a củ ơ
s d li u đang t n t i có tên là ở ữ ệ ồ ạ ORCL.
Các b c cài đt OLS:ướ ặ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

a. Tr c khi cài đt, c n đm b o là d ch v ướ ặ ầ ả ả ị ụ OracleService<SID> đã đc t t.ượ ắ
Trong ví d minh h a đây, d ch v có tên là ụ ọ ở ị ụ OracleServiceORCL. Đ t tể ắ
d ch v này, ch n ị ụ ọ Start Settings Control Panel Administrative
Tools Services.
b. Ch n d ch v ọ ị ụ OracleServiceORCL và nh n chu t ph i, ch n ấ ộ ả ọ Stop đ t t d chể ắ ị
v này.ụ
Chương Trình Đào Tạo Từ Xa KH & KT Máy Tính – Đại học Bách Khoa TP.HCM