Bài th c hành s  9

ORACLE LABEL SECURITY (2)

ắ ộ

 Tóm t

t n i dung:

(cid:0) ầ ủ Các thành ph n c a nhãn trong Oracle Label Security

(cid:0) ữ ệ Nhãn d  li u (data label)

ữ ệ

ầ ủ I. Các thành ph n c a nhãn d  li u

A.

Lý thuy tế

1.

ữ ệ Nhãn d  li u (data label)

ế ệ ữ ệ ả ằ ị ư  Nh  đã bi ộ ệ ố   t, mô hình MAC b o v  d  li u b ng cách quy đ nh m t h  th ng

ứ ộ ố ượ ể ễ ậ ữ ệ ấ ọ bi u di n m c đ  quan tr ng, bí m t cho các đ i t ng d  li u theo c p b c t ậ ừ

ứ ộ ụ ể ấ ạ ậ ố ộ ấ   cao xu ng th p. Ví d , m t công ty có th  phân lo i m c đ  bí m t thành 4 c p

ộ ả ứ ậ ầ ố ậ ả ớ v i m c đ  b o m t gi m d n: TOP SECRET (t ậ   i m t), SECRET (bí m t),

ộ ộ ỉ ư CONFIDENTIAL (ch  l u hành n i b ), PUBLIC (công khai).

 Trong OLS, Oracle s  d ng các

ử ụ ể ớ ữ ệ   ữ ệ (data label) đ  phân l p d  li u nhãn d  li u

ứ ộ ộ ố ủ ạ ả ỗ theo m c đ  nh y c m c a nó và m t s  tiêu chí khác. Nói cách khác, m i nhãn

ề ứ ộ ố ữ ệ ứ ủ ạ ả ộ ữ ệ ẽ d  li u s  ch a thông tin v  m c đ  nh y c m c a d  li u và m t s  tiêu chí

ườ ấ ế ữ ệ ứ ể ể ả ộ c ng thêm mà ng i dùng ph i đáp  ng đ  có th  truy xu t đ n d  li u đó.

 Nhãn d  li u là 1 thu c tính đ n g m 3 lo i thành ph n:

ữ ệ ạ ộ ơ ồ ầ level, compartment,

group.

 N u m t chính sách đ

ế ộ ượ ộ ả ụ ả ỗ c áp d ng cho m t b ng, thì m i hàng trong b ng đó

ữ ệ ể ể ộ ả ễ ộ nhãn d  li u (data label) ẽ ượ s  đ c gán m t ậ ủ   ứ  đ  bi u di n m c đ  b o m t c a

ữ ệ ị ủ ượ ư ứ ủ ộ hàng d  li u đó. Giá tr  c a nhãn đ c l u trong c t ch a thông tin c a chính

ạ ượ ụ ả sách (c t đ ộ ượ ự ộ c t đ ng t o thêm khi chính sách đ c áp d ng cho b ng).

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

2. Các thành ph n c a nhãn

ầ ủ

a. Level

 M i nhãn có đúng 1

ỗ ữ ệ ị ộ ủ ể ạ ả level bi u th  đ  nh y c m c a d  li u. OLS cho phép

ố t i đa 10,000 level trong 1 chính sách.

 Đ i v i m i level, ta c n đ nh nghĩa 1 d ng s  và 2 d ng chu i cho nó. VD:

ố ớ ầ ạ ạ ỗ ố ỗ ị

ỗ ạ ỗ ạ ắ D ng chu i dài D ng chu i ng n

HIGHLY_SENSITIVE SENSITIVE D ngạ   số 40 30 HS S

CONFIDENTIAL 20 C

PUBLIC 10 P

 D ng s  (numeric form)

ạ ố ố ủ ể ạ ả ị ả : d ng s  c a level có th  có gi tr  trong kho ng 0­

ạ ả ị ộ 9999. Level có giá tr  càng cao thì đ  nh y c m càng tăng. Trong VD trên,

ạ ả ử ụ ấ ộ ộ ỗ   Highly_sensitive có đ  nh y c m cao nh t. User nên tránh s  d ng m t chu i

ầ ự ị ể ể ủ ế ễ ể ộ tu n t liên ti p các giá tr  đ  bi u di n cho 1 b  level c a nhãn đ  tránh tình

ả ị ạ ớ ạ ộ tr ng khi có level m i thêm vào thì ph i đ nh nghĩa l i toàn b  các level.

 D ng chu i dài (long form)

ạ ỗ ứ ố ự ế ầ : ch a t i đa 80 ký t , cho bi ủ ủ   t tên đ y đ  c a

level.

 D ng chu i ng n (short form)

ạ ắ ỗ ứ ố ự ọ ủ ạ : ch a t i đa 30 ký t , là d ng rút g n c a tên

ử ụ ế ầ ả ỗ ọ level. M i khi c n tham kh o đ n level ta s  d ng tên rút g n này.

b. Compartment

 M i nhãn có th  có 1 ho c nhi u ho c không có

ể ề ặ ặ ỗ compartment nào. OLS cho

ố phép t i đa 10,000 compartment trong 1 chính sách.

 Compartment giúp cho vi c phân lo i d  li u theo lĩnh v c, chuyên ngành, d

ạ ữ ệ ự ệ ự

ể ệ ữ ệ ứ ự ứ ủ ạ ả ộ ấ án,…ch  không th  hi n s  phân c p m c đ  nh y c m c a d  li u đó.

ữ ệ ế ộ Nghĩa là n u ta có 2 d  li u thu c 2 compartment C1 và C2, thì có nghĩa là 2

ự ứ ộ ữ ệ   ữ ệ d  li u đó thu c 2 lĩnh v c khác nhau là C1 và C2 ch  không có nghĩa d  li u

ơ ữ ệ ạ ả ộ ộ thu c C1 nh y c m h n d  li u thu c C2 (hay ng ượ ạ c l i).

ố ớ ạ ầ ạ ỗ ố ỗ ị  Đ i v i m i compartment, ta c n đ nh nghĩa 1 d ng s  và 2 d ng chu i. VD:

ố ỗ ạ ạ D ng sạ D ng chu i dài ỗ   D ng chu i

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

85 65 FINANCIAL CHEMICAL ng nắ FINCL CHEM

45 OPERATIONAL OP

 D ng s  (numeric form)

ạ ố ố ủ ể ạ ả ị : d ng s  c a compartment có th  có gi tr  trong

ố ủ ị ủ ế ả kho ng 0­9999. Nó không liên quan gì đ n con s  c a level. Giá tr  c a nó

ứ ự ể ị ủ ể ộ ị dùng đ  quy đ nh th  t ố    hi n th  c a các compartment trong m t label. Đ i

ư ẽ ạ ớ v i VD trên, ta s  có các nhãn d ng nh  sau:

S:OP,CHEM,FINCL  (do OP có giá tr  nh  nh t nên nó đ

ấ ỏ ị ượ ể c hi n th  tr ị ướ   c

nh t)ấ

 D ng chu i dài (long form)

ạ ỗ ố ự ầ ủ ủ : t i đa 80 ký t , là tên đ y đ  c a compartment.

 D ng   chu i   ng n   (short   form)

ạ ắ ỗ ố ự ủ ạ ọ :   t i   đa   30   ký   t ,   là   d ng   rút   g n   c a   tên

ử ụ ế ầ ả ọ compartmet. Khi c n tham kh o đ n compartment ta s  d ng tên rút g n này.

c. Group

 M i nhãn có th  có 1 ho c nhi u ho c không có

ể ề ặ ặ ỗ iố group nào. OLS cho phép t

đa 10,000 group trong 1 chính sách.

 Group giúp xác đ nh nh ng t

ữ ị ổ ứ ở ữ ậ ặ ơ ộ ả    ch c, c  quan, b  ph n nào s  h u ho c qu n

ữ ệ ườ ể ệ ơ ấ ủ ậ lý d  li u (thông th ng nó th  hi n c  c u c a công ty). Do v y group có

ể ấ ộ ộ ộ ề   ấ c u trúc cây phân c p. M t group có th  thu c m t group cha và có nhi u

ữ ệ ộ ượ ư ộ ộ group con. D  li u thu c m t group con thì đ c xem nh  cũng thu c group

cha. VD:

ạ ỗ ạ D ng chu i dài Group cha D ngạ   số ỗ   D ng chu i ng nắ

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

1000 1100 WESTERN_REGION WR_SALES WR WR_SAL WR

1200 WR_HUMAN_RESOURCES WR_HR WR

1300 WR_FINANCE WR_FIN WR

1310 WR_ACCOUNTS_PAYABLE WR_AP WR_FIN

1320 WR_ACCOUNTS_RECEIVABLE WR_AR WR_FIN

 D ng s  (numeric form)

ạ ố ố ủ ể ạ ả ị ả : d ng s  c a group có th  có gi tr  trong kho ng 0­

ố ủ ị ủ ế ể 9999. Nó không liên quan gì đ n con s  c a level. Giá tr  c a nó dùng đ  quy

ứ ự ể ố ớ ị ủ ẽ ị đ nh th  t ộ  hi n th  c a các group trong m t label. Đ i v i VD trên, ta s  có

ư ạ các nhãn d ng nh  sau:

S:CHEM:WR,WR_HR (WR có giá tr  nh  h n WR_HR nên đ

ỏ ơ ị ượ ị ướ ể c hi n th  tr c)

 D ng chu i dài (long form)

ạ ỗ ứ ố ự ế : ch a t i đa 80 ký t , cho bi ủ t tên c a group.

 D ng chu i ng n (short form)

ắ ạ ỗ ứ ố ự ọ ủ ạ : ch a t i đa 30 ký t , là d ng rút g n c a tên

ử ụ ế ầ ả ỗ ọ group. M i khi c n tham kh o đ n group ta s  d ng tên rút g n này.

B.

Th c hành

1.

ạ T o level

Ở ầ ẽ ầ ạ ph n   này   ta   s t o   các   thành   ph n   level   cho   chính   sách

ạ ACCESS_LOCATIONS mà ta đã t o trong bài lab “ Oracle Label Security (1)”.

 Ta quy đ nh chính sách ACCESS_LOCATIONS c a ta có 3 level (theo th  t

ủ ị ứ ự

ộ ả ứ ậ ả ầ m c đ  b o m t gi m d n): SENSITIVE, CONFIDENTIAL, PUBLIC. Ta dùng

CONN sec_admin/secadmin;

BEGIN

sa_components.create_level

(policy_name => 'ACCESS_LOCATIONS',

long_name => 'PUBLIC',

short_name => 'PUB',

level_num => 1000);

END;

/

ể ạ procedure SA_COMPONENTS.CREATE_LEVEL đ  t o ra các level:

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

EXECUTE sa_components.create_level

('ACCESS_LOCATIONS',2000,'CONF','CONFIDENTIAL');

EXECUTE sa_components.create_level

('ACCESS_LOCATIONS',3000,'SENS','SENSITIVE');

ể ự ấ ạ Đo n code trên cho ta th y 2 cách khác nhau đ  th c thi procedure. Ng ườ ọ   i đ c

ọ ố ầ cũng c n chú ý cách ch n s  cho các level.

ủ ủ ể ầ ọ ổ ủ ụ    Đ   thay   đ i   đ y   đ   và   tên   rút   g n   c a   level,   ta   dùng   th   t c

ế ượ ấ ở SA_COMPONENTS.ALTER_LEVEL. N u level đang đ ộ   c dùng b i ít nh t m t

ữ ệ ủ ủ ư ể ể ầ ổ nhãn d  li u nào đó, ta có th  thay đ i tên đ y đ  c a nó nh ng không th  thay

ọ ườ ọ ổ ố ạ ể ề ợ ổ đ i tên rút g n. Trong m i tr ệ   ng h p, ta đ u không th  thay đ i s  đ i di n

CONN sec_admin/secadmin;

EXECUTE sa_components.create_level

('ACCESS_LOCATIONS',4000,'HS','HIGHLY SECRET');

BEGIN

sa_components.alter_level

(policy_name => 'ACCESS_LOCATIONS',

level_num => 4000,

new_short_name => 'TS',

new_long_name => 'TOP SECRET');

END;

/

BEGIN

sa_components.alter_level

(policy_name => 'ACCESS_LOCATIONS',

short_name => 'TS',

new_long_name => 'TOP SENSITIVE');

END;

/

ủ c a level.

ủ ụ ể ộ ế    Đ  xóa m t level ta dùng th  t c SA_COMPONENTS.DROP_LEVEL. N u

CONN sec_admin/secadmin;

ượ ử ụ ở ấ ỳ ể level đang đ ữ ệ c s  d ng b i b t k  nhãn d  li u nào, ta không th  xóa nó.

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

BEGIN

sa_components.drop_level

(policy_name => 'ACCESS_LOCATIONS',

short_name => 'TS');

END;

/

2.

ạ T o compartment

 Gi

ả ử s   chúng   ta   có   3   compartment   là:   Finance,   Sales   &   Marketing,   Human

Resources. ể   Đ ạ t o   compartment chúng ta   dùng   procedure

CONN sec_admin/secadmin;

SA_COMPONENTS.CREATE_COMPARTMENT:

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

BEGIN

sa_components.create_compartment

(policy_name => 'ACCESS_LOCATIONS',

long_name => 'SALES_MARKETING',

short_name => 'SM',

comp_num => 2000);

END;

/

EXECUTE sa_components.create_compartment

('ACCESS_LOCATIONS',3000,'FIN','FINANCE');

EXECUTE sa_components.create_compartment

('ACCESS_LOCATIONS',1000,'HR','HUMAN RESOURCES');

ủ ủ ể ầ ổ ủ ụ   ọ  Đ   thay   đ i   đ y   đ   và   tên   rút   g n   c a   compartment,   ta   dùng   th   t c

ủ ề ệ ệ SA_COMPONENTS.ALTER_COMPARTMENT.   Các   đi u   ki n   c a   vi c   thay

CONN sec_admin/secadmin;

EXECUTE sa_components.create_compartment

('ACCESS_LOCATIONS',4000,'PR','PUBLIC RELATIONS');

BEGIN

sa_components.alter_compartment

(policy_name => 'ACCESS_LOCATIONS',

comp_num => 4000,

new_short_name => 'PU',

new_long_name => 'PURCHASING');

END;

/

BEGIN

sa_components.alter_compartment

(policy_name => 'ACCESS_LOCATIONS',

short_name => 'PU',

new_long_name => 'PURCHASE');

END;

/

ư ố ớ ủ ố ộ ổ đ i thu c tính c a compartment gi ng nh  đ i v i level.

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

 Đ   xóa   m t   compartment   ta   dùng   th   t c   SA_COMPONENTS.DROP_

ủ ụ ể ộ

ượ ử ụ ở ấ ỳ ế COMPARTMENT. N u compartment đang đ c s  d ng b i b t k  nhãn d ữ

CONN sec_admin/secadmin;

BEGIN

sa_components.drop_compartment

(policy_name => 'ACCESS_LOCATIONS',

short_name => 'PU');

END;

/

ể ệ li u nào, ta không th  xóa nó.

3.

ạ T o group

 Chính sách c a chúng ta s  có 1 group c p cao nh t là Corporate (CORP) t

ủ ẽ ấ ấ ươ   ng

ứ ạ ộ ớ ấ ộ ở ng v i c p đ  toàn công ty. Công ty này có các chi nhánh ho t đ ng 3 n ướ   c:

Ứ ớ ỹ ỗ   M  (American United States), Anh (United Kingdom) và Canada.  ng v i m i

ự ạ khu v c đó ta t o 1 group con cho group CORP.

 Ta dùng procedure SA_COMPONENTS.CREATE_GROUP đ  t o ra các group:

CONN sec_admin/secadmin;

BEGIN

sa_components.create_group

(policy_name => 'ACCESS_LOCATIONS',

long_name => 'CORPORATE',

short_name => 'CORP',

group_num => 10,

parent_name => NULL);

END;

/

EXECUTE SA_COMPONENTS.CREATE_GROUP

('ACCESS_LOCATIONS',30,'US','UNITED STATES','CORP');

EXECUTE SA_COMPONENTS.CREATE_GROUP

('ACCESS_LOCATIONS',50,'UK','UNITED KINGDOM','CORP');

EXECUTE SA_COMPONENTS.CREATE_GROUP

('ACCESS_LOCATIONS',70,'CA','CANADA','CORP');

ể ạ

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

ủ ủ ể ầ ổ ọ ủ ụ    Đ   thay   đ i   đ y   đ   và   tên   rút   g n   c a   group,   ta   dùng   th   t c

ủ ề ệ ệ ổ ộ   SA_COMPONENTS.ALTER_GROUP. Các đi u ki n c a vi c thay  đ i thu c

CONN sec_admin/secadmin;

EXECUTE sa_components.create_group

('ACCESS_LOCATIONS',90,'FR','FRANCE','CORP');

BEGIN

sa_components.alter_group

(policy_name => 'ACCESS_LOCATIONS',

group_num => 90,

new_short_name => 'RFR',

new_long_name => 'REPUBLIC FRANCE');

END;

/

BEGIN

sa_components.alter_group

(policy_name => 'ACCESS_LOCATIONS',

short_name => 'RFR',

new_long_name => 'PURCHASE');

END;

/

ư ố ớ ủ ố tính c a group gi ng nh  đ i v i level.

ủ ụ ể ộ ế    Đ  xóa m t group ta dùng th  t c SA_COMPONENTS.DROP_GROUP. N u

CONN sec_admin/secadmin;

BEGIN

sa_components.drop_group

(policy_name => 'ACCESS_LOCATIONS',

short_name => 'RFR');

END;

/

ượ ử ụ ở ấ ỳ ể group đang đ ữ ệ c s  d ng b i b t k  nhãn d  li u nào, ta không th  xóa nó.

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

ế ề

ữ ệ

II. Chi ti

t v  nhãn d  li u

A. Lý thuy tế

1.

ữ ệ ủ Cú pháp c a nhãn d  li u

 Hình sau minh h a quan h  c a các thành ph n trong 1 nhãn:

ệ ủ ầ ọ

 M t nhãn d  li u b t k  có cú pháp sau:

ấ ỳ ữ ệ ộ

LEVEL : COMPARTMENT1, ..., COMPARTMENTn : GROUP1, ..., GROUPn

ự ả ộ ể ứ ố ự ồ ỗ  Chu i ký t mô t m t nhãn có th  ch a t i đa 4000 ký t , bao g m các ký t ự

ự ữ ấ ả ạ ướ ố s , ký t ắ  ch , kho ng tr ng, d u g ch d i (_).

 Các nhãn không phân bi

ệ ữ ườ ữ ỗ ượ ư t ch  hoa, ch  th ng. Tuy nhiên chu i đ c l u tr ữ

ẽ ể ị ướ ạ ữ trong data dictionary s  hi n th  d i d ng ch  hoa.

 D u hai ch m (“:”) dùng đ  phân cách gi a các lo i thành ph n. VD:

 SENSITIVE

 HIGHLY_SENSITIVE:FINANCIAL

 SENSITIVE::WESTERN_REGION

 CONFIDENTIAL:FINANCIAL:VP_GRP

 SENSITIVE:FINANCIAL,CHEMICAL:EASTERN_REGION,WESTERN_REGION

ữ ể ấ ấ ầ ạ

ộ ọ ệ ế ợ level, compartment, group ụ  Hình sau đây là m t ví d  minh h a cho vi c k t h p

ạ ữ ệ ủ ộ ổ ứ ể đ  phân lo i d  li u c a m t t ch c:

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

 Không ph i m i t

ọ ổ ợ ủ ề ả ầ ộ ợ    h p c a các thành ph n đ u hình thành nên m t nhãn h p

ữ ị ỉ ổ ợ ầ ệ l . Ta ch  đ nh nghĩa nh ng nhãn nào có t h p thành ph n mà ta có nhu c u s ầ ử

ậ ự ụ d ng th t s  trong th c t ự ế .

 S  d ng package SA_COMPONENTS đ  đ nh nghĩa các thành ph n c a nhãn.

ầ ủ ử ụ ể ị

 S  d ng package SA_LABEL_ADMIN đ  t o và qu n lý nhãn.

ử ụ ể ạ ả

2.

Label Tag

 Khi m t nhãn d  li u m i đ

ữ ệ ớ ượ ạ ẽ ự ộ ạ ộ c t o, Oracle s  t ộ    đ ng t o cho nhãn đó m t

ố ạ ệ ượ ọ con s  đ i di n đ c g i là label tag.

 M i ỗ label tag xác đ nh duy nh t 1 nhãn trong toàn b  các nhãn c a t

ủ ấ ả ấ ộ ị t c  các

ơ ở ữ ệ ộ ơ ở ữ ệ   chính sách có trong c  s  d  li u đó. Nói cách khác, trong m t c  s  d  li u,

ấ ỳ ặ không có b t k  2 label tag nào (cùng 1 chính sách ho c khác chính sách) có giá tr ị

ố gi ng nhau.

 Giá tr  c a

ố ạ ư ệ ấ ị ủ label tag không có tính ch t so sánh nh  con s  đ i di n cho level.

 Đây là con s  th t s  đ

ố ậ ự ượ ư ứ ủ ộ c l u vào c t ch a thông tin nhãn c a chính sách

ả ượ ả ệ trong các b ng đ c b o v .

 Ngoài hình th c t o t

ứ ạ ự ộ ự ị ị đ ng, Oracle cũng cho phép ta t đ nh nghĩa giá tr  tag

ụ ử ế ễ ằ ắ ả cho các nhãn nh m m c đích d  qu n lý, s p x p, so sánh và x  lý trong quá

ụ ả ị ướ ị trình   qu n   tr .   Trong   ví   d   bên   d i,   ta   quy   đ nh   các   nhãn   có   level

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

ắ ầ ố ắ ầ   ằ “highly_sensivitve” (H) có tag b t đ u b ng s  4, “sensitive” (S) có tag b t đ u

ố ằ b ng s  3,…

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

ữ ệ Label Tag Nhãn d  li u

10000 20000 P C

21000 C:FNCL

21100 30000 C:FNCL,OP S

31110 40000 S:OP:WR HS

42000 HS:OP

ự B. Th c hành

ướ ở ươ ớ ướ ứ ệ Các b ừ c ta v a làm ầ  ph n I t ng  ng v i b ự   c 2 trong quy trình hi n th c

Ở ầ ẽ ự ệ ướ ậ ự ầ ạ ừ OLS. ph n này ta s  th c hi n b c 3: t o các nhãn th t s  c n dùng t các thành

ầ ph n trên.

ủ ụ ể ạ Đ  t o nhãn ta dùng th  t c SA_LABEL_ADMIN.CREATE_LABEL. Khi s ử

ủ ụ ể ạ ả ự ị ố ụ d ng th  t c này đ  t o nhãn, ta ph i t đ nh ra ộ ố label tag (là m t s  nguyên có t i đa

CONN sec_admin/secadmin;

BEGIN

sa_label_admin.create_label

(policy_name => 'ACCESS_LOCATIONS',

label_tag => 10000,

label_value => 'PUB');

END;

/

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',20000,'CONF');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',20010,'CONF::US');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',20020,'CONF::UK');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',20030,'CONF::CA');

ữ ố ượ ạ 8 ch  s ) cho nhãn đ c t o.

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',21020,'CONF:HR:UK');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',22040,'CONF:SM:UK,CA');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',34000,'SENS:SM,FIN');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',39090,'SENS:HR,SM,FIN:CORP');

ườ ệ ố ự ự Thông th ng, khi xây d ng chính sách, ta cũng nên xây d ng h  th ng quy

ướ ể ệ ợ ệ ả ạ c đ t ặ label tag đ  ti n l i trong vi c qu n lý. Trong đo n code trên, ta quy ướ   c

ữ ố ầ ể ễ ữ ố ế ế   ch  s  đ u tiên bi u di n level (1 là PUB, 2 là CONF, 3 là SENS), 2 ch  s  k  ti p

ễ ể ế ữ ố ố bi u di n các compartment  (00 cho bi ể   t không có compartment), 2 ch  s  cu i bi u

ễ ế di n group (00 cho bi t không có group).

ộ ố ỉ ạ ự ứ ư ể ầ ọ ạ   (L u ý là trong ph n th c hành này ch  t o m t s  nhãn đ  minh h a, ch  không t o

ầ ế ế ấ ả h t t t c  các nhãn c n thi t.)

ủ ụ ể ổ Đ  thay đ i nhãn, ta dùng th  t c SA_LABEL_ADMIN.ALTER_LABEL. Ta có

ị ủ ể ể ổ ổ ư th  thay đ i giá tr  c a nhãn nh ng không th  thay đ i giá tr  c a ị ủ label tag. Do v y,ậ

ổ ượ ủ ể ạ ả ả ậ ầ ữ ệ ộ đ  nh y c m c a d  li u có th  thay đ i đ c mà không c n ph i c p nh t l ậ ạ   i

CONN sec_admin/secadmin;

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',30000,'SENS');

EXECUTE sa_label_admin.create_label

('ACCESS_LOCATIONS',30090,'SENS::CORP');

BEGIN

sa_label_admin.alter_label

(policy_name => 'ACCESS_LOCATIONS',

label_tag => 30000,

new_label_value => 'SENS:SM');

sa_label_admin.alter_label

ứ ữ ệ ị ủ ư ứ ả ả b ng ch a d  li u đó, do trong b ng ch  l u ỉ ư label tag ch  không l u giá tr  c a nhãn.

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

(policy_name => 'ACCESS_LOCATIONS',

label_value => 'SENS:SM',

new_label_value => 'SENS:HR');

END;

/

BEGIN

sa_label_admin.drop_label

(policy_name => 'ACCESS_LOCATIONS',

label_value => 'SENS:HR');

END;

/

BEGIN

sa_label_admin.drop_label

(policy_name => 'ACCESS_LOCATIONS',

label_tag => 30090);

END;

/

ủ ụ ể ằ Ta có th  xóa nhãn b ng th  t c SA_LABEL_ADMIN.DROP_LABEL:

III. Bài t pậ

1. T o các thành ph n nhãn cho chính sách region_policy (trong bài t p c a Lab 8):

ậ ủ ạ ầ

 Compartment: MANAGEMENT, EMPLOYEE

 Group: REGION NORTH, REGION SOUTH, REGION EAST, REGION WEST

Level: level 1, level 2, level 3

2. T o b ng CUSTOMERS đ  áp d ng chính sách trên. Sau đó insert  d  li u vào.

ữ ệ ụ ể ả ạ

customers (

id NUMBER(10) NOT NULL,

cust_type VARCHAR2(10),

first_name VARCHAR2(30),

last_name VARCHAR2(30),

region VARCHAR2(5),

credit NUMBER(10,2),

CONSTRAINT customer_pk PRIMARY KEY (id));

ộ ố ộ ị ủ Vùng giá tr  c a m t s  c t:

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM

cust_type : silver, gold, platinum

region: north, west, east, south

ậ ữ ệ ủ ầ ọ ườ ợ ươ ứ ả ớ credit: h c viên c n nh p d  li u đ  cho 3 tr ng h p t ng  ng v i 3 kho ng giá

ị ừ ế tr  >2000, t 500 đ n 2000, < 500.

ữ ệ ẽ ượ ử ụ ả B ng d  li u này s  đ c s  d ng cho bài lab 10.

Chương Trình Đào Tạo Từ Xa

KH & KT Máy Tính – Đại học Bách Khoa TP.HCM