500 SMALLINT 2 EDLEVEL 7 453 CHARACTER 1 SEX 3 385 DATE 10 BIRTHDATE 9 485 DECIMAL 9, 2 SALARY 6 485 DECIMAL 9, 2 BONUS 5 485 DECIMAL 9, 2 COMM 4
Tổ chức có quy tắc là kiểm toán dựa trên các nền tảng thông thường. Một phần của kiểm toán này chỉ ra rằng các nhân viên không nên có quyền truy cập dữ liệu thực sự bí mật. Quy tắc này quy định rằng các quản lý có quyền truy cập đọc và viết đối với tất cả các bản ghi của nhân viên. Giám đốc có quyền truy cập đọc và viết đối với tất cả các nhận viên trong phòng. Và đội trưởng có truyền truy cập đối với bất kỳ ai trong đội mà họ đứng đầu.
Để thiết lập bảo mật LBAC để các quy tắc này hoạt động
1. Định nghĩa các chính sách bảo mật và nhãn, và cấp nhãn bảo mật cho các người dùng.
2. Thay đổi bảng EMP bao gồm phân cột nhãn bảo mật và đưa chính sách bảo mật vào.
Định nghĩa các chính sách bảo mật và nhãn.
Để định nghĩa các chính sách bảo mật và nhãn cần phải có quyền hạn SECADM.
Bước 1a. Tạo thành phần nhãn bảo mật.
Điều đầu tiên bạn cần làm là chỉ định loại thành phần bảo mật để định nghĩa chính sách này. Trong trường hợp này, hợp lý nhất là loại chính sách "TREE". Một cây chính sách nghĩa là bạn có thể định nghĩa một tổ hợp các nhãn như là nhánh cây có các tập hợp con quyền lợi mà nhánh cha phải làm. Trong ví dụ này, tạo một thành phần bảo mật đặt tên là "J_DEPT".
CREATE SECURITY LABEL COMPONENT J_DEPT TREE ('HR_EXECUTIVE' ROOT,
'MAN_D11_E21' UNDER 'HR_EXECUTIVE' 'A00' UNDER 'HR_EXECUTIVE',
'B01' UNDER 'HR_EXECUTIVE', 'C01' UNDER 'HR_EXECUTIVE', 'D11' UNDER 'MAN_D11_E21', 'D21' UNDER 'HR_EXECUTIVE', 'E01' UNDER 'HR_EXECUTIVE', 'E11' UNDER 'HR_EXECUTIVE',
'E21' UNDER 'MAN_D11_E21' )
Dàn ý trên chỉ ra rằng gốc cây chính là HR_EXECUTIVE, và tất cả các phòng, ban là tập con dưới mức quản lý đó.
Bước 1b. Định nghĩa chính sách bảo mật
Bước tiếp theo yêu cầu dùng bảo mật LBAC trong ví dụ trên để định nghĩa chính sách liên quan đến thành phần nhãn bảo mật ở trên.
CREATE SECURITY POLICY J_DEPT_POLICY COMPONENTS J_DEPT
WITH DB2LBACRULES
RESTRICT NOT AUTHORIZED WRITE SECURITY LABEL
Bước thứ ba trong cài đặt chính sách bảo mật là tạo các nhãn bảo mật. Đây là nơi bạn sẽ xác định các nhiệm vụ khác mà mỗi người dùng có. Trong trường hợp này, vì ví dụ khá đơn giản, chỉ có ba nhãn: Quản lý, Giám đốc và Đội trưởng.
CREATE SECURITY LABEL J_DEPT_POLICY.EXECUTIVE COMPONENT J_DEPT 'HR_EXECUTIVE'
CREATE SECURITY LABEL J_DEPT_POLICY.MANAGE_D11_E21 COMPONENT J_DEPT 'MAN_D11_E21'
CREATE SECURITY LABEL J_DEPT_POLICY.A00 COMPONENT J_DEPT 'A00'
CREATE SECURITY LABEL J_DEPT_POLICY.B01 COMPONENT J_DEPT 'B01'
CREATE SECURITY LABEL J_DEPT_POLICY.C01 COMPONENT J_DEPT 'C01'
CREATE SECURITY LABEL J_DEPT_POLICY.D11 COMPONENT J_DEPT 'D11'
CREATE SECURITY LABEL J_DEPT_POLICY.D21 COMPONENT J_DEPT 'D21'
CREATE SECURITY LABEL J_DEPT_POLICY.E01 COMPONENT J_DEPT 'E01'
CREATE SECURITY LABEL J_DEPT_POLICY.E11 COMPONENT J_DEPT 'E11'
CREATE SECURITY LABEL J_DEPT_POLICY.E21 COMPONENT J_DEPT 'E21'
Trong bước tiếp theo bạn sẽ định nghĩa các quyền thực tế liên quan đến những nhãn này.
Bước 1d. Cấp quyền cho các nhãn
Các bước sau phác thảo các bước cấp quyền cho dữ liệu bảng. Quyền có thể là ALL ACCESS, WRITE ACCESS hoặc READ ACCESS. Nếu không có quyền nào được cấp cho người dùng thì người dùng đó sẽ không có khả năng truy cập bất kỳ dữ liệu nào. Nhớ là các quản lý có quyền truy cập cao nhất, giám đốc có quyền truy cập cao nhất trong phòng của họ và các đội trưởng có quyền truy cập tới tất cả các thành viên trong phòng mà họ quản lý.
db2 grant security label J_DEPT_POLICY.A00 to user Frank for read access db2 grant security label J_DEPT_POLICY.MANAGE_D11_E21 to user Joe for all access
db2 grant security label J_DEPT_POLICY.EXECUTIVE to user Jane for all access
Dán các nhãn trên vào người dùng sẽ xếp tầng các quyền truy cập dựa theo các định nghĩa trong bước 1a. Bởi vì người dùng Joe có nhãn là MANAGE_D11_E21, và được cung cấp tất cả các quyền, người đó sẽ có thể đọc và viết các hàng có đuôi bảo mật của J_DEPT_POLICY.D11 hoặc J_DEPT_POLICY.E21 (vì đó là các tập con của anh ta).
Khi chỉnh sửa bảng EMP bạn phải tạo một cột phụ để lưu nhãn bảo mật. Đây là loại "DB2SECURITYLABEL". Bạn sẽ chỉnh sửa bảng EMP đã có trong cơ sở dữ liệu SAMPLE. Để thực hiện điều này bạn phải dùng một người dùng được cấp mức đặc quyền gốc trong chính sách, vì thế trong trường hợp này người dùng đo là Jane. Bạn cũng phải loại bỏ MQT ra khỏi bảng ADEFUSR từ cơ sở dữ liệu mẫu.
CONNECT TO SAMPLE
Database Connection Information
Database server = DB2/NT 9.1.0 SQL authorization ID = GMILNE Local database alias = SAMPLE
DROP TABLE ADEFUSR
CONNECT RESET
ALTER TABLE EMP
ADD COLUMN DEPT_TAG DB2SECURITYLABEL ADD SECURITY POLICY J_DEPT_POLICY
Nếu bạn chọn bảng EMP, bạn sẽ nhìn thấy cột phụ được định nghĩa. Bởi vì bạn trình bày các sửa đổi bằng một định nghĩa người dùng trên mức EXECUTIVE, tất cả các đuôi bảo mật đều phải được thêm như là EXECUTIVE. Để thay đổi điều này bạn cần cập nhật bảng.
db2 => select EMPNO, FIRSTNME, LASTNAME, WORKDEPT, SALARY, varchar(SECLABEL_TO_CHAR('J_DEPT_POLICY',DEPT_TAG),30) from gmilne.emp
EMPNO FIRSTNME LASTNAME WORKDEPT SALARY 6 --- --- --- --- --- --- 000010 CHRISTINE HAAS A00 152750.00 HR_EXECUTIVE