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

feat: add LDAP support for dynamic secrets #2516

Merged
merged 8 commits into from
Oct 3, 2024

Conversation

meetcshah19
Copy link
Contributor

@meetcshah19 meetcshah19 commented Sep 30, 2024

Description 📣

Adds LDAP integration for dynamic secrets.
Implementation flow:

  • Use URL, Bind DN, CA and Bind Password to connect
  • Take LDIF input from the user and replace {{Username}} and {{Password}} with generated values to create the LDIF to be executed. Similar for Revoke. Also allow a Rollback LDIF to allow rolling back changes in case of errors.
  • The LDAP execution implementation stays the same across OpenLDAP and Microsoft Active Directory but the LDIF files to be created differ based on how the LDAP server has been configured and is upon the User to create correctly.
  • Added Active directory details to keep in mind in the docs.

TODO:

  • Test with active directory
  • Docs

Type ✨

  • Bug fix
  • New feature
  • Breaking change
  • Documentation

Tests 🛠️

  • Create a LDAP dynamic secret with the following configuration:

URL: ldap://openldap:389
Bind DN: cn=admin,dc=acme,dc=com
Bind Password: admin
CA: Blank for non secure connection
Creation LDIF:

dn: uid={{Username}},dc=acme,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: John Doe
sn: Doe
uid: jdoe
mail: jdoe@jumpcloud.com
userPassword: {{Password}}

Revocation LDIF:

dn: uid={{Username}},dc=acme,dc=com
changetype: delete

Rollback LDIF:

dn: uid={{Username}},dc=acme,dc=com
changetype: delete
  • Use Generate lease and delete lease to Test.

@meetcshah19 meetcshah19 merged commit 09c1a5f into main Oct 3, 2024
5 checks passed
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

Successfully merging this pull request may close these issues.

2 participants