Sau khi nghiên cứu miền bảo mật và một số tài liệu tham khảo cũng nhƣ qua quá trình cài đặt thử nghiệm, chúng tôi đã xây dựng đƣợc một MetaModel cho ngôn ngữ mô hình hóa chuyên biệt miền cho miền bảo mật theo mô hình RBAC nhƣ sau:
37
Trong đó:
- Users là ngƣời dùng trong hệ thống, ngƣời dùng có thể là ngƣời hoặc một hệ thống.
- Roles là vai trò của ngƣời dùng trong một tổ chức.
- Permissions là cầu nối giữa vai trò(Roles) và hành động(Action) trên các nguồn tài nguyên của hệ thống (Resource).
- Actions là các hành động có thể thực hiện trên nguồn tài nguyên.
- AuthorizationConstrains là ràng buộc khi một vai trò đƣợc cấp quyền thực hiện một hành động trên nguồn tài nguyên.
- Map là thuật ngữ biểu đồ, để đại diện cho mỗi biểu đồ RBAC, một biểu đồ gồm nhiều node, các node đó chính là các concept thuộc miền RBAC mà chúng tôi đã xác định ở trên.
- SubRole chỉ mối quan hệ kế thừa trong Role, nếu r1 kế thừa r2 thì r1 sẽ thực hiện đƣợc tất cả các hành động trên nguồn tài nguyên của r2.
- AsignRole là mối quan hệ giữa User và Roles, một User đƣợc gán nhiều vai trò đƣợc gán cho nhiều vai trò.
- RoleHasP chỉ mối quan hệ giữa Role và Permission, một vai có thể có nhiều sự cho phép.
- PermissionAccessAction chỉ mối quan hệ giữa Permission và Action, một sự cho phép có thể cho phép thực hiện nhiều hành động trên các nguồn tài nguyên.
- AccessResource một sự cho phép thực hiện các hành động có thể là sự cho phép trên nhiều tài nguyên khác nhau.
Ngoài ra mối quan hệ giữa Map và các khái niệm khác là mối quan hệ cộng hợp (Composition), vì trong một biểu đồ chứa nhiều node trên đó.
38