Refactoring of user profiles

ok, I am still not sure how I should describe this Request… it is a bit difficult to explain - and this request will be more of a description how I could imagine the user profiles should work in the future, rather than a specific request of a single functionallity… so I will just try it to explain…

With the recent change on how the login ‘should’ work and the resulting complains about a possible security breach, the requirement of a real and well designed user-management system should be considered.

In my opinion, HA should come with a default Administration account that will be created during installation.

Within this Admin profile, you should have to create new User Profiles to work with.

  • Installing integrations:

    • when you install an integration, you can do this from the Admin Account *
    • You should be able to decide, if an integration should be available for all user accounts, or only for specific users.
    • especially, if the integration is cloud based and works with specific user logins.
    • this would allow to have integrations that can run within the user-context of a specific profile and only this particular user could use the integration.
  • There should be a setting, what a user is allowed to do:

    • for example: is the user allowed to change settings on a thermostat or is the user only allowed to see the current thermostat settings.
    • this should be possible on integration level, device level and MAYBE even on entity level
    • if a User is allowed to install integrations, they should only be available within the user context of the user that has installed the integration.
      • This can be changed within the admin account

This would allow to have profiles for other family members, but you would prevent that someone can modify your task list, your calendar, or that your child could change settings of a specific device.

Decide, which user profiles should be visible in the login page (the now reverted, new login screen) - and if this user should be exposed on remote computers or onyl within the local network (only the local network, not just “private subnet”)…
→ The Admin Account should NEVER be exposed in this way.

On a User-Level:
Use Auto-Logout after x-Minutes
This would allow users with a Wall-Tablet to login into their account… after x minutes, the system should log out the current user and then show the login page again.

The LogBook should show, what device / state changed by which user:
→ User A has switched on the Light xyz / → System has switched on the Light ABC
→ User B has changed the Thermostat gde to 123… and so on. (seems to be already available)

I know, that such changes are a big refactoring of the current user-profile system - and would also be a big “breaking change” for existing installations.

But in my opinion, the User-Privileges and User Profile system is something, that is not “state of the art” for a couple of years now - and should get more focus with a growing user base - and becomes more and more important compared to design changes (which I still like [at least most of them] :wink: )

Closing as a duplicate of:

https://community.home-assistant.io/t/security-model-authorization/621731

Please vote and comment there.