microsoft / coe-starter-kit

Other
736 stars 215 forks source link

[ALM Accelerator - QUESTION] Deployment User Settings permissions #7809

Open plattasia opened 5 months ago

plattasia commented 5 months ago

What is your question?

Not sure if this is by design or broken. When I create Deployment user settings I can share them with specific groups/People. My understanding is that only those users would see those settings in the Canvas app. However, non-admin end user is seeing all profiles no matter who they been shared it with. But maybe I am assuming incorrectly.

Question: Should the end user be seeing all of the user setting options or just the one that have been shared with them?

What component are you experiencing the issue with?

ALM Accelerator Canvas App

What solution version are you using?

Feb 2024

AB#2515

v-bjaiswal commented 5 months ago

Hi @plattasia , Please validate if you are following the steps recommended by Microsoft. https://learn.microsoft.com/en-us/power-platform/guidance/alm-accelerator/setup-deployment-user-settings#share-user-settings-with-the-alm-accelerator-administration-app

plattasia commented 5 months ago

Yes, I have followed them. My customer did so as well. And then I tried few more times from scratch to the same result. By your response I am assuming they should not be seen by all users, just those it was shared with, is that correct?

If so then it is not working as designed.

v-bjaiswal commented 5 months ago

Hi @plattasia , When sharing the 'Deployment user setting' record with any user, it enables access to the associated Dataverse record only. The record label will always be visible to all the users in canvas app. However, to manage access effectively, it's essential to create a 'Deployment profile' for each user with the appropriate permissions. For more detailed guidance on setting up deployment profiles, refer to the documentation provided at the following link: https://learn.microsoft.com/en-us/power-platform/guidance/alm-accelerator/setup-deployment-user-profiles

plattasia commented 5 months ago

I've meticulously followed the setup instructions and double-checked to ensure no step has been missed. However, from a user experience and security standpoint, it's concerning that users can view items for which they lack permissions. Take, for instance, a scenario where a user is presented with a list of 10 profiles and can select any of them. Allowing access to profiles with no interaction rights is fundamentally flawed. This design oversight often leads to confusion among users; when they select a profile and find themselves unable to perform any actions, they might mistakenly believe there is a system error, rather than understanding they've accessed an unauthorized area.

Such misunderstandings can escalate, resulting in users reaching out to support teams with inquiries or complaints, generating unnecessary administrative tasks. These are preventable situations that add to the workload and could strain resources, detracting from addressing more critical issues.

To mitigate these issues and enhance the system's usability and security posture, I propose a design change. The modification would ensure that users only see profiles explicitly shared with them, eliminating any potential confusion and reducing the likelihood of unnecessary support tickets. This approach not only streamlines user interactions but also reinforces the principle of least privilege, a foundational element of robust security practices. By implementing this change, we can provide a clearer, more intuitive user experience and reduce administrative overhead, allowing support teams to focus on more impactful tasks.

RajeevPentyala commented 3 months ago

@plattasia Thank you for the feedback. We'll add it to our backlog and keep you updated on any developments.