@aec2018 I have implemented what you are looking for in the following manner (this was done for an enterprise solution):
The solution revolves around two roles
1. Approver - can approve records sent by reviewer, but can't edit or delete them. So basically just approve.
2. Reviewer - Edit and delete records but can't approve
So I had many screens shared by these two roles where I had to include RBAC.
- Create two azure active directory (security groups) groups. One for Reviewer and one for Approver. Include members in each group accordingly.
- Create a power automate flow and use azure active directory task to fetch the group and members details. This can also be done using microsoft graph API (i chose graph way).
- Now I have 2 JSONs (one has members info in Reviewer group and other has Approver details).
- Get the email of the logged in user from powerapp in to flow and check if this email is present in either group. If Reviewer returns an object (user is Reviewer) else if Approver returns an object then user is Approver. If user is not present in either groups then he/she has no role.
- Return this role of logged in user back to powerapp.
- Based on this value use conditional rendering on either DisplayMode or Visible property.
I ll just upload a snapshot of the flow I created. Its a gem 😛


You can also user Azure active directory task directly. But since I am not allowed to add any connections, I chose the API way.
Now instead of these azure groups, sharepoint list works well too. It just so happens, we have azure subscription, so why not leverage the azure power.
If anyone wants to understand in more depth, do share your queries here.
Happy to help!
Cheers!