Details
-
Epic
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
-
Jupyterhub Cloud Environment for Airavata
-
Easy
Description
JupyterHub is an open-source platform for hosting interactive Jupyter notebooks. Airavata Custos Security Services federated authentication and fine-grained authorization capabilities. In this Epic, you will integrate JupyterHub with Custos Security Services to enable secure and authorized access to Jupyter notebooks.
Requirements:
- You need to have a working installation of JupyterHub and Custos Services.
- Understand Custos by following tutorials and blogs
- Configure the JupyterHub authentication plugin that uses Custos Security Services for authentication and authorization.
- The plugin should support the following features: a. Users should be able to login to JupyterHub using federated authentication (university or google or GitHub authentication). b. The plugin should use Custos Security Services to check if a user has access to a specific notebook before allowing access. c. The plugin should provide a way to map Custos Security Services roles to JupyterHub groups for fine-grained authorization.
- The plugin should be configurable using a configuration file.
- You should provide instructions on how to install and configure the plugin.
- After trying everything locally, install both jupyterhub and custos on AWS - https://z2jh.jupyter.org/en/stable/kubernetes/index.html
Deliverables:
- A new JupyterHub authentication plugin that integrates with Custos Security Services for authentication and authorization.
- A configuration file that allows users to configure the plugin.
- A README file that explains how to install and configure the plugin.
Evaluation Criteria:
- The plugin should work correctly and securely integrate with Custos Security Services for authentication and authorization.
- The plugin should be easy to install and configure.
- The plugin should be well-documented and provide clear instructions on how to use it.
- The plugin should follow best practices for secure coding and authentication/authorization protocols.
- The code should be well-organized, modular, and maintainable.