3 minute read

2.3 Mô hình RBAC cơ bản

Role Hierarchy

User Assignment Users Roles

Advertisement

Permission Assignment

Operations Objects

Permissions

Hình 2.3: Mô hình RBAC cơ bản.

Khái niệm trọng tâm của mô hình RBAC là vai trò. Các mối quan hệ cơ bản của mô hình là Permission Assignment, User Assignment và Role Hierarchy. Trong mô hình này, một người dùng có thể được gán với nhiều vai trò và một vai trò có thể có một số người dùng. Mỗi vai trò được gán với một số quyền, và được định nghĩa phụ thuộc vào các chính sách của tổ chức. Hai nguyên tắc cơ bản của RBAC là cấp quyền tối thiểu và phân chia nhiệm vụ. Những nguyên tắc này giúp người dùng trong mô hình RBAC chỉ có vừa đủ các vai trò và các quyền để thực hiện chức trách của họ. Sự thừa kế giữa các vai trò được mô tả trong Role Hierarchy. Vai trò r1 thừa kế vai trò r2 nếu vai trò r1 chứa tất cả các quyền của r2. Trong mô hình RBAC cơ bản, các thành phần và các mối liên hệ giữa chúng được mô tả hình thức như Định nghĩa 2.1 [34].

Định nghĩa 2.1 Mô hình RBAC cơ bản là một bộ có tám thành phần được ký hiệu là MRBAC = <Users, Roles, Permissions, Operations, Objects, User Assignment, Permission Assignment, Role Hierarchy>. Trong đó:

U sers, Roles, P ermissions, Operations, và Obj ects lần lượt là tập những người dùng, vai trò, quyền, phép toán, và đối tượng có trong hệ thống.

U serAssignment (U A) ⊆ U sers × Roles là phép gán nhiều - nhiều giữa người dùng và vai trò.

assigned_ users(r) = {u ∈ U sers | (u, r) ∈ U A)} là ánh xạ từ một vai trò r ∈ Roles đến những người dùng của vai trò đó.

P ermissions = 2Operations×Obj ects là tập các quyền.

P ermissionAssignment (P A) ⊆ Roles × P ermissions là phép gán nhiều nhiều giữa quyền và vai trò.

assigned_permissions(r) = {p ∈ P ermissions | (r, p) ∈ P A} là ánh xạ từ một vai trò r ∈ Roles đến các quyền của vai trò đó.

RoleH ierarchy (RH) ⊆ Roles × Roles định nghĩa một mối quan hệ thừa kế giữa các vai trò. Vai trò r1 thừa kế (được ký hiệu bởi ) vai trò r2 nếu vai trò r1 có tất cả các quyền của r2.

r1 r2 → authoriz ed _permissions(r2) ⊆ authoriz ed _permissions(r1) authoriz ed _permissions(r) = {p ∈ P ermissions | (r r, (p, r ) ∈ P A} là ánh xạ từ vai trò r đến tập quyền của vai trò đó trong phân cấp vai trò.

Trong mô hình RBAC, người dùng không được thực hiện các hành động một cách trực tiếp đến các tài nguyên của hệ thống mà phải gián tiếp thông qua các vai trò, để được cấp quyền thực hiện. Vì thế một vị trí công việc của người dùng hoặc các quy định của tổ chức có sự thay đổi thì người quản trị hệ thống có thể dễ dàng thay đổi các vai trò, quyền bằng cách bổ sung hoặc loại bỏ chúng. Điều này làm tăng tính linh hoạt trong việc quản lý chính sách điều khiển truy cập của hệ thống [33, 34].

Ví dụ: Giả sử một hệ thống quản lý hồ sơ y tế (hệ thống này sẽ được sử dụng trong phần thực nghiệm của Chương 3) có ba người dùng là Ann, Tom và Bob. Mỗi người dùng trong hệ thống có thể có các vai trò Bác sĩ (Doctor), Lễ tân (Receptionist) hoặc Y tá (Nurse). Theo phân công nhiệm vụ của bệnh viện, Tom là y tá, Bob là bác sĩ và Ann là lễ tân. Trong hệ thống, Bác sĩ có các quyền đọc (Read) và cập nhật (Update) các hồ sơ y tế (MedicalRecord), Y tá có quyền đọc (Read) các hồ sơ y tế và Lễ tân có quyền tạo (Create) các hồ sơ y tế. Khi đó, mô hình RBAC của hệ thống bệnh viện này được định nghĩa hình thức: MRBAC = <U, R, Prm, Op, Ob, UA, PA, RH>, trong đó:

U = {Bob, Tom, Ann}

R = {Doctor, Receptionist, Nurse}

Op ={Read, Update, Create}

Ob = {MedicalRecord }

P rm ={(Read, MedicalRecord ), (Update, MedicalRecord ), (Create, MedicalRecord )}

U A = {(Tom, Nurse), (Bob, Doctor ), (Ann, Receptionist )}

P A = {(Nurse, (Read, MedicalRecord )),(Doctor, (Read, MedicalRecord )), (Doctor, (Update, MedicalRecord )), (Receptionist, (Create, MedicalRecord ))}

RH ={∅}.

This article is from: