-
Notifications
You must be signed in to change notification settings - Fork 2
Description
-
CRITICAL WPS-T endpoint (multiple REST APIs that exist) is accessible to logged in members of the Unity System. Unity SSO, in other words. Only authentication is needed here, to prove WPS-T access, not authorization in R0.2.
Acceptance Criteria: At least one working example of locking down a REST API. -
CRITICAL Sounder SIPS + U-SPS Team (Luca, Dustin, Namrata, Drew) + UI Team (Anil Natha, Rob Tapella) + U-CS Team members have been on-boarded into the appropriate Authentication Realm.
- (Cognito User Pool).
Acceptance Criteria: At least two Sounder SIPS members in the user pool, and able to use authentication via Cognito A&A.
- CRITICAL Jupyter Notebook Users can access WPS-T endpoint by API (e.g. command Line or machine to machine (app2app), non-interactive authentication)
- Use Case for app2app would be Jupyter Notebooks. The Sounder SIPS operator will use the JNB to execute a job. They would authenticate beforehand?
- Question: Can we use the same token for multiple calls? Can the token be intercepted, and made available to the JNB environment?
- Comment from M20 experience: token should be re-used as much as possible.
- For JNB use cases, it's preferable to use an actual User's account, rather than a service account scenario, for purposes of auditing, etc..
- Question: do JNBs have access to get a user/browser token, and turn around and use it in a call. Is this even needed? Jupyter Hub accesses Jupyter Lab.
- @ramesh-maddegoda to investigate possible options for passing / storing tokens.
Acceptance Criteria: A working example of using JNB to authenticate, and use subsequent calls that leverage a User's auth token to interact with another service / endpoint.
- Users who are not authenticated are redirected to login mechanism (or a HTTP 403).
- Initial login to get to JupyterHub first
- ALSO (and most likely) another need for JupyterHub user to authenticate again (e.g. credss) in the Jupyter terminal.
-
Users can access WPS-T endpoint by Browser (Human based, interactive Auth)
-
Command-line app/tool to get credentials
NOTE: machine to machine is the most probably/important use case here.
NOTE: for R0.2 we only need authentication support (authorization would be extra credit here)
NOTE:
M20’s design for token management is in these docs
https://github.jpl.nasa.gov/pages/M2020-CS3/CSSO_DOCS/csso/docs/quick_start_guide.html
NOTE: integration point repo is https://github.com/unity-sds/ades_wpst
NOTE: command-line tool to get credentials, as well as libraries to interact.