Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Overhaul user, role and permission management to support database-level permissions for OSS and Enterprise #5834

Closed
timhallinflux opened this issue Dec 15, 2021 · 8 comments
Assignees
Milestone

Comments

@timhallinflux
Copy link
Contributor

Current behavior:
Chronograf supports the ability to set user and role permissions at the instance level. This means that when granting permissions for a user/role these permissions apply for every database within an InfluxDB instance (OSS or Enterprise).

Proposed behavior:
InfluxDB OSS supports management of user permissions at the individual database level -- using InfluxQL.

InfluxDB Enterprise also supported management of user and role permissions at the individual database level -- using the /user meta API.

Chronograf already detects whether it is connected to an OSS and/or Enterprise edition (along with whether it has appropriate access to the meta nodes). It should offer a more sophisticated UI to support database-level permissions.

@danatinflux
Copy link

@samhld @timhallinflux Any movement on this one?

@timhallinflux
Copy link
Contributor Author

Planned as part of the Chronograf 1.10 release -- as labeled.

@samhld
Copy link

samhld commented May 1, 2022

@ivankudibal @sranka

Additional context:
In giving this some thought, I think we might want to include all permissions in this if we're assuming admins are using Chronograf as a user management interface, in general. While not all permissions are related to behavior of the UI, itself, admins may still want to create and manage non-UI users from Chronograf as well?

Placement:
I would have this configuration placed in the same user administration area of the UI that already exists.

UX:
I am open to other ideas but my brain currently thinks of this as a table. Users being rows, resources being columns, and permissions being a dropdown (box select type, for multiple selections) for each resource. The value of the each table cell would then be a list of permissions.

@sranka
Copy link
Contributor

sranka commented May 2, 2022

Thank you @samhld for your initial input, makes sense to me. I wll start with user/permission management in a table-like visualization as you suggest (with a user/database filter that can be used if there are more databases or users ). The InfluxDB Users management page will also change to not manage permissions at all (it is a wrong concept since permissions can have database scope).

I will initially postpone InfluxDB role management changes, it might however look the same (assigning users to roles). Roles are already administered by the UI, this will be revised and likely changed. I will initially put off restrictions management, since it will require a different approach.

While not all permissions are related to behavior of the UI, itself, admins may still want to create and manage non-UI users from Chronograf as well?

Yes, chronograf authorizations are different to InfluxDB authorizations, InfluxDB user/role/permission management against InfluxDB Enterprise (when detected) is the primary goal of this issue, OSS must be supported as well. Pages accessible from Admin/InfluxDB sidebar menu will change.

@sranka
Copy link
Contributor

sranka commented Jun 8, 2022

The new User and Role management now also includes the ability to manage permissions per DB for both roles and users.

@sranka sranka closed this as completed Jun 8, 2022
@tarainfluxd
Copy link
Member

Hey @sranka! Is there documentation for this feature?

@samhld
Copy link

samhld commented Jun 14, 2022

@tara-influxdata Documentation will be included with its release

@tarainfluxd
Copy link
Member

Perfect, thank you @samhld!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants