Notes from 10/17 meeting with Kyle Chard

Use case

A central goal is to make Workbench easy to install and work with existing system. One 

One driving use case is TERRA-REF, where Workbench runs along with Clowder near the ROGER system.  ROGER uses NCSA LDAP for authentication/authorization.  In this case, Workbench might use the UID/GID from LDAP for the container context to ensure correct filesystem ownership/permissions.  While this likely won't be possible with Globus auth, we want to understand what kind of cases we might be able to support.

Summary

We should look at Globus Auth seriously for Workbench, since it covers the CILogon case.  Whole Tale is already using it. They have a few examples that we could look at immediately.

The MRDP https://docs.globus.org/modern-research-data-portal is an example intended to demonstrate a very common case of a portal that has an analysis service that can do computations.  This includes an example of using the transfer scope to initiate a transfer on the user's behalf.

Globus implemented an authenticator for Jupyterhub. We could easily set it up.

Whole Tale is already integrating with Globus and we have access to the developers.

The one snag is groups: they are planning a new feature and are limiting who can use Globus groups.  If we can find another option, great. If not, then we can contact them if we can make a compelling case to use it.

May need to look at https://www.internet2.edu/products-services/trust-identity/grouper/

Notes

We're looking at adding Oauth support in Workbench and are considering Globus auth specifically. We'd like to hear about existing examples of use, particularly when integrating with existing infrastructure (e.g., HPC systems, initiating transfer, etc).   This may be as simple as a list of examples (e.g., https://docs.globus.org/modern-research-data-portal/mrdp-description/).

We're also concerned about authorization -- controlling who has access to what in Workbench.  In talking with Kacper, it sounds like Globus uses scopes to issue tokens for different purposes and that we might be able to use Globus groups for this purpose.