Who’s there? JupyterHub 2.0 gets role-based access control going

Who’s there? JupyterHub 2.0 gets role-based access control going

The team behind multi-user Jupyter notebook server JupyterHub has pushed version 2.0 out of the door, aiming to delight admins with the introduction of roles and scopes for better access control.

Through them, users finally have an option to set up automation without granting services full admin rights or install group administrators who only have access to selected data, which wasn’t really an option in earlier versions. JupyterHub has also made it easier to find out a system’s current configuration, offering a --show-config option.

Version 2.0 comes bundled with NullAuthenticator, so setting the authenticator_class to null will disable login, and supports automatic login when it is used as an OAuth2 provider. The Tokens page in the user interface has been fitted with an expiration date dropdown to allow the creation of tokens which will be deleted after a specific time.

Other than that users gained the option to decide if they want paginated list results or not, and don’t have to specify --ip and --port on the command line anymore. The major release also does away with issues regarding database rollback recovery on broken connections, and adjusted some failure codes to make monitoring a bit easier.

Teams who want to make use of the new version are advised to take a look at the upgrade guide and backup their database before making the switch, as JupyterHub 2.0 requires a database schema update amongst other things. It is also advised to stop all servers before updating, as the revocation of tokens during the process will render single-user servers started before the upgrade inaccessible. 

Once the update is done, things might look slightly different then users have grown used to, which is down to the fact that JupyterLab has been declared the new default UI for single-user servers and will be used if available. To get back to the classic notebook, admins will have to set the JUPYTERHUB_SINGLEUSER_APP environment variable in the single-user environment to NotebookApp.

JupyterHub was developed by Project Jupyter to support multi-user scenarios in workgroups and student classes, as the regular setup only allows for single users. It is meant to provide spawning, managing, and proxying capabilities for multiple instances of Jupyter notebook servers.