I have more than 10 years of experience in SharePoint , and I have build many successful Canvas App which integrate with SharePoint lists.. now i want to explore Dataverse for projects that have large number of items inside the lists.
Now in SharePoint to secure the backend i usually do those steps as described in this story:-
1) Let say I have a work order list. and only the Maintenance Manager + the Technician to whom the work order is assigned to can modify the work order.
2) so in SharePoint i do the following >> when a new work order get created by the system on schedule bases >> i define a power automate flow >> which define a unique permissions for the work order list item >> by granting the technician Contribute without delete >> grant the Maintenance manager Contribute >> grant all other users Read-Only
3) then since a SharePoint list can only have 50,000 items with unique permissions, so once the work order is closed, i move it to a "Closed" folder within the Work Order list, and i set the item permission to inherit from the closed folder.. so the item will no longer count as an item with unique permission so i will not reach the 50,000 limit.
4) also when i create a work order list item >> I add a new folder inside the Documenta library with a folder name = Work Order ID.. where i store any work orders picture inside that folder.
now generally speaking if i want to implement the above scenario inside dataverse tables instead of SharePoint lists. will the technical flow be the same? mainly the way to secure the backend by defining unique permissions for the work order? and moving closed work order to prevent reaching the allowed number of unique permission items inside a SharePoint list? and also the ability to store images inside separate folder for each work order?
Second question, in SharePoint case the user will be interacting with SharePoint list from the canvas application using the user’s credentials .. so that why we need to secure the back end.. while in Dataverse case, can we force our canvas application to work using a service account? So the user access the backend using the service account and not the user credentials ?
Thank in advance for any help