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

Determine conda-store access that each Keycloak group should have #2090

Open
iameskild opened this issue Oct 25, 2023 · 5 comments
Open

Determine conda-store access that each Keycloak group should have #2090

iameskild opened this issue Oct 25, 2023 · 5 comments

Comments

@iameskild
Copy link
Member

iameskild commented Oct 25, 2023

Nebari ships with four default groups each tied to various roles:

A few things that are worth noting:

  • On Nebari, we don't map the conda-store-viewer role to any groups
  • Presently only the users in the admin (or superadmin) group can create environments in shared namespaces.
    • Currently to achieve this, we need to either map the conda-store-admin to the developer group or conda-store needs to expand/modify their existing roles.
  • At the moment, there is no generic mechanism by which we can grant user A read access on shared namespaces X and Y but full read/write access to namespace Z.
    • We can achieve something similar, i.e. we can say all users in the developer group have read/write on all shared folders except for global and nebari-git.
    • Going beyond this might require including additional conda-store roles and then mapping those roles to groups on Keycloak but this would introduce a lot more complex role mapping and is not entirely straightforward.
@dharhas
Copy link
Member

dharhas commented Oct 27, 2023

We need to move away from using analyst/developer as shortcuts for things.

Really what needs to happen is we have the following roles that can be applied to people or groups (names can change)

  • dask: allows a person or a group to use dask
  • gpu: allows a person or a group to use gpu instances (this may need to be finer grained, not sure how the instance/group mappings work)
  • conda-group-admin - in the short term this should allow you to create/edit environments in any group. Ideally, this is a per group role. i.e. I should be able to be an admin of the data-science group but only a user of say the webdev group.

Another point is I think we might want to change the UI to have another optional section that lets me see and use other peoples personal environments. This might require a flag to decide whether it is enabled.

But I may want to browse to /kcpevey/datascience and look at or use that environment (but not edit). Superadmins can currently do this but since all those environments pollute the root of the conda-store-ui.

@kcpevey
Copy link
Contributor

kcpevey commented Oct 27, 2023

The role mapping in conda-store is currently undergoing some improvements which will affect this - conda-incubator/conda-store#491

@pavithraes pavithraes added the status: blocked ⛔️ This item is on hold due to another task label Oct 30, 2023
@kcpevey
Copy link
Contributor

kcpevey commented Jan 10, 2024

This is no longer blocked since the latest conda-store release now has the role mapping changes.

This issue covers the same topic as #1898

@kcpevey kcpevey removed the status: blocked ⛔️ This item is on hold due to another task label Jan 10, 2024
@kcpevey kcpevey added this to the Next Release milestone Jan 10, 2024
@kcpevey kcpevey added the project: JATIC Work item needed for the JATIC project label Feb 15, 2024
@kcpevey
Copy link
Contributor

kcpevey commented Feb 15, 2024

We need to revist how groups and roles should be used in general in Nebari.

The analyst/developer/users concept is a leftover from two early use cases that are no longer valid. We have developers which is currently required for dask and we have users which I believe is unused by Nebari but we know of external teams using it.

@kcpevey
Copy link
Contributor

kcpevey commented Mar 11, 2024

xref: #2304

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: New 🚦
Development

No branches or pull requests

4 participants