web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details
Power Apps - Microsoft Dataverse
Answered

How can we identify who has access to a record in a Dataverse table?

Like (0) ShareShare
ReportReport
Posted on 24 May 2024 10:19:25 by 154

Is there a straightforward way of determining which users have access to a record in a Dataverse table, from (e.g.) Power Automate?

 

Considering the complex permission structure of Dataverse (Owner / Role / Shared / Hierarchy access), it can be difficult to track permissions. I was wondering if there was a simpler way to check this (e.g. an API call)?

 

Thanks,

Rob.

I have the same question (0)
  • gulshankhurana Profile Picture
    1,395 Moderator on 31 May 2024 at 13:31:02
    Re: How can we identify who has access to a record in a Dataverse table?

    Hi @RobHardy 

     

    Oh wow. 😀

    You could perhaps write a blog post about it and share it on LinkedIn as I'm sure there'll be many people out there who could benefit from your experience.

     

    Being purely functional and without any tech background, I naturally tend to look for solutions that don't involve code. Having said that, albeit manual, I'm glad my clue led you to your own discovery path. You could in fact mark it as a solution too as you're allowed to mark more than one answers as a solution.

     

    Kind regards

    Gulshan

  • Verified answer
    RobHardy Profile Picture
    154 on 31 May 2024 at 11:29:51
    Re: How can we identify who has access to a record in a Dataverse table?

    Thanks anyway, @gulshankhurana - you did give me a clue on how to solve this. I used the Check Access tool along with the browser's developers' tools, and found that it was submitting a number of Fetch XML queries. This one lists users with access to the record via security roles: 

    RobHardy_0-1717154818804.png

    In order to get this working in a flow, a few changes were needed:

    • Remove distinct='true' from the root element (aggregation isn't supported by List Rows in Power Automate - I used the trick of union-ing the returned array of users with itself to filter down to distinct users).
    • Remove count='8' and use a suitably high number for row count to ensure all users are returned.
    • value='2' for accessright appears to return users with write-access to the record, while value='1' returns those with read access.
    • I constructed the business unit hierarchy using a Do Until loop and Append to string variable 

    There were three other Fetch XML queries, one listing teams with access, one listing application users, and one listing users with access via the Share functionality.

  • gulshankhurana Profile Picture
    1,395 Moderator on 24 May 2024 at 16:08:41
    Re: How can we identify who has access to a record in a Dataverse table?

    Hi @RobHardy 

     

    I'm sorry, I am not aware if/how it is possible to achieve programmatically.

     

    Kind regards 

    Gulshan

    Please give it a thumbs up 👍🏻 if you appreciate my efforts.

    If my answer helped you resolve your issue then please also mark it as a solution   so that it helps others experiencing the same problem.

  • RobHardy Profile Picture
    154 on 24 May 2024 at 11:35:21
    Re: How can we identify who has access to a record in a Dataverse table?

    Thanks, @gulshankhurana,

     

    Do you know if there's a way of doing this programmatically, though? There are use-cases where checking manually isn't practical, such as synchronising permissions between Dataverse and SharePoint.

  • gulshankhurana Profile Picture
    1,395 Moderator on 24 May 2024 at 11:01:11
    Re: How can we identify who has access to a record in a Dataverse table?

    Hi @RobHardy 

     

    There is a 'Check Access' button available on forms which  an provide this information you seek.

     

    There's also a tool in xrmtoolbox 'Access Security Roles' you can use.

     

    https://www.xrmtoolbox.com/plugins/AccessSecurityRoles/

     

    https://powerusers.microsoft.com/t5/Microsoft-Dataverse/View-security-roles-that-have-permissions-to-a-table/td-p/2029064#:~:text=On%20the%20XRMtoolbox%20there%20is,the%20access%20level%20per%20table.

     

     

    Kind regards 

    Gulshan

    Please give it a thumbs up 👍🏻 if you appreciate my efforts.

    If my answer helped you resolve your issue then please also mark it as a solution   so that it helps others experiencing the same problem.

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

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Tom Macfarlan – Community Spotlight

We are honored to recognize Tom Macfarlan as our Community Spotlight for October…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 885 Most Valuable Professional

#2
developerAJ Profile Picture

developerAJ 571

#3
Michael E. Gernaey Profile Picture

Michael E. Gernaey 352 Super User 2025 Season 2

Last 30 days Overall leaderboard

Featured topics

Loading complete