RBAC - Role Based Access Control (Users & Groups rights) #22
Replies: 22 comments 29 replies
Dashboard and card Visibility control in the UI editor has User as one of the conditions available. So it gets us part of the way there. However, I agree that visibility control isn't as robust as access control, and user-based isn't the same as RBAC. In fact, instead of RBAC-managing dashboard(s) showing the thing, we should RBAC-manage access to the underlying thing itself, be it a device or an area or a Script or a Scene. And what's shown or not shown on the dashboards to a given user should be reflecting the effects of RBAC being applied to the underlying thing, including:
... Ideally also have "only if these conditions are met" (e.g. only during a given time frame, or only if Admin is also present). So a kid not having access to TV past their bedtime shouldn't be about disabling the TV entity on the dashboard they get to see. Instead it's the TV itself that should be RBAC-restricted for them, and the HA would know not to display such restricted things on dashboards for that user. Otherwise, just as an example, if I can't turn the TV on via the media player entity disabled for me, I may be able to turn it on by entering the new scene editing mode and adding the TV entity to the scene in YAML in the ON state, and just leaving the scene editor on while I watch. But if the TV ceases to exist after 9pm as far as my user's RBAC is concerned, or is disabled or read only, we won't have to worry about the whack-a-mole game with all the work-arounds, we nip it in the bud access wise. |
|
still no real user management in 2025 |
|
I want kids to have access to HA, but doing so is not really doable without RBAC. Preferribly on a per-entity basis, I could make a group that he can use and add devices/entities to it that he can use, hopefully the RBAC could be read-only, read-update (f.ex their phone sensors?), read-update-edit/delete. And also be able to lock them to a special dashboard. |
|
can't I hide a camera from all users ? |
|
Yeah this is a serious security concern that seemingly has gone without being fixed. I'm not sure how as it seems extremely obvious and like a serious security flaw. The whole concept of users and administrator seems like it would necessitate access control. I thought the earliest post was from 2022 but apparently it was from 2020 even earlier than I thought. This is a serious concern that limits the ability of home assistant to be used for serious applications. The closest you get is browsermod but this seems like it's integral to the security of home assistant and has been known about for apparently 5years now. Is there any solid plan to address this? |
|
I really hope this is added soon. There are far too many technical entities and elements unnecessarily exposed to family members with no control limitations whatsoever. It's alarming, that still hasn't been taken seriously enough over the years. |
|
IMHO most convinient way is to use User Groups to assign privileges on devices/entities/dasboaards. |
|
@ https://youtu.be/aFsINNDTPjU?t=4601 This is not about the trustworthiness of individual users or residents. The problem is more fundamental and far-reaching: What is critical is that most administrators and users are not aware of this risk. When additional users are created, it is not clearly pointed out that there is no real internal data separation at the API level. Instead, terms like “User,” “Admin,” and dashboard visibility suggest that internal access separation exists. By 2026, Home Assistant is no longer merely an actuator control system, but a central platform for collecting and correlating highly sensitive life data (presence, routines, energy and consumption data, security and lock states, and in some cases health data). Because there is no enforceable internal data separation, a single unintentional mistake by any user effectively leads to a loss of privacy for all residents. Human error alone is sufficient—without any malicious intent. The key point is this: this is not a convenience or purely privacy issue, but a fundamental security flaw at the system level. Justifying this risk with “simplicity” or “usability,” without clearly and unambiguously informing or warning users, is no longer appropriate given today’s volume and sensitivity of data. Precisely because Home Assistant places great emphasis on local data processing and is developed by dedicated volunteers, this discussion is important: |
|
My implementation of Home Assistant is in a club setting. We have a small facility which provides for various functions. These are controlled by various club positions. Being able to create users with read, control, and modify/create rights would allow a more secure, accountable, and controlled approach to access. In a home setting, this would allow various family members to have different views controls access. |
|
It seems like this would be difficult to implement but it seems like it is also very useful to implement. Is there a plan for trying to make all of the integrations and addons compatible with a rule-based access control kind of thing? |
|
I have a cleaning lady who I'd like to be able to give access to some devices without having her call me every time, and also to be able to monitor when she logs in and limit it to certain times. Granular permission management is a must, even for home use. Anyway, thanks for the great work. |
|
Just adding my +1, I am using Home Assistant at a church. We have a few groups we would want to limit access for. Namely, we want to be able to only let certain staff members see any cameras we may connect to home assistant for notifications on movement and such, as well as access to presence sensor data, and access to energy/water usage. We want a second group of people only able to access smart thermostats which are connected. And then a third group of people who can access stage lighting controls for the main room. Apart from any cameras down the road and maybe the presence sensors in my situation, any sort of system doesn't need to be perfectly airtight. Mainly, I just want it to seem impossible to 90% of users to access other pages and other entities, and difficult for the 10% people to hack it if they tried. And of note, each group in my situation can have a dashboard with their own entities and controls, its not like I want a single dashboard to change for different users. Here is a list of implementable steps I would love to see (admittedly I don't know the code base, but each one of these seams more or less bite-sized?, and in my mind increase in complexity the higher the number):
NOTE: When I am talking about "limiting something people can see", I would be fine even if that is just client side filtered. Such that people could technically see it in the inspector or make an API call or something if they are really trying to hack it. But again, I personally am not needing airtight, just average-joe poking around settings tight. :D
|
|
I've been working on a proof of concept that implements most of what's been requested in this thread. It extends Home Assistant's existing permission engine with:
All changes are backward-compatible — existing installations see zero behavioral change. The implementation extends the existing Working branch: https://github.com/davefx/core/tree/feature/professional-acl Architecture discussion: home-assistant/architecture#1374 What's not covered yet: per-dashboard access control and integration/add-on level restrictions. These can be added following the same pattern. I'd love feedback from the community and maintainers on whether this direction is viable for upstream merge. |
Use case: commercial multi-tenant hosting on a single HA instanceAdding a data point from a paying, commercial deployment rather than a household setup. We run a telescope hosting facility. Multiple independent clients rent rack/pier space The current model does not allow this to be secured. Restricting a client to their own dashboard is cosmetic. A non-admin user reaches any
None of these can be disabled by configuration. So today the only thing standing between Assist / LLM conversation agents make it worse. Exposed entities are global to the Why #1374 is the right shape The permission engine already exists and is already backend-enforced across service calls, The label-based approach in this proposal maps onto multi-tenancy almost exactly — one Ask Please consider the incremental path proposed here, starting with the minimal core change Happy to test any branch against a real multi-tenant workload and report back — we have |
|
Copied over from a duplicate FR I suggest preset roles that users can then fine-tune. PresetsPreset names are just ideas. If any of the categories aside from dashboards are not hidden, settings menu must be visible.
Use Case for each presetAdmin = Maintainer Why are upgraded permissions needed?Many Home Assistant instances are in multi-person households or households where not everyone should have full access to everything. There could potentially be a dropdown per user for which role, and they could click on a button to expand the section. So they can choose to use the preset, or to fine tune permissions. The expanded UI could be much like how Google Photos lets you select a whole day, and then unselect photos within it (for lack of a similar UI to reference). Except instead of unselecting/selecting, it's a dropdown menu. NoteI haven't covered all the potential configurable areas above- there are many others like dev tools, media browser, entity search button on dashboards, and so on. |
This comment was marked as low quality.
This comment was marked as low quality.
|
I started a simple discussion yesterday, but it was closed because this one already exists. One of the first things that struck me about HA—given the size of the system—was its underdeveloped access control. I found it odd that access is assigned directly to a user rather than to a profile that defines what the user can or cannot access and can be applied to multiple users. Given that this discussion has been open since June 2025, does anyone know if an implementation is in the works? |
|
I think the rise of LLMs is another good use-case for a better authorization concept. e.g. I'd like to give my assistant access to HA to create / alter a specific dashboard. I sure as hell don't want to give it access to some more security critical entities. |
This comment was marked as duplicate.
This comment was marked as duplicate.
|
One concrete privacy use case that should be explicitly covered by RBAC is Media Browser access. Currently, an administrator can hide a camera card from selected users on a dashboard, but the same camera may still be accessible through Media > Cameras. Hiding the Media sidebar item with a custom frontend plugin is only a visual workaround and does not provide real access control. Permissions should therefore be enforced server-side for camera entities, media sources, sidebar panels, and alternate UI or direct URL access paths. Detailed example: https://github.com/orgs/home-assistant/discussions/4115 |
|
I don't understand, this is the 2nd highest feature request yet still doesn't appear on the HA roadmap as far as I can tell?! |





Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Describe your core improvement
See discussion here, bringing this Feature Request from the Forums to here. (It's bound to happen sometime).
Legacy Feature Request
https://community.home-assistant.io/t/rbac-role-based-access-control-users-groups-rights/467158
WTH 2024
https://community.home-assistant.io/t/wth-no-access-control/802297
WTH 2022
(WTH 2022 RBAC thread was merged into Legacy Feature requests at some point)
https://community.home-assistant.io/t/wth-why-cant-we-limit-logbook-history-devtools-maps-to-admins-only-specific-users/470280
WTH 2020
https://community.home-assistant.io/t/wth-no-rbac-role-based-access-control-users-groups-rights/219581
Current limitations
You cannot create a locked down interface with limited controls for other users on the system.
Technical benefits
Additional context
No response
All reactions