cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
webdevguy
Helper II
Helper II

Entities as the backend

Are entities basically like data tables that can be used by PowerApps? If so, any way to group entities for a specific app? Are entities better to use for my powerapps backend than excel or sharepoint lists?

1 ACCEPTED SOLUTION

Accepted Solutions



"By grouping entities for a specific app" I mean this: I'll probably have several apps, each with a few entities, if I go this route. Will all of the entities be listed together? Or can I group them per app? Hope that makes sense.

 

If you have several apps that connect to the same of entities, all of those apps will share the same data. I think that's what you mean? To work around around this, it's possible to add fields to the standard entities. Therefore, you can add an 'app id' field to the entities and use that to distinguish the data between your different apps.



Does the CDS have the same security "hole" as excel. For example, you have to give all users read/write permissions to the actual excel file. So, essentially they can bypass the app and edit the Excel file directly. (I don't like this at all, but that's how things are setup with powerapps apparently.)

 


The CDS provides better security than Excel. This screenshot illustrates how you can granually control what users can do. You can grant data access through permission sets, and assign users to those permission sets.

 

PermissionSets.JPG

  Also, if I end up doing SQL Server, is it more "secure" in this respect, that users won't be able to edit the data directly but will have to go through the app?


The risk with SQL Server (and the same can apply to the CDS, depending on how you set up permissions) is that someone can create a new PowerApp and connect to SQL Server using the SQL connection that you defined for your app. Effectively, this would allow a user to edit data outside of your app.

 

@Anonymousexplains this much more fully here, and you can vote on his idea to fix this problem.


https://powerusers.microsoft.com/t5/PowerApps-Ideas/Making-SQL-Connector-Secure/idi-p/112599

 

View solution in original post

3 REPLIES 3
timl
Super User
Super User

Hi @webdevguy


Yes, an entity is the CDS (Common Data Service) equivalent of a database table. I'm not sure what you mean by grouping entities for a specific app, but it's possible to add multiple entities to an app.

The CDS is more robust than Excel, and includes more delegable operators compared to SharePoint. Therefore, certain queries will perform better with a CDS datasource.


@timl wrote:

Hi @webdevguy


Yes, an entity is the CDS (Common Data Service) equivalent of a database table. I'm not sure what you mean by grouping entities for a specific app, but it's possible to add multiple entities to an app.

The CDS is more robust than Excel, and includes more delegable operators compared to SharePoint. Therefore, certain queries will perform better with a CDS datasource.


"By grouping entities for a specific app" I mean this: I'll probably have several apps, each with a few entities, if I go this route. Will all of the entities be listed together? Or can I group them per app? Hope that makes sense.

 

Does the CDS have the same security "hole" as excel. For example, you have to give all users read/write permissions to the actual excel file. So, essentially they can bypass the app and edit the Excel file directly. (I don't like this at all, but that's how things are setup with powerapps apparently.)

 

Also, if I end up doing SQL Server, is it more "secure" in this respect, that users won't be able to edit the data directly but will have to go through the app?



"By grouping entities for a specific app" I mean this: I'll probably have several apps, each with a few entities, if I go this route. Will all of the entities be listed together? Or can I group them per app? Hope that makes sense.

 

If you have several apps that connect to the same of entities, all of those apps will share the same data. I think that's what you mean? To work around around this, it's possible to add fields to the standard entities. Therefore, you can add an 'app id' field to the entities and use that to distinguish the data between your different apps.



Does the CDS have the same security "hole" as excel. For example, you have to give all users read/write permissions to the actual excel file. So, essentially they can bypass the app and edit the Excel file directly. (I don't like this at all, but that's how things are setup with powerapps apparently.)

 


The CDS provides better security than Excel. This screenshot illustrates how you can granually control what users can do. You can grant data access through permission sets, and assign users to those permission sets.

 

PermissionSets.JPG

  Also, if I end up doing SQL Server, is it more "secure" in this respect, that users won't be able to edit the data directly but will have to go through the app?


The risk with SQL Server (and the same can apply to the CDS, depending on how you set up permissions) is that someone can create a new PowerApp and connect to SQL Server using the SQL connection that you defined for your app. Effectively, this would allow a user to edit data outside of your app.

 

@Anonymousexplains this much more fully here, and you can vote on his idea to fix this problem.


https://powerusers.microsoft.com/t5/PowerApps-Ideas/Making-SQL-Connector-Secure/idi-p/112599

 

Helpful resources

Announcements
October Events

Mark Your Calendars

So many events that are happening this month - don't miss out!

Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Users online (2,773)