Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Authentication, and fine-grained authorization #1901

Closed
hjoliver opened this issue Jun 21, 2016 · 7 comments
Closed

Authentication, and fine-grained authorization #1901

hjoliver opened this issue Jun 21, 2016 · 7 comments

Comments

@hjoliver
Copy link
Member

hjoliver commented Jun 21, 2016

Supersedes #1475 and #1520.
Choose and use existing web-based authentication technologies; depends on #1872.

See also #526.

(EDIT Bruno): see also discussion in cylc-web and in cylc-jupyterhub

@matthewrmshin
Copy link
Contributor

matthewrmshin commented Jun 12, 2017

Some ideas discussed:

  1. We'll need to extend the current set of privilege levels - the grains should be individual API methods, although it should still be able to group them together into coarser categories.
  2. The easiest and most portable way to support authentication is via a private-public key pair. We can have a simple command for a user to create a private-public key pair in a standard location. The user can then send requests to a suite requesting authorisation for certain actions using the public key. The suite owner can then decide to authorise each requested action for the user.

@hjoliver
Copy link
Member Author

hjoliver commented Jun 4, 2018

It seems we need to be able to work with standard site "identity management" systems. Primary use case: production suites under role accounts that need to handle restricted access from multiple operators, and unrestricted access from expert support people. Hopefully a generic interface in cylc, with simple plugins for external interaction. Defaulting to something very simple that does not complicate life for "normal" users. More to come on this...

@hjoliver
Copy link
Member Author

hjoliver commented Jul 6, 2018

Current thinking on this:

In the web GUI era we need a "reverse proxy server" as a gateway between the in-browser GUI and the suite server programs. Authentication can probably (hopefully?) be done at the proxy server - rather than at the suites as now - by calling out (via some off-the-shelf plugin, perhaps) to site identity management. Then an SSL Client Certificate held by the proxy server will allow suite server programs to simply trust all communications from the proxy.

@hjoliver
Copy link
Member Author

(Note comment above is now outdated).

Now: call-out to authenticate at the Hub (co-opting JupyterHub for this). Then Hub-UIServer trust is by token, not SSL Client Cert.

@matthewrmshin
Copy link
Contributor

Then Hub-UIServer trust is by token, not SSL Client Cert.

Definitely better this way.

@hjoliver
Copy link
Member Author

hjoliver commented Aug 7, 2019

This can be closed as superseded, as soon as I find the superseding issues (which may still be coming into existence).

@matthewrmshin matthewrmshin modified the milestones: later, cylc-8.0.0 Aug 28, 2019
@hjoliver hjoliver changed the title Finer-grained authentication and authorization Authentication, and fine-grained authorization Feb 5, 2021
@hjoliver
Copy link
Member Author

hjoliver commented Feb 5, 2021

In Cylc 8 authorization will be handled by the new UI Server component. Closing this as superseded by cylc/cylc-uiserver#10

@hjoliver hjoliver closed this as completed Feb 5, 2021
@oliver-sanders oliver-sanders removed this from the cylc-8.0.0 milestone Mar 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants