Mở rộng công cụ activiti cho đặc tả và cài đặt chính sách an ninh Mở rộng công cụ activiti cho đặc tả và cài đặt chính sách an ninh Mở rộng công cụ activiti cho đặc tả và cài đặt chính sách an ninh Mở rộng công cụ activiti cho đặc tả và cài đặt chính sách an ninh Mở rộng công cụ activiti cho đặc tả và cài đặt chính sách an ninh Mở rộng công cụ activiti cho đặc tả và cài đặt chính sách an ninh
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ ANH VIỆT MỞ RỘNG CÔNG CỤ ACTIVITI CHO ĐẶC TẢ VÀ CÀI ĐẶT CHÍNH SÁCH AN NINH Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG ĐỨC HẠNH Hà Nội – 2018 L LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ “Mở rộng công cụ Activiti cho đặc tả cài đặt sách an ninh” cơng trình nghiên cứu riêng tơi hướng dẫn TS Đặng Đức Hạnh Các nội dung nghiên cứu kết đề tài trung thực chưa công bố cơng trình khác Những phân tích, đánh giá tác giả thu thập từ nguồn khác có ghi rõ tài liệu tham khảo Học viên thực Đỗ Anh Việt LỜI CẢM ƠN Để hoàn thành luận văn thạc sĩ, bên cạnh nỗ lực thân cịn có hướng dẫn nhiệt tình q Thầy Cơ, động viên ủng hộ gia đình bạn bè suốt trình nghiên cứu thực luận văn Tơi xin chân thành bày tỏ lịng biết ơn sâu sắc đến Thầy TS Đặng Đức Hạnh, người tận tình hướng dẫn tạo điều kiện tốt cho tơi hồn thành luận văn Xin chân thành cảm ơn thầy cô khoa Công nghệ thông tin, Trường đại học Công Nghệ truyền đạt kiến thức quý báu giúp đỡ trình học tập nghiên cứu trường Xin chân thành cảm ơn Trung tâm Tư vấn Thiết kế Mobifone cho phép tạo điều kiện để triển khai kết nghiên cứu luận văn Cuối cùng, xin gửi lời cảm ơn đến gia đình, bạn bè, đồng nghiệp, người hỗ trợ suốt trình học tập, nghiên cứu thực luận văn Học viên thực Đỗ Anh Việt MỤC LỤC Trang DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt API Ý nghĩa Thuật ngữ Application Programming Interface BoD Binding Of Duty BPM Business Process Management BPMN Business Process Model and Notation DSM Domain-Specific Modeling DSML Domain-Specific Modeling Language EMF Eclipse Model Framework Giao diện lập trình ứng dụng Ràng buộc nhiệm vụ thực người Quản lý quy trình nghiệp vụ Tiêu chuẩn mơ hình quy trình nghiệp vụ Mơ hình hóa chun biệt miền Ngơn ngữ mơ hình hóa chun biệt miền Nền tảng mơ hình hóa Eclipse PEP SoA SLA SoD Policy Enforcement Point Service Oriented Architecture Service-level agreement Separation Of Duty Điểm thực thi sách Kiến trúc hướng dịch vụ Cam kết chất lượng dịch vụ Tách biệt nhiệm vụ Điều khiển truy cập dựa theo vai trò RBAC Role-Based Access Control REST REpresentational State Transfer Web Services Business Process Ngôn ngữ thực thi quy trình Execution Language nghiệp vụ Web services eXtensible Access Control Markup Language WSBPEL XACML DANH SÁCH CÁC HÌNH VẼ Hình 1.1: Thu hẹp khoảng cách trừu tượng ý tưởng miền cài đặt chúng Hình 1.2: Kiến trúc DSM Hình 1.3: Core RBAC Hình 1.4: MetaModel RBAC Hình 1.5: MetaModel RBAC Hình 1.6: Quy trình nghiệp vụ Hình 1.7: Vịng đời BPM Hình 1.8: Metamodel BPMN Hình 1.9: Các thành phần Activiti Hình 1.10: Các thành phần Activiti Engine Hình 2.1: Yêu cầu an ninh kết hợp với ký hiệu Hình 2.2: Metamodel BPMN tích hợp với số sách an ninh Hình 2.3: Ecore Diagram RBAC Eclipse Hình 2.4: Mơ hình Ecore RBAC thu từ EcoreDiagram Hình 2.5: Lớp JAVA sinh từ mơ hình Hình 2.6: Tab Security Patelle Hình 2.7: Tab Security Properties Hình 3.1: Cơ cấu tổ chức trung tâm Tư vấn Thiết kế Hình 3.2: Màn hình đăng nhập Activiti Designer Hình 3.3: Màn hình quản lý Task Activiti Designer Hình 3.4: Màn hình quản lý Process Activiti Designer Hình 3.5: Màn hình quản lý cấu hình Activiti Designer Hình 3.6: Tạo dự án Activti BPM Eclipse Hình 3.7: Tạo sơ đồ Activiti Diagram Eclipse Hình 3.8: Visual Editor Activiti Hình 3.9: Quy trình điều xe Activiti Designer Hình 3.10: Khai báo data objects quy trình điều xe Hình 3.11: Cấu hình rẽ nhánh cho Gateway Hình 3.12: Cấu hình kết phê duyệt Manager Approval Hình 3.13: Cấu hình Security cho Manager Approval Hình 3.14: Cấu hình SeparationOfDuty Hình 3.15: Cấu hình Form thơng tin CarSupervisor Approval Hình 3.16: Cấu hình MailTask Hình 3.17: Tạo nhóm người dùng Activiti Explorer Hình 3.18: Tạo người dùng Activiti Explorer Hình 3.19: Triển khai quy trình Activit Explorer Hình 3.20: Biểu mẫu thơng tin u cầu Hình 3.21: Màn hình Task Manager Approval Hình 3.22: Thơng báo vi phạm sách RBAC Hình 3.23: Chọn người thực Task Hình 3.24: Thực phê duyệt u cầu Hình 3.25: Mail thơng báo kết phê duyệt Hình 3.26: Thống kê số lần quy trình thực theo tháng MỞ ĐẦU Quy trình nghiệp vụ đóng vai trị then chốt để doanh nghiệp quản lý vận hành cách nhịp nhàng, đạt hiệu cao Có thể khẳng định, doanh nghiệp xây dựng quy trình tốt phát triển bền vững có tính cạnh tranh cao Để triển khai trước tiên quy trình nghiệp vụ phải mơ hình hóa Mơ hình hóa quy trình nghiệp vụ khơng sử dụng việc trao đổi yêu cầu chuyên gia nghiệp vụ chuyên gia hệ thống mà sử dụng để cài đặt hệ thống thực tế Các quy trình nghiệp vụ đại thường kết hợp tác vụ người với tác vụ tự động (ví dụ, cài đặt webservice), nên ngơn ngữ mơ hình hóa quy trình nghiệp vụ cần phải thu hẹp khoảng cách giữa chuyên gia nghiệp vụ chuyên gia hệ thống [2] Mô hình hóa quy trình nghiệp vụ thường tập trung vào mơ hình hóa xác chức quy trình mà bỏ qua yêu cầu an ninh Nguyên nhân chủ yếu thực tế chuyên gia lĩnh vực quy trình nghiệp vụ khơng phải chuyên gia an ninh Các yêu cầu an ninh thường xuyên xem xét sau định nghĩa hệ thống Cách tiếp cận dẫn đến lỗ hổng an ninh rõ ràng cần thiết phải tăng cường nỗ lực an ninh giai đoạn trước phát triển việc sửa lỗi hiệu tiết kiệm chi phí Các nghiên cứu thực nghiệm cho thấy mức thiết kế quy trình nghiệp vụ khách hàng người dùng cuối biểu diễn yêu cầu an ninh họ sau thể mức cao, yêu cầu an ninh dễ dàng xác định người mơ hình hóa quy trình nghiệp vụ [2] Các u cầu an ninh mơ hình hóa quy trình nghiệp vụ cần thiết phải xem xét yêu cầu an ninh ứng dụng mức độ trừu tượng cao Một yêu cầu an ninh điều khiển truy nhập tức kiểm soát việc truy cập thực hành động nguồn tài nguyên hệ thống được bảo vệ RBAC (Role-Based Access Control) điều khiển truy cập theo vai trò phương pháp điều khiển truy cập hiệu [3,4] Tuy nhiên, tảng cho phép mơ hình hóa quy trình nghiệp vụ Oracle BPM, Acitivi BPM chưa tích hợp đầy đủ điều khiển truy cập theo vai trị RBAC [5] Chính vậy, tơi xin chọn đề tài “Mở rộng công cụ Activiti cho đặc tả cài đặt sách an ninh” Trong luận văn, tơi trình bày phương pháp tích hợp sách an ninh RBAC vào quy trình nghiệp vụ BPM cách mở rộng tiêu chuẩn BPMN cho đặc tả sách an ninh [2], đồng thời ứng dụng phương pháp vào việc mở rộng công cụ Activiti BPM cho đặc tả cài đặt RBAC dựa vào [5] Kết cụ thể đạt được: thứ nhất, tích hợp sách RBAC vào pha mơ hình hóa để u cầu an ninh xem xét từ đầu Thứ hai, kiểm tra sách pha thực thi để đảm bảo an toàn an ninh cho hệ thống Về phần bố cục, luận văn chia thành chương sau: Chương Kiến thức tảng : Trình bày sở lý thuyết cơng nghệ sử dụng luận văn Bao gồm: Mơ hình hóa chun biệt miền, mơ hình hóa đặc tả sách truy cập RBAC, mơ hình hóa quy trình nghiệp vụ cuối cùng, giới thiệu cơng cụ mã nguồn mở Activiti BPM Chương Tích hợp mơ đun sách truy cập RBAC với Activiti : Trình bày phương pháp tích hợp sách an ninh vào quy trình nghiệp vụ ứng dụng phương pháp vào việc tích hợp sách truy cập RBAC vào Activiti BPM Chương Cài đặt thực nghiệm : Trình bày tốn vận tải triển khai Trung tâm Tư vấn Thiết kế Mobifone, ứng dụng kết luận văn để giải toán cài đặt Activiti BPM Cuối kết đạt CHƯƠNG KIẾN THỨC NỀN TẢNG 1.1 Giới thiệu chương Chương trình bày sở lý thuyết cơng nghệ sử dụng luận văn Bao gồm ba nội dung là: • Mơ hình hóa chun biệt miền: khái niệm kiến trúc DSM; cú pháp ngữ nghĩa ngôn ngữ mô hình hóa chun biệt miền DMSL • Mơ hình hóa đặc tả sách truy cập RBAC: khái niệm Core RBAC ràng buộc phân quyền Từ đó, xây dựng mơ hình metamodel cho RBAC • Mơ hình hóa thực thi quy trình nghiệp vụ với Activiti BPM: khái niệm, thành phần, vòng đời tiêu chuẩn ký hiệu BPMN quy trình nghiệp vụ Cuối cùng, giới thiệu công cụ mã nguồn mở Activti BPM cho việc mơ hình hóa thực thi quy trình nghiệp vụ cách tự động 1.2 Mơ hình hóa chun biệt miền Các hệ thống phần mềm ngày trở nên phức tạp, muốn cải thiện hiệu suất phát triển phần mềm không tốc độ mà chất lượng hệ thống tạo ra, nhà nghiên cứu cố gắng tìm phương pháp tự động chuyển từ mơ hình sang code Do đó, mơ hình hóa chun biệt miền (DSM) đời DSM sử dụng ngơn ngữ mơ hình hóa chuyên biệt miền (DSML) để sinh code đầy đủ từ mơ hình code sinh có lỗi code viết tay [6] 1.2.1 Khái niệm DSM chủ yếu tập trung vào hai vấn đề Đầu tiên, nâng cao mức độ trừu tượng lập trình cách xác định ngơn ngữ trực tiếp sử dụng khái niệm luật từ miền vấn đề cụ thể Thứ hai, tạo sản phẩm cuối ngơn ngữ lập trình chọn hình thức khác từ đặc tả mức cao Thơng thường, sinh code tiếp tục hỗ trợ số tảng (framework) Tự động hóa phát triển phần mềm trở nên phổ biến ngơn ngữ mơ hình hóa, sinh code code framework phù hợp với yêu cầu miền ứng dụng Nói cách khác chúng chuyên biệt miền chúng hoàn toàn kiểm soát người dùng Các mức độ trừu tượng cao Sự trừu tượng quan trọng phát triển phần mềm Trong suốt lịch sử phát triển phần mềm, nâng cao mức độ trừu tượng nguyên nhân bước nhảy vọt hiệu suất nhà phát triển Nếu nâng cao mức độ trừu tượng làm giảm tính phức tạp để tiếp tục nâng cao Hình 1.1 thể hiện, nhà phát triển thời điểm khác thu hẹp khoảng cách trừu tượng ý tưởng miền cài đặt chúng Hình 1.1: Thu hẹp khoảng cách trừu tượng ý tưởng miền cài đặt chúng Bước phát triển phần mềm nghĩ giải pháp liên quan đến miền vấn đề - giải pháp mức độ trừu tượng cao (bước 1) Ví dụ, định nên hỏi tên người trước hay hỏi phương thức toán trước đăng ký hội thảo Sau tìm giải pháp ánh xạ sang đặc tả số ngôn ngữ (bước 2) Trong lập trình truyền thống, bước nhà phát triển ánh xạ khái niệm miền vào việc code khái niệm Trong UML ngơn ngữ mơ hình hóa mục đích chung khác, nhà phát triển ánh xạ giải pháp miền vấn đề vào đặc tả ngơn ngữ mơ hình hóa Bước 3, cài đặt đầy đủ giải pháp: đưa điều kiện nội dung code cho vòng lặp Tuy nhiên, sử dụng ngơn ngữ mơ hình hóa mục đích chung, cần ánh xạ bổ sung từ mơ hình sang code Điều đáng nhà phát triển phải thực từ bước mà khơng có cơng cụ hỗ trợ, đặc biệt để giải lỗi phát sinh giai đoạn phát triển thường tốn nhiều chi phí Tự động sinh code Trong bước 3, việc sinh code tự động từ thiết kế UML Thay yêu cầu nhà phát triển nắm vững miền vấn đề lập trình, giải pháp tốt cho phép nhà phát triển đặc tả ứng dụng dạng biết sử dụng, sau có sinh code sử dụng đặc tả tạo loại code giống họ viết tay Điều làm tăng mức độ trừu tượng đáng kể; từ việc lập trình với byte/bit, thuộc tính kết trả về; lên đến khái niệm luật lệ miền vấn đề mà nhà phát triển làm việc với Sau đó, ngơn ngữ lập trình hợp với bước bước tự động hóa hồn tồn bước Mức độ trừu tượng nâng lên gắn liền với code sinh tự động mục đích DSM 10 Hình 3.2: Màn hình đăng nhập Activiti Designer Sau đăng nhập thành công, giao diện Activiti Explorer sau: • Tasks: Tab quản lý tất chức liên quan đến task bao gồm: Inbox chứa tất task gán cho người dùng, tasks gán cho nhóm user chứa Queued Hình 3.3: Màn hình quản lý Task Activiti Designer • Processes: Tab quản lý quy trình Cho phép xem quy trình thực thi cung cấp chức cho việc triển khai quy trình Vì vậy, quy trình phát triển sử dụng cơng cụ Eclipse triển khai Activiti Explorer Hình 3.4: Màn hình quản lý Process Activiti Designer 43 • Manage: Tab cung cấp chức cho người quản trị hệ thống quản lý databases, quản lý việc triển khai quy trình cơng việc, quản lý người dùng nhóm Hình 3.5: Màn hình quản lý cấu hình Activiti Designer 3.3.2 Mơ hình hóa quy trình Activiti Designer Quy trình điều xe mơ hình hóa Activiti Designer sau: Chạy Activiti Desginer Eclipse cách chuột phải vào module “org.activiti.designer.eclipse” > Run As > Eclipse Appliction Một giao diện Eclipse mở • Tạo dự án tên “TVTK_Project” : File > New > Others > Activiti Project • Hình 3.6: Tạo dự án Activti BPM Eclipse • Tạo Diagram tên “QuyTrinhDieuXe” : chuột phải thư mục diagram chọn File > New > Others > Activiti Diagram 44 Hình 3.7: Tạo sơ đồ Activiti Diagram Eclipse • Giao diện mơ hình hóa quy trình nghiệp vụ bao gồm Editor, Palette Properties Trong đó, Palette Properties mở rộng thêm tab “Security” cho việc định nghĩa sách an ninh SoD BoD Hình 3.8: Visual Editor Activiti • Kéo thả component Palette để mơ hình hóa quy trình điều xe Các thuộc tính component phải cung cấp đầy đủ, bao gồm id, form, Sử dụng SeparationOfDuty Security Flow để ràng buộc phân quyền trưởng phòng người quản lý điều xe 45 Hình 3.9: Quy trình điều xe Activiti Designer • Một Form sử dụng để mơ tả phiếu u cầu Để thêm/sửa/xóa thuộc tính cho Form, nhấn chuột vào nút New/Edit/Delete Activiti hỗ trợ số loại liệu boolean, long, string, enum date Các thuộc tính Readable, Writeable Required Form cài đặt Start Event cho phép người dùng vào bắt đầu quy trình nhìn thấy Form yêu cầu điền thơng tin Hình 3.10: Khai báo data objects quy trình điều xe • Định nghĩa exclusive gateway sau người dùng điền thông tin vào Form Nó kiểm tra chức vụ người yêu cầu “Nhân viên” hay “Trưởng phịng” Có hai 46 đầu từ gateway, chức vụ “Nhân viên” u cầu phải chuyển đến trưởng phịng; hai chức vụ “Trưởng phịng” u cầu chuyển trực tiếp đến quản lý điều xe Hình 3.11: Cấu hình rẽ nhánh cho Gateway Trường hợp chức vụ nhân viên, yêu cầu chuyển đến task Manager Aproval Task gán cho người dùng nhóm người dùng có quyền thực Task thực đồng ý từ chối yêu cầu nên cần thuộc tính bắt buộc result kiểu enum có hai giá trị true false Để xem lại thông tin Form yêu cầu, sử dụng id thuộc tính trường Value/Expression Chú ý, thuộc tính Form yêu cầu xem không sửa nên phải xét trường Writable False Hình 3.12: Cấu hình kết phê duyệt Manager Approval 47 • Để thiết lập Permission cho UserTask vào tab Security, chọn Action Role ấn nút Add Một Permission định nghĩa Action Role, UserTask chứa nhiều Permission Hình 3.13: Cấu hình Security cho Manager Approval • SoD dùng để ràng buộc người có quyền thực task Manager Approval khơng có quyền task Car Supervisor Approval SoD sử dụng SecurityFlow để xác định task phải ràng buộc; sau đó,liệt kê tất Permission định nghĩa task lựa chọn Permission mà SoD thực 48 Hình 3.14: Cấu hình Separation Of Duty • Nếu Manager đồng ý yêu cầu luồng chuyển đến Car Supervisor Approval - UserTask, cấu hình tương tự với Manager Approval Hình 3.15: Cấu hình Form thơng tin CarSupervisor Approval • Cuối cùng, dựa vào định Manager Car Supervisor mà quy trình tự động gửi thơng báo mail cho người liên quan sử dụng Mail Task Nếu u cầu chấp nhận thơng báo gửi cho lái xe người yêu cầu lịch trình Cịn u cầu bị từ chối người yêu cầu nhận thông báo lý bị yêu cầu bị từ chối Hình 3.16: Cấu hình MailTask 49 3.3.3 Triển khai quy trình Activiti Explorer Quy trình điều xe triển khai Activiti Designer sau: • • Đăng nhập hệ thống vai trị Admin Tạo nhóm người dùng tương ứng với vai trị quy trình: Staff, Manager Car Supervisor Vào Manage > Groups > Create Group Hình 3.17: Tạo nhóm người dùng Activiti Explorer • Tạo người dùng gán cho nhóm người dùng: Vào Manage > Users > Create User Hình 3.18: Tạo người dùng Activiti Explorer • Triển khai quy trình : Manage > Deployments > Upload New lựa chọn tệp QuyTrinhDieuXe.bpmn20.xml mơ hình hóa Activti Designer Sau đó, quy trình sẵn sàng thực thi 50 Hình 3.19: Triển khai quy trình Activit Explorer 3.4 Kết thực nghiệm Sau triển khai, quy trình thực thi sau: • Bất kì người dùng tổ chức đăng nhập vào hệ thống có quyền có khởi tạo riêng instance quy trình cho yêu cầu Vào Process > Process definitions > chọn quy trình > Start process, Form xuất hiện, người dùng cần điền đầy đủ thơng tin Hình 3.20: Biểu mẫu thơng tin u cầu 51 • Phê duyệt u cầu: Từ thơng tin mà người yêu cầu xe cung cấp, hệ thống kiểm tra trường Role, Role Staff u cầu chuyển cho người có vai trị Manager để phê duyệt Người đăng nhập hệ thống, vào Tasks > Queued Do task gán cho Group nên chưa có Assignee cụ thể gán, thơng tin task ẩn Hình 3.21: Màn hình Task Manager Approval • Gán người thực quy trình: Khi nhấn Reassign, hệ thống bắt đầu kiểm tra sách an ninh người gán cho Task Ở đây, Separation Of Duty dùng để ràng buộc cho Manager CarSupervisior nên người dùng thuộc hai nhóm khơng có quyền thực Task Nếu user đăng nhập vi phạm, thơng báo : Hình 3.22: Thơng báo vi phạm sách RBAC Cịn khơng vi phạm người đăng nhập gán lại task cho người khác nhóm Cửa sổ lên danh sách người dùng thuộc nhóm Nếu người 52 đăng nhập lại chọn user vi phạm Separation Of Duty thơng báo lỗi lại ra, cịn khơng Task gán cho user vừa chọn Khi user đăng nhập thơng tin task lên user có quyền thực Task Hình 3.23: Chọn người thực Task Hình 3.24: Thực phê duyệt u cầu 53 • Gửi thơng báo cho bên liên quan: thực MailTask, cấu hình gửi mail thiết lập Activiti Designer, kết nhận : Hình 3.25: Mail thơng báo kết phê duyệt Như vậy, quy trình thực thi cơng, sách an ninh kiểm tra trước gán cho người dùng Sau gần tháng thử nghiệm quy trình, kết thu có 22 lần quy trình thực Phân bố theo tháng sau: Hình 3.26: Thống kê số lần quy trình thực theo tháng Số liệu lấy trực tiếp từ việc truy vấn sở liệu Acitivti: SELECT MONTH(START_TIME_) Month_ ,COUNT(PROC_INST_ID_) TotalCount FROM ACT_HI_PROCINST GROUP BY MONTH(START_TIME_) ORDER BY month_; 54 Tỷ lệ thực thành cơng quy trình 100% chứng tỏ độ ổn định triển khai quy trình Activiti Nói cách khác, Activiti cơng cụ đơn giản hiệu cho việc thực thi quy trình nghiệp vụ doanh nghiệp 3.5 Tổng kết chương Kết thực nghiệm chứng minh công cụ Activiti tích hợp thêm mơ đun RBAC giải tốn vận tải nói riêng tốn liên quan đến quy trình nghiệp vụ doanh nghiệp nói chung Các yêu cầu an ninh mơ hình hóa từ ban đầu pha thiết kế từ sơ đồ BPMN chuyên gia nghiệp vụ, chuyên gia an ninh chuyên gia hệ thống hiểu chung ngơn ngữ Việc thực thi sách RBAC thực pha triển khai, cung cấp thông báo thân thiện với người dùng vi phạm sách an ninh Các bước cài đặt quy trình Activiti không phức tạp giúp cho người khơng hiểu sâu kỹ thuật tự thực 55 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN BPM công cụ giúp cho việc quản lý vận hành doanh nghiệp hiệu Vấn đề an ninh vấn đề quan trọng cần phải xem xét tất pha vịng đời BPM việc cài đặt sách an ninh vào BPM thực cần thiết Luận văn trình bày phương pháp tích hợp sách truy nhập (cụ thể điều khiển truy nhập theo vai trị RBAC) vào pha mơ hình hóa vịng đời BPM mở rộng ngơn ngữ BPMN 2.0 cho yêu cầu an ninh Ứng dụng phương pháp để mở rộng công cụ Activiti BPM cho việc cài đặt sách an ninh Tại pha mơ hình hóa Activti, xây dựng metamodel cho BPMN tích hợp RBAC sinh cú pháp trừu tượng; sau đó, pha thực thi quy trình, kiểm tra số sách an ninh trước phân quyền cho người sử dụng Kết luận văn ứng dụng vào việc xây dựng số quy trình nghiệp vụ Trung tâm Tư vấn Thiết kế Mobifone Tuy nhiên, luận văn dừng lại bước tích hợp sách an ninh vào pha mơ hình hóa BPM pha thực thi, việc kiểm tra tính thỏa mãn sách an ninh phân quyền cho người dùng dừng lại trường hợp đơn giản Hệ thống lớn lên, sách an ninh ngày phức tạp việc kiểm tra, phát việc vi phạm ràng buộc lại trở nên nan giải Ví dụ, trường hợp, người dùng gán nhiều quyền, quyền lại kế thừa lẫn nhau, Để giảm phức tạp việc quản lý an ninh, cần phải sử dụng công cụ hỗ trợ việc kiểm tra tính đắn, tính tồn vẹn u cầu an ninh BPM USE tool công cụ cho phép mơ hình hóa phần mềm kiểm tra tính xác mơ tả UML, USE đơn giản hiệu cho việc kiểm tra sách an ninh Vì vậy, hướng phát triển luận văn sử dụng USE tool cho việc thực thi sách an ninh BPM Hy vọng thời gian tới, tơi phát triển hoàn thiện nội dung Qua việc thực luận văn, thu nhiều kiến thức bổ ý hệ thống quản lý quy trình nghiệp vụ doanh nghiệp kiến thức kỹ thuật phát triển phần mềm đại Tuy nhiên, kiến thức có hạn nên luận văn khơng thể tránh khỏi sai sót, khiếm khuyết, tơi mong nhận góp ý quý thầy để luận văn hồn thiện 56 TÀI LIỆU THAM KHẢO Tiếng Việt Chu Thị Minh Huệ (2011), “Ngơn ngữ mơ hình chun biệt miền cho mơ hình bảo mật RBAC”, Đại học Quốc Gia Hà Nội, Luận văn thạc sĩ Thư viện số Đại học Quốc Gia Hà Nội Tiếng Anh Alfonso RODRIGUEZ, Eduardo FERNANDEZ-MEDINA, Marlo PIATTINI (2007) “A BPMN Extension for the Modeling of Security Requirement in Business Processes” American National Standards Institute Inc.(2004) “Role Based Access Control”, ANSI-INCITS 359-2004 R Sandhu, E Coyne, H Feinstein, C Youman (1996) “Role-based access control models”, IEEE Computer, vol 29, no 2, pp 38–47 Achim D.Brucker, Isabelle Hang, Gero Luckemeyer, Raj Ruparel (2012) “SecureBPMN: Modeling and Enforcing Access Control Requirements in Business Processes” Steven Kelly, Juha-Pekka Tolvanen (2008), “Domain-Specific Modeling”, pp 1-92 Tanveer Mustafa, Karsten Sohr, Duc-Hanh Dang, Michael Drouineaud (2008), “Implementing Advanced RBAC Administration Functionality with USE” Achim D Brucker and Jăurgen Doser (2012),Metamodel-based UML Notations for Domain-specific Languages Marlon Dumas (2014), “Business Process Management Course - Lecture 1: Introduction to BPM” 10 Object Management Group (2011), “Business process model and notation (BPMN)”, version 2.0 11 Zakir Laliwala (2014),” Activiti 5.x Business Process Management” 12 OASIS (2005), “eXtensible Access Control Markup Language (XACML)” 13 Vogella (2016), “http://www.vogella.com/tutorials/EclipseEMF/article.html”, Last visit was on 12/4/2018 14.Eclipse.(2018), “http://www.eclipse.org/pde/”, Last visit was on 8/6/2018 57 ... Activiti cho đặc tả cài đặt sách an ninh? ?? Trong luận văn, tơi trình bày phương pháp tích hợp sách an ninh RBAC vào quy trình nghiệp vụ BPM cách mở rộng tiêu chuẩn BPMN cho đặc tả sách an ninh [2],... dụng phương pháp vào việc mở rộng công cụ Activiti BPM cho đặc tả cài đặt RBAC dựa vào [5] Kết cụ thể đạt được: thứ nhất, tích hợp sách RBAC vào pha mơ hình hóa để yêu cầu an ninh xem xét từ đầu... khái niệm liên quan đến tảng phát triển Activiti giới thiệu Sau đó, phương pháp tích hợp sách an ninh vào quy trình nghiệp vụ sử dụng để mở rộng công cụ Activiti BPM Cụ thể, mở rộng Activiti Designer