CDE Self-Host NPD

Permission

1.6. Permission
(Quản lý Quyền hạn)

## 1.6. Permission
(Quản lý Quyền hạn)

1.6.1. Mục đích

1.6.2. Danh sách Permission

1.6.3. Module
(Nhóm chức năng)

1.6.4. Name
(Tên Permission)

1.6.5. Description
(Mô tả Permission)

1.6.6. Permission của BIM Objects

1.6.7. Permission của Documents

1.6.8. Permission của Projects

1.6.9. Quan hệ giữa Permission và ProjectRole

1.6.10. Ví dụ

1.6.11. Nguyên tắc phân quyền

1.6.12. Lưu ý

1.6.13. Nguyên tắc cốt lõi


1.6.1. Mục đích

Chức năng Permission dùng để quản lý danh mục các quyền thao tác trong CDE NPD.

Mỗi Permission đại diện cho một hành động cụ thể mà người dùng có thể được phép thực hiện trong một Module.

Ví dụ:

- Xem BIM Object.
- Tạo BIM Object.
- Sửa BIM Object.
- Xóa BIM Object.
- Upload tài liệu.
- Download tài liệu.
- Review tài liệu.
- Approve tài liệu.
- Tạo thư mục.
- Đổi tên thư mục.
- Xóa thư mục.
- Thêm người dùng vào Project.

Permission là lớp quyền chi tiết nhất của hệ thống.

ProjectRole, Group hoặc User sẽ được gán các Permission phù hợp để xác định quyền thực tế của người dùng.

--------------------------------------------------

1.6.2. Danh sách Permission

Danh sách Permission gồm các cột chính:

- Module
- Name
- Description

Mỗi dòng tương ứng với một quyền cụ thể trong hệ thống.

Ví dụ:

Module:
BIM_Objects

Name:
View BIM objects

Description:
Xem danh sách và chi tiết BIM Objects/Object Registry

Hoặc:

Module:
Documents

Name:
Upload documents

Description:
Thêm file mới vào hệ thống

--------------------------------------------------

1.6.3. Module
(Nhóm chức năng)

Module xác định Permission thuộc khu vực chức năng nào của CDE.

Ví dụ hiện tại có các Module như:

- BIM_Objects
- Documents
- Projects

Một Module có thể chứa nhiều Permission khác nhau.

Ví dụ:

BIM_Objects
→ View BIM objects
→ Create BIM object
→ Edit BIM object
→ Delete BIM object
→ Import BIM objects
→ Link BIM object to document

Documents
→ View document
→ Upload documents
→ Edit document metadata
→ Delete document
→ Approve documents
→ Reject document
→ Download documents
→ Review Document

Projects
→ View project list
→ Rename folder
→ Delete folder
→ Assign user to project
→ Create folder

Việc nhóm Permission theo Module giúp hệ thống dễ quản lý và giúp người quản trị dễ hiểu quyền đang tác động đến khu vực nào.

--------------------------------------------------

1.6.4. Name
(Tên Permission)

Name là tên kỹ thuật hoặc tên chức năng của Permission.

Ví dụ:

View BIM objects

Create BIM object

Upload documents

Approve documents

Review Document

Create folder

Tên Permission nên thể hiện rõ hành động mà người dùng được phép thực hiện.

--------------------------------------------------

1.6.5. Description
(Mô tả Permission)

Description giải thích cụ thể tác dụng của Permission.

Ví dụ:

View BIM objects
→ Xem danh sách và chi tiết BIM Objects/Object Registry.

Create BIM object
→ Tạo BIM Object thủ công trong Object Registry.

Import BIM objects
→ Import/sync BIM Objects từ Revit, IFC hoặc COBie.

Link BIM object to document
→ Liên kết BIM Object với Document/DocumentVersion.

Upload documents
→ Thêm file mới vào hệ thống.

Approve documents
→ Thực hiện quy trình phê duyệt.

Reject document
→ Từ chối phê duyệt, yêu cầu sửa.

Description giúp người quản trị hiểu chính xác phạm vi của từng Permission trước khi gán cho ProjectRole, Group hoặc User.

--------------------------------------------------

1.6.6. Permission của BIM Objects

Nhóm BIM_Objects kiểm soát các thao tác liên quan đến Object Registry.

Các Permission hiện thấy gồm:

- View BIM objects
- Create BIM object
- Edit BIM object
- Delete BIM object
- Import BIM objects
- Link BIM object to document

Nhóm quyền này cho phép kiểm soát riêng việc:

- xem Object;
- tạo Object;
- chỉnh sửa Object;
- xóa hoặc vô hiệu hóa Object;
- đồng bộ Object từ hệ thống bên ngoài;
- liên kết Object với Document và DocumentVersion.

Điều này phù hợp với nguyên tắc Object là dữ liệu trung tâm trong hệ thống BIM của CDE NPD.

--------------------------------------------------

1.6.7. Permission của Documents

Nhóm Documents kiểm soát các thao tác liên quan đến tài liệu.

Các Permission hiện thấy gồm:

- View document
- Upload documents
- Edit document metadata
- Delete document
- Approve documents
- Reject document
- Download documents
- Review Document

Có thể hiểu theo các nhóm nghiệp vụ:

Xem và truy cập:
→ View document
→ Download documents

Tạo và chỉnh sửa:
→ Upload documents
→ Edit document metadata

Kiểm tra và phê duyệt:
→ Review Document
→ Approve documents
→ Reject document

Quản lý vòng đời:
→ Delete document

Nhờ tách riêng từng Permission, CDE có thể tạo nhiều vai trò khác nhau mà không cần cấp toàn bộ quyền quản lý tài liệu cho mọi người dùng.

--------------------------------------------------

1.6.8. Permission của Projects

Nhóm Projects kiểm soát các thao tác ở phạm vi Project và cây thư mục.

Các Permission hiện thấy gồm:

- View project list
- Rename folder
- Delete folder
- Assign user to project
- Create folder

Ví dụ:

Viewer có thể chỉ được:
→ View project list.

Designer có thể được:
→ View project list
→ Create folder
→ Rename folder.

Project Administrator có thể được thêm:
→ Delete folder
→ Assign user to project.

Việc gán quyền thực tế phụ thuộc vào ProjectRole và các nguồn Permission khác.

--------------------------------------------------

1.6.9. Quan hệ giữa Permission và ProjectRole

Permission không tự quyết định người dùng nào được quyền thao tác.

Permission chỉ là danh mục các hành động mà hệ thống hỗ trợ.

ProjectRole sẽ sử dụng các Permission này để tạo bộ quyền cho từng vai trò.

Có thể hiểu:

Permission
→ Hệ thống có những quyền gì?

ProjectRole
→ Vai trò này được cấp những quyền nào?

User / Group
→ Người dùng cụ thể còn được cấp thêm quyền nào?

Effective Permission
→ Cuối cùng người dùng thực sự được phép làm gì?

--------------------------------------------------

1.6.10. Ví dụ

Giả sử CDE có các Permission:

- View document
- Upload documents
- Review Document
- Approve documents

Role Designer được cấp:

- View document
- Upload documents

Role Reviewer được cấp:

- View document
- Review Document

Role Project Administrator được cấp:

- View document
- Upload documents
- Review Document
- Approve documents

Như vậy cùng sử dụng một danh mục Permission, nhưng mỗi Role có phạm vi thao tác khác nhau.

--------------------------------------------------

1.6.11. Nguyên tắc phân quyền

Khi cấu hình Permission nên áp dụng nguyên tắc:

"Cấp đủ để làm việc, không cấp dư."

Không nên cấp Permission chỉ vì "có thể sau này sẽ cần".

Đặc biệt cần thận trọng với các quyền như:

- Delete document.
- Delete folder.
- Approve documents.
- Assign user to project.
- Edit BIM object.
- Delete BIM object.

Các Permission có khả năng thay đổi hoặc xóa dữ liệu nên chỉ được cấp cho các vai trò có trách nhiệm tương ứng.

--------------------------------------------------

1.6.12. Lưu ý

Permission là quyền thao tác, không phải vai trò.

Ví dụ:

Designer là một ProjectRole.

Upload documents là một Permission.

Không nên hiểu:

Designer = Upload documents.

Đúng hơn là:

Designer
→ được gán Upload documents.

Một ProjectRole có thể được gán nhiều Permission.

Một Permission cũng có thể được sử dụng bởi nhiều ProjectRole khác nhau.

Khi kiểm tra lỗi phân quyền, cần kiểm tra cả:

- Permission có tồn tại hay không.
- ProjectRole có được gán Permission hay không.
- Group có cấp thêm quyền hay không.
- User có quyền trực tiếp hay không.
- Effective Permission cuối cùng là gì.

--------------------------------------------------

1.6.13. Nguyên tắc cốt lõi

Permission trả lời câu hỏi:

"Người dùng được phép thực hiện hành động nào?"

ProjectRole trả lời câu hỏi:

"Người dùng giữ vai trò gì trong dự án?"

Hai lớp này kết hợp với Group và User Permission để tạo thành hệ thống phân quyền của CDE NPD.