jupyterhub / ldapauthenticator

LDAP Authenticator Plugin for Jupyter
BSD 3-Clause "New" or "Revised" License
206 stars 178 forks source link

Members of nested groups aren't allowed if only the parent group is listed under `allowed_groups` #177

Open Aethylred opened 4 years ago

Aethylred commented 4 years ago

Bug description

Using a directory service like FreeIPA that allows nested groups, if a nested group is added to c.LDAPAuthenticator.allowed_groups the indirect members (i.e. members of child groups) are not granted access to Jupyter services.

Expected behaviour

We expected indirect group members to be allowed access to jupyterhub services

Actual behaviour

Access is denied.

How to reproduce

  1. Create two groups in the LDAP directory A and B
  2. Add a user to group B
  3. Add group B as a member group of group A
  4. Set group A as an allowed group using c.LDAPAuthenticator.allowed_groups in jupyterhub_config.py
  5. Restart jupyterhub
  6. Attempt to login as the user added to group B

Your personal set up

welcome[bot] commented 4 years ago

Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively. welcome You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:

dhirschfeld commented 4 years ago

I think this is a dup of https://github.com/jupyterhub/ldapauthenticator/issues/148.

Aethylred commented 4 years ago

It does, looks like they'er covering nested groups in Active Directory, but may not cover the case for FreeIPA/Redhat Identity Manager/389 Directory Server

Aethylred commented 4 years ago

It may also be part of #94

mk-raven commented 1 month ago

Hello! Any update of this issue? We have the same problem, because have a lot of users and nested groups its nice solution