Search for:
  • Home/
  • D365/
  • Ứng dụng Access Team của Microsoft Dataverse(CDS) tăng cường bảo mật dự liệu

Ứng dụng Access Team của Microsoft Dataverse(CDS) tăng cường bảo mật dự liệu

Đối với doanh nghiệp thì bài toán bảo mật lúc nào cũng quan trọng, một hệ thống doanh nghiệp bảo mật luôn tránh được rất nhiều rủi ro không mong muốn gây thiệt hại lớn về kinh tế.

Đối với các loại bảo mật của Microsoft Dataverse thì chúng ta thường có và sử dụng như:

  • Security Roles
  • Users
  • Teams
  • Hierarchical
  • Access Team Template

Ở bài viết này mình xin giới thiệu về việc sử dụng Access Team vào một bài toán cụ thể, với một doanh nghiệp đã áp dụng vào hệ thống của họ.

Khách Hàng đã xây dựng hệ thống CRM để quản lý về mảng bán hàng (Sales) để quản lý rủi ro và doanh số, với một yêu cầu bảo mật rất phức tạp mà khi áp dụng Sercurity Roles với Users và cả Teams đều không thể đáp ứng được.

Bài toán đặt ra là làm thế nào để chỉ cho phép danh sách Users thuộc một hoặc nhiều Teams, và các User được chỉ định để quản lý hoặc Users đối tác, hoặc thậm chí là Lead có quyền trên dữ liệu đó. Ứng với một cơ hội (opportunity) đều có các danh sách Users như trên và được người tạo lựa chọn.

Mọi người có thể nhìn hình bên dưới để dễ hiểu hơn về kết quả trước và sau khi sử dụng Access Team

Trước khi áp dụng Access Team

Sau khi áp dụng Access Team

Như các ảnh ở mục Trước Sau, sau khi áp dụng access, các Users trong Team 1 và Team 2, cùng với User quản lý, đối tác và chủ sở hửu sẽ được đẩy vào cùng 1 Team, và Team này sẽ có quyền trên Opportunity đó, nên các User ở trong Team sẽ đều có quyền.

Khi các bạn đã hiểu cơ chế của Access Team thông qua hai hình trên thì chúng ta tới bước làm sao để được như thế, những gì cần làm sẽ bao gốm:

  • Configuration
  • Code

Configuration, để sử dụng được Access Team cho 1 thực thể (Entity) của Microsoft Data Verse, cần phải bật Access Team khi config Entity.

Dể làm được như vậy thì đối với account phải có quyền config như là Admin, sau đó có thể đi theo các bước theo hình

Để đơn giản vào trang cài đặt, thì có thể thêm “settingsonly=true” ở cuối link url của CRM.

Sau đó chúng ta vào thiết đặt, tùy chỉnh, tùy chỉnh hệ thống để bật config của Enable của Access Team lên, ở đây em sẽ ví dụ làm với Entity “Bike”

Bước tiếp theo, tạo Access Team Template (Mẫu truy cập nhóm). Vào thiết đặt, bảo mật, mẫu truy cập nhóm

Sau khi lưu thì chúng ta đã có Team Template (mẫu nhóm) của Entity Bikes, như vậy ứng với mỗi record Bikes sẽ có một Team Bikes sinh ra đi kèm với record đó, và việc tiếp theo cần làm là Coding.

Code, ví dụ đây là data input của Bikes

Chúng ta có record “Bikes 1”, có Team 1 , Team 2 và Quản lý là “Hóa Nguyễn”. Để có thế cấp quyền cho những User này, đối với làm tay thì cần phải thêm tay các User này vào Team Template ứng với Record này.

Để có thể thấy được Team trong record này thì người Admin phải thêm một lưới để thấy được Team Template trong Bike.

Khi chưa sử dụng code thì chủ sở hửu record “Bike 1” này phải tự mình cấp quyền, bằng cách tự tay thêm các Users ở Team 1, Team 2, và User Quản lý vào Lưới “Bike Access Team” như ở trên, sự dụng Thêm Người Dùng.

Code, tất nhiên đối với các Developer có thể tạo các workflow xảy ra khi một record Bike được tạo, họ có thể xây dựng sự kiện này và thêm các dòng code để khi sự kiện xảy ra, các Users ở Team 1, ở Team 2 và User Quản Lý do người nhập sẽ tự động (automatic) được thêm vào “Bike Access Team”.

Các Developer có thể tạo workflow trigger khi một record Bike được tạo trước, sau đó có thể tham khảo đoạn Code này để sử dụng

  • Record: là record được workflow chạy, kiểu dữ liệu <EntityReference>.
  • SystemUserId: là UserId của User muốn add vào Access Team, kiểu dữ liệu <Guid>.
  • TeamTemplateId: là TemplateId đã được tạo ở các bước trên, kiểu dữ liệu <Guid>.

Khi chạy đoạn code với các biến được liệt kê như trên được truyền vào, ví dụ chúng ta muốn add User Quản Lý của Bike 1 là Hóa Nguyễn vào Bike Access Team và đây là kết quả khi các biến được truyền đúng:

Đối với Team 1, Team 2, thì các Developer sẽ tìm kiếm (Retrieve) các Users trong các Team này trước, sau khi đã có danh sách Users đó họ sẽ sử dụng đoạn code trên ứng với từng User tìm được để thêm vào Bike Access Team của Record Bike 1.

Với Quyền của các Users khi được thêm vào Bike Access Team, họ sẽ có những quyền như khi chúng ta config khi tạo Team Template

Kết, khi sử dụng Access Team, chúng ta sẽ giải quyết được một sộ bài toán bảo mật phức tạp như của nhiều doanh nghiệp.

Các bước ở trên đa số là config, còn về phần code thì các bạn Developer có thể hình dung được mình sẽ cần làm gì để automatic Access Team cho một Entity, như Entity Bike đã được ví dụ ở trên.

XIN CHÂN THÀNH CẢM ƠN MỌI NGƯỜI ĐÃ XEM BÀI VIẾT, MONG BÀI VIẾT SẼ BỔ SUNG ĐƯỢC THÊM MỘT SỐ KIẾN THỨC HỮU ÍCH CHO MỌI NGƯỜI.

Spread the love

Leave A Comment

All fields marked with an asterisk (*) are required