web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Recommendations on set...
Power Apps
Answered

Recommendations on setting up record level security in Canvas App.

(0) ShareShare
ReportReport
Posted on by Microsoft Employee

So currently I have developed a canvas app and for the database I am using Dataverse. This app will be added to the MS Teams (not PowerApps for Teams).

In dataverse I have custom entities and I have enabled security by creating a new security role for the app. The use case is that user should have access to only their own records and the records that are shared with them using Power Automate flow. Following are my worries 

  1. Sharing record using flow with multiple users is very slow and complex (at different phases of lifecycle privileges to record will change). What will happen if the record needs to be shared with the entire organization (>1000 users).
  2. Users with System Administrator and Environment Admin role has full access to custom entities which is not required because of the sensitive data in custom entities. And the problem is even if I modify the roles in my tenant what will happen when I will move the app to the client's tenant.
  3. Does the client with thousands of users needs to manually assign the custom security role manually to all users or is there a better way.

 

To summarize I need to create a security architecture for this app which will be used by thousands of users and also it will be shipped to multiple customer tenants. I will provide more information if the problem is not clear.

I have the same question (0)
  • Verified answer
    ChrisPiasecki Profile Picture
    6,422 Most Valuable Professional on at

    Hi @Anonymous,

     

    A question regarding the use case:

    • Will the set of users that a particular record is shared with be unique? Or will it be a specific team/department/etc. that is predetermined and can be set up in the System ahead of time?
    1. Try to leverage Teams where possible, avoid the use of the actual "Share" feature, using Share does not scale well performance and storage wise and can cause a lot of headache with security troubleshooting. If your access requirements are unique per record, then you may need to use Access Teams and/or Team Templates. Automating this will be a must otherwise administration becomes a significant burden.
    2. Limit the number of system administrators and enable activity logging / auditing where needed. The activity logs get sent to the M365 Security & Compliance Center, so there is opportunity to setup automated alerting to notify if certain privileged accounts are accessing records.
    3. You can use Azure Active Directory Group teams which does not require explicit security role setting if using member. Or you could leverage Power Automate to add users to security roles based on some other mechanism.

    ---
    Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    Hi @ChrisPiasecki 
    The answer to your question is that the users for a record will be dynamic.
    And one more question, now you understand my use case do you think that Dataverse is a good choice or should I consider some other data source?

  • ChrisPiasecki Profile Picture
    6,422 Most Valuable Professional on at

    Hi @Anonymous ,

     

    Access Teams and Access Team Templates will allow you to have the unique access requirements per record. The security model is flexible so you can achieve this granularity. If you need do manage these access Teams through some automated way, the Power Automate CDS (current environment) connector has a Perform a Bound Action action, where if you pick the Users table you can select the AddUserToRecordTeam action to add a user to an access team for a particular record. 

     

    Hope that answers your question. 

     

    ---
    Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.

     

     

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    Hi @ChrisPiasecki 
    Thanks for explaining. I can share the record access through Power Automate but how can I create the access team? I have searched in the community and still have not found a solution.

  • ChrisPiasecki Profile Picture
    6,422 Most Valuable Professional on at

    Hi @Anonymous,

     

    Steps to create an Access Team / Team Template is documented here.

     

    ---
    Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.

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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 525 Most Valuable Professional

#2
Haque Profile Picture

Haque 273

#3
Kalathiya Profile Picture

Kalathiya 232 Super User 2026 Season 1

Last 30 days Overall leaderboard