Phân cấp vai trò (Role Hierarchy - RH) định nghĩa một quan hệ kế thừa giữa các vai trò, sự kế thừa đó được miêu tả bên trong các nhóm quyền. Trong một vài cài đặt cụ thể của RBAC, các quyền không được quản lý một cách tập trung, trong khi đó RH lại được quản lý tập trung. Với các hệ thống đó, RH được quản lý bên trong các nhóm người dùng chứa đựng các quan hệ, vai trò r1 chứa đựng vai trò r2 nếu như tất cả người dùng được xác thực cho r1 cũng là những người dùng được xác thực cho r2. Chú ý rằng, một người dùng của r1 có tất cả các quyền của r2, trong khi sự kế thừa quyền cho r1 và r2 không nói đến bất cứ điều gì về phân công người dùng (User Assignment).
Có hai kiểu RH đó là: General Role Hierarchies (RH tổng quát) và Limited Role Hierarchies (RH giới hạn).
RH tổng quát hỗ trợ định nghĩa đa kế thừa (multiple inheritance). Điều này có nghĩa là nó cung cấp khả năng kế thừa quyền cũng như việc kế thừa người dùng từ hai hay nhiều vai trò nguồn.
- RH Í ROLES × ROLES được gọi là quan hệ kế thừa, viết tắt là ,
r1 r2 chỉ khi tất cả các quyền của r2 cũng là các quyền của r1 và tất cả người sử dụng của r1 cũng là những người sử dụng của r2. r1 r2 Þ
authorized_permissions(r2) ⊆authorized_permissions(r1).
- authorized_users(r: ROLES) → 2USERS, ánh xạ vai trò r lên trên một tập
người dùng trong sự hiện diện của một RH, authorized_users(r) = {u Í
- authorized_permissions(r: ROLES) → 2PRMS, ánh xạ vai trò r lên trên một tập các quyền trong sự hiện diện của một RH.
authorized_permissions(r) = {p Í PRMS | r’ r, (p, r’) Í PA}.
RH giới hạn không hỗ trợ định nghĩa đa kế thừa. Định nghĩa RH giới hạn giống như RH tổng quát nhưng có thêm giới hạn sau đây:
r, r1, r2 Í ROLES, r r1∧ r r2⇒ r1 = r2
2.2.3. RBAC ràng buộc
RBAC ràng buộc (RBAC2) thêm các quan hệ phân chia trách nhiệm (Separation of Duty - SoD) vào mô hình RBAC0. SoD được sử dụng để thực thi các chính sách xung đột lợi ích mà các tổ chức có thể sử dụng để ngăn chặn người sử dụng vượt quá một mức độ hợp lý cho các quyền của họ.
Giống như một yếu tố an ninh cơ bản, SoD đã được công nhận một cách rộng rãi cho các ứng dụng trong kinh doanh, các ngành công nghiệp và chính phủ. Mục đích của nó là để đảm bảo rằng các sai sót và gian lận bên trong một tổ chức chỉ là kết quả của việc thông đồng giữa các cá nhân. Để giảm thiểu khả năng thông đồng, các cá nhân thuộc các nhóm kỹ năng khác nhau hoặc lợi ích khác nhau được phân công nhiệm vụ cần thiết và riêng biệt trong việc thực hiện các chức năng của một doanh nghiệp. Động lực ở đây chính là để đảm bảo rằng các sai sót và gian lận không xảy ra và cũng không có việc thông đồng của nhiều người sử dụng. Mô hình RBAC2 cho phép cả SoD tĩnh (Static Separation of Duty Relations - SSD) và SoD động (Dynamic Separation of Duty Relations - DSD).
Chúng ta biết rằng trong một hệ thống RBAC, một người sử dụng có thể ở trong một hoặc nhiều vai trò khác nhau. Như vậy, một câu hỏi đặt ra là liệu có sự xung đột về lợi ích của người sử dụng không trong trường hợp họ ở trong hai vai trò khác nhau mà hai vai trò này lại mâu thuẫn với nhau? Câu trả lời là điều này hoàn toàn có thể xảy ra. Giả sử, trong một ngân hàng, để thực hiện một giao dịch rút tiền từ tài khoản khách hàng. Hành động này cần hai vai trò cùng thực hiện, vai trò giao dịch viên thực hiện giao dịch và kiểm soát viên thực hiện phê duyệt giao dịch. Khi đó giao dịch rút tiền mới có thể hoàn tất. Rõ ràng, trong ví dụ này, giao dịch viên và giám sát viên là hai vai trò xung đột nhau và trong thực tế không thể có chuyện một người vừa là giao dịch viên vừa là kiểm soát viên.
SSD được đưa ra để giải quyết các vấn đề xung đột lợi ích như đã nói ở trên. Mô hình tổng quát các SoD tĩnh được minh họa trong hình 2.4.