Uploaded image for project: 'Airavata'
  1. Airavata
  2. AIRAVATA-3692

Airavata Jupyterhub

    XMLWordPrintableJSON

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:

      1. You need to have a working installation of JupyterHub and Custos Services.
      2. Understand Custos by following tutorials and blogs
        1. https://www.zonca.dev/posts/2022-04-13-jupyterhub-custos-authentication.html 
        2. https://cwiki.apache.org/confluence/display/CUSTOS/Home 
      3. Configure the JupyterHub authentication plugin that uses Custos Security Services for authentication and authorization.
        1. https://pypi.org/project/custos-jupyterhub-authenticator/ 
      4. 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.
      5. The plugin should be configurable using a configuration file.
      6. You should provide instructions on how to install and configure the plugin.
      7. After trying everything locally, install both jupyterhub and custos on AWS - https://z2jh.jupyter.org/en/stable/kubernetes/index.html 

      Deliverables:

      1. A new JupyterHub authentication plugin that integrates with Custos Security Services for authentication and authorization.
      2. A configuration file that allows users to configure the plugin.
      3. A README file that explains how to install and configure the plugin.

      Evaluation Criteria:

      1. The plugin should work correctly and securely integrate with Custos Security Services for authentication and authorization.
      2. The plugin should be easy to install and configure.
      3. The plugin should be well-documented and provide clear instructions on how to use it.
      4. The plugin should follow best practices for secure coding and authentication/authorization protocols.
      5. The code should be well-organized, modular, and maintainable.

      Attachments

        Activity

          People

            rutujajadhav RutujaJadhav
            smarru Suresh Marru
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: