developmentseed / developmentseed/eoapi-risk
Configure & document user groups
- Dominant language
- Jupyter Notebook
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
At time of writing, we must directly associate JupyterHub users with JupyterHub roles to support RBAC. Those roles are then associated with JupyterHub services (ie OAuth2 clients) to grant users authenticated access to the applications' underlying services (see [JupyterHub RBAC - Roles: Defining Roles](https://jupyterhub.readthedocs.io/en/stable/rbac/roles.html#defining-roles)).
https://github.com/developmentseed/eoapi-risk/blob/b3912f5a9876f3c45e2ab2c25b9dbf6d11c94411/deploy/helm/jupyterhub/values.yaml#L70-L78
This is a bit of an onerous task and won't scale well for systems with large user bases. Instead, a more elegant solution would be to grant _groups_ access to the JupyterHub Applications. Ideally, users would then be automatically assigned to groups based on information associated with their identity as specified by the identity provider (ie GitHub, perhaps this could be based on membership of a GitHub group?) I'm admittedly not sure as to what the capabilities are for this within JupyterHub. For reference, Grafana has a nice system allowing the use of JMES expressions to assign users to groups upon login ([docs](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/#configure-role-mapping)).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.