nebari-dev / nebari-docs

📖 Documentation for Nebari
https://www.nebari.dev
BSD 3-Clause "New" or "Revised" License
14 stars 29 forks source link

[META] - Review and Update permissions docs around available services on Nebari #513

Open viniciusdc opened 2 months ago

viniciusdc commented 2 months ago

Preliminary Checks

Summary

After the recent update on how permissions are consumed from Keycloak resources to each service, we must ensure our documentation is clear and current.

Steps to Resolve this Issue

  1. Review current permissions logic
  2. Update relevant notes ...
kcpevey commented 2 months ago

Some permission settings I'd be interested to learn about:

In general, I think we need to use the fine grained permissions to move towards removal of "super admin". To that end, we need to think through all the equivalent permissions required for the individual services.

dharhas commented 2 months ago

Can we also remove the developer and analyst groups.

viniciusdc commented 2 months ago

As of reference, I am also adding our current docs about the matter:

dharhas commented 2 months ago

Issues from recent demo.

Adding argo-admin and argo-developer did not enable Jupyter-Scheduler for me, we had to add me to the developer group to give me access.

There is a permission that was required before I could see dashboards that were shared with me. I thin @marcelovilla said it was allow-app_sharing role which seems badly named. Because I don't need to share an app just to see an app that was shared with me.

viniciusdc commented 2 months ago

It seems to be missing a significant factor in our docs regarding a general overview/breakdown of what each permission does and what are their associated roles/scopes:

conda_store_developer
dask_developer
jupyterhub_developer
argo_developer
grafana_developer
kcpevey commented 2 months ago

For jhub-apps deployments: Sharing apps is only added to the admin group by default. In order for non admins to be able to share apps, the user must have the role allow-app-sharing-role. Users with this role can share apps with anyone else. The users viewing the app do not need this role.

The role is under Clients/jupyterhub/Roles/allow-app-sharing-role

Note that the "Create App" form allows you to select sharing options even if you do not have permissions to do so. We are working to disable these options if you don't have proper permissions.