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

Add "Space management" feature #51759

Open
kobelb opened this issue Nov 26, 2019 · 10 comments
Open

Add "Space management" feature #51759

kobelb opened this issue Nov 26, 2019 · 10 comments
Labels
enhancement New value added to drive a business result Feature:Security/Feature Controls Platform Security - Spaces & Role Mgmt feature controls Team:Security Team focused on: Auth, Users, Roles, Spaces, Audit Logging, and more!

Comments

@kobelb
Copy link
Contributor

kobelb commented Nov 26, 2019

Currently, the ability to manage spaces is only granted with the "All" base privileges, and must be granted at all spaces. This isn't obvious, and it also is limiting because you can't create a role which can only manage spaces or manage a subset of spaces.

@kobelb kobelb added Team:Security Team focused on: Auth, Users, Roles, Spaces, Audit Logging, and more! enhancement New value added to drive a business result Feature:Security/Feature Controls Platform Security - Spaces & Role Mgmt feature controls labels Nov 26, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-security (Team:Security)

@legrego
Copy link
Member

legrego commented Nov 26, 2019

A couple of thoughts/notes for future me, or whoever picks this up:

To enable the feature control toggles, Spaces management currently requires access to /api/features, which is granted to the "Global all" privilege. We originally designed it this way because we didn't want under-privileged users to be able to enumerate all of the registered Kibana features.

In order to introduce a "Space management" feature, we will probably need to relax this restriction, or enhance that API endpoint to only return a subset of features based on the current user's privileges.
Of these two, my vote is the former, although this poses another design challenge because we will be allowing users to toggle visibility for features they themselves don't have access to...

An alternative is to prevent features from being toggled/viewed unless the user has access to all features. If we take this route, then the user will only be able to customize the space description and avatar. This means that a user effectively needs "space all" in order to manage the space to its full capacity, which perhaps reduces the usefulness of having a separate feature.


When creating a role that can manage spaces, we will have the following scenarios:

  1. Granting "Global all" will allow the user to create/update/delete any space, just as they can today.
  2. Otherwise, you're granting "Space management" to a predefined set of existing spaces, so this will allow the user to update/delete any of those spaces, but will not allow creation.
  3. What does it mean to grant the "Space management: read" privilege? They'll see the spaces management screen for the spaces they're authorized to manage, but they presumably won't be able to do anything?

BWC: This new feature will need to be excluded from the existing space base privileges, because we don't want to grant this to existing users with "space: all". However, we still need to grant access to users with "Global all".

@erwin-willemsen
Copy link

I am very interested in this solution, because I want certain users to be able to manage Spaces within Kibana management, but do not have any other possibilities within Kibana management. The role "kibana_admin" has to much authorizations for this group of users.

@legrego
Copy link
Member

legrego commented Sep 8, 2020

I am very interested in this solution, because I want certain users to be able to manage Spaces within Kibana management, but do not have any other possibilities within Kibana management. The role "kibana_admin" has to much authorizations for this group of users.

Thanks @erwin-willemsen, we appreciate the feedback. For your situation, would you want your users to be able to manage all spaces (including the ability to create new spaces), or should they only be able to manage a subset of spaces (presumably spaces which already exist)?

@erwin-willemsen
Copy link

erwin-willemsen commented Sep 8, 2020 via email

@laurentmldev

This comment was marked as off-topic.

@legrego

This comment was marked as off-topic.

@laurentmldev

This comment was marked as off-topic.

@legrego

This comment was marked as off-topic.

@laurentmldev

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Security/Feature Controls Platform Security - Spaces & Role Mgmt feature controls Team:Security Team focused on: Auth, Users, Roles, Spaces, Audit Logging, and more!
Projects
None yet
Development

No branches or pull requests

5 participants