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 / How to authenticate da...
Power Apps
Suggested Answer

How to authenticate data source by service principal rather than the logged in user

(0) ShareShare
ReportReport
Posted on by
I have made an app which connects to a sharepoint list to retrieve and write data.
 
So far I have not found any way to avoid giving access to end users directly to the actual Microsoft List. 
This give them access to open up the list directly in Sharepoint and they have the possibility of entering/deleting data directly from this GUI.
 
What I want to have, is the end users authenticating with their org.user to my app, then Power Apps is using a service principal to authenticate to the Microsoft List. 
This keeps the control of the list entries to me (admin) while users have the ability to insert/amend their records through the developed app in Power Apps.
 
I am aware of the Power Automate workaround, but this is very tedious and complicated way of achieving this simple task.
 
Let me know if there is any alternative solution.
I have the same question (0)
  • Suggested answer
    WarrenBelz Profile Picture
    156,100 Most Valuable Professional on at
    Quite simply, any connections to data sources in Power Apps are run in the context of the logged-in user and are authenticated when the user first opens the app, meaning the logged-in user must have appropriate permissions in SharePoint. There are a couple of things you can do in SharePoint - one is as per this blog of mine and simply stop the user changing anything.
    The other is to give them a Custom Permission in SharePoint based on Contribute with View Application Pages unchecked. This should prevent them from accessing any view on the applicable List/s.
     
    Please click Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like.
    MVP (Business Applications)    Visit my blog Practical Power Apps    LinkedIn   
  • Suggested answer
    Artur Stepniak Profile Picture
    1,539 Moderator on at
    Hello,
     
    as Warren said, that's it. You can workaround it by using a flow to perform CRUD operations on the list. And I'd argue that it's a complicated way, just instead of Patch() you're using Run() with input parameters.
     
    In case of any other questions, let me know. If the answer helped you, mark it, so that others can benefit from it.
     
    Best regards,
     
    Artur Stepniak
    Interested in GenAI? Visit my site!
  • WarrenBelz Profile Picture
    156,100 Most Valuable Professional on at
    A quick follow-up to see if you received the answer you were looking for or if you need further assistance.

    Please click Does this answer your question if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it a Like.
    MVP (Business Applications)    Visit my blog Practical Power Apps    LinkedIn   

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

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 325 Most Valuable Professional

#2
11manish Profile Picture

11manish 165

#3
MS.Ragavendar Profile Picture

MS.Ragavendar 88 Super User 2026 Season 1

Last 30 days Overall leaderboard