Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics 365 | Integration, Dataverse...
Answered

Dataverse entity needs two groups with different Column Security Profiles

(3) ShareShare
ReportReport
Posted on by 8
Have a Dataverse entity setup to be created by any user with access to the app/environment. Each record will need to be accessed by users in two groups, Managers and Approvers. Managers need to be able to access all columns except the handful of Approver columns, which they can read from, but not write to. Approvers need to be able to access the handful of Approver columns, but can only read all other columns. 

The real issue with this is that ANY user could be in ANY role on ANY record. If John Doe is a Manager on record 001, he can't write to the Approver columns on record 001, but he can read from them. However, if he is an Approver on record 002, he can write only to the Approver columns and can only read from the remaining columns.

This means that Access Teams are not a solution as Column Security Profiles can't be assigned to Access Teams. Likewise, Owner Teams are not a solution as each record will need two Owner Teams and this functionality is not supported. 

I'm beginning to think I'll need a custom plugin that will work off of the Service Account and check the user's role assignment (Manager or Approver) in a related User-Record table. That way, the records could stay owned by the Service Account and security on Dataverse would be maintained.

Does this sound like the right direction to go or am I missing an easier solution?
Categories:
  • MightyFerengi Profile Picture
    MightyFerengi 8 on at
    Dataverse entity needs two groups with different Column Security Profiles
    Thanks @Amit Katariya007, that worked great!
  • Verified answer
    Amit Katariya007 Profile Picture
    Amit Katariya007 8,699 Super User 2024 Season 1 on at
    Dataverse entity needs two groups with different Column Security Profiles
    You can use simple JS.
     
    but this will fail when user is trying to see this information using advanced find, as we can not able to handle show/hide info here.
     
    Best way to implement your requirement is.
    1. Create 2 entities. First one will have All the fields that manager needs. Second one will have all the fields which approver need.
     
    2. Now make sure this records own by a service user. And depending upon the role, you can share this records with the Manager and approver. So that you don't have to maintain permissions on record level and field security level.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Verified Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,391 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,445 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Product updates

Dynamics 365 release plans