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] Set the global, private, or a custom tenant as a default through OpenSearch Dashboards Security Plugin #1318

Closed
Tracked by #1319
shanilpa opened this issue Feb 7, 2023 · 6 comments
Labels
enhancement New feature or request triaged ux / ui User Experience / Inferface related issues

Comments

@shanilpa
Copy link

shanilpa commented Feb 7, 2023

Context

Is your feature request related to a problem?
Currently a default tenant (global or private) can be set through YML configuration files. Configuring through these files is a complex and somewhat frustrating experience for admin users. In order to enhance the UX for configuring tenancy it would be nice to offer admin users a dynamic way to set a default tenant between the global and private tenant through the OpenSearch Dashboards Security Plugin.

Other context notes

  • By default the global tenant is the default tenant for all users if not specifically configured by the admin.
  • Saved objects created in private tenants can not be accessed by other users.
  • Saved objects created in the global tenant are accessible to all users.
  • The global tenant can not be disabled
  • Custom tenants can not be set as a default as some roles maybe mapped to that tenant but not all.

Users / Personas

  • Admin - This is a user that has access to the security plugin and can configure tenancy. They can also use tenancy like a non-admin user would.
  • Non-admin - These are users that do not have access to the security plugin, they can not configure tenancy but can use the feature if it is enabled and their admin has granted them appropriate permissions to do so.

What solution would you like?

NB: These are design mockups. Some copy is placeholder and not all interactions are polished.
Mockups may differ from the final launched feature.

1. Set the global tenant as default from configure

  • Admin users can set a global, private, or custom tenant as the default tenant
  • When non-admin users login to Dashboards they will load into this default tenant. In the case that a custom tenant is set as a default and a user does not have permissions they will default to global tenant, followed by the private tenant in that order.
Global.Default.Configure.mp4

2. Set the global tenant from the manage table as a quick action

  • Admin users can select a tenant (private, global, or custom) from the manage table and set it as a default.
  • Friction is introduced via modal so they can consider their decision
Global.Default.Table.mp4

Additional Details

These UX improvements are based on work/tasks outlined in this issue and this RFC for making tenancy dynamically configurable.

@shanilpa shanilpa added enhancement New feature or request untriaged ux / ui User Experience / Inferface related issues labels Feb 7, 2023
@jimishs
Copy link

jimishs commented Feb 10, 2023

Thanks for starting this @shanilpa

"By default the private tenant is the default tenant for all users if not specifically configured by the admin."
Recently we made the change to make global tenant as the default, as requested by many users. Are we considering to change this again?

@jimishs
Copy link

jimishs commented Feb 10, 2023

What is the usecase for "Admin users can enable "enforce default tenant" which disregards a tenancy cookie and loads them into the default tenant instead."

Once admins select a default tenant, we should enforce this automatically. Adding a second level of options is confusing. Can you elaborate on why this option may be necessary?

@stephen-crawford
Copy link
Contributor

[Triage] Assigning to @shanilpa since he is still working on the development. Thank you for this great start!

@abhivka7
Copy link
Contributor

Thanks for starting this @shanilpa

"By default the private tenant is the default tenant for all users if not specifically configured by the admin." Recently we made the change to make global tenant as the default, as requested by many users. Are we considering to change this again?

Correct @jimishs . Global is the Default Tenant now.

@shanilpa shanilpa changed the title [FEATURE] Set the global or private tenant as default through OpenSearch Dashboards Security Plugin [FEATURE] Set the global, private, or a custom tenant as a default through OpenSearch Dashboards Security Plugin Feb 22, 2023
@kgcreative
Copy link
Member

related: #74

@shanilpa
Copy link
Author

This feature has launched: opensearch-project/security#2607

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triaged ux / ui User Experience / Inferface related issues
Projects
None yet
Development

No branches or pull requests

5 participants