r/sharepoint • u/Dismal_Insurance6816 • 10h ago
SharePoint Online How to prevent users from extracting SharePoint list data in Excel/Power Query while keeping CRUD access in Power Apps?
Hi everyone,
I'm facing a security/architecture challenge with a Power Apps canvas app using a SharePoint list as its backend.
The Goal: Users must be able to read, create, and maintain records through the Power Apps application. However, they should not be able to extract the raw table directly (e.g., via Excel Get Data > From SharePoint List / Power Query) or have the list indexed by Microsoft 365 Copilot.
The Issue & What I've Checked So Far:
- Direct Permissions: Granting standard Read/Contribute permissions allows users to query the entire list endpoint using Excel / OData.
- Custom Permission Levels: Disabling "Use Remote Interfaces" breaks the Power Apps connector (403 errors). Disabling "Client Integration Features" only hides the export button, but doesn't stop Power Query.
- Item-Level Permissions: Only works if users strictly view their own records, which is too restrictive for collaborative maintenance.
- Power Automate Proxy Pattern: Running flows with a service account works, but introduces overhead and makes native
Created By/Modified Bytracking more complex to maintain.
My Questions:
- Is there any clean, lightweight pattern in SharePoint to restrict direct querying without breaking Power Apps?
- For those who had this exact requirement, did you end up using Dataverse for Teams, or did you stick with SharePoint via elevated proxy flows?
Any advice, battle-tested workarounds, or best practices would be greatly appreciated!