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

Iam 998 #58

Merged
merged 7 commits into from
Aug 30, 2024
Merged

Iam 998 #58

merged 7 commits into from
Aug 30, 2024

Conversation

nsklikas
Copy link
Contributor

@nsklikas nsklikas commented Aug 14, 2024

IAM-998

Allow glauth to act as an ldap broker. The main problem with the current approach is that the ldap requests are proxied to the remote ldap server as they are, which means that we have to provide the same bind_dn and password to all the applications that relate with the proxy. Not much we can do on that end (other than push upstream).

Question:

  • Should we allow for multiple backends?
  • Split integration tests in multiple files?

TODO:

  • In another PR we will refactor the integration tests to perform some basic ldap search

@nsklikas nsklikas requested a review from a team as a code owner August 14, 2024 13:44
@shipperizer
Copy link
Contributor

should we allow multiple backends?

my short answer is yes, or better we should allow it knowing that glauth has a callback behaviour (or that s what I gathered from reading the docs last time around)

long answer is "it depends" as I recall there was an interest in having glauth to perform an aggregation between backends, which I'm not sure it's possible but I might be wrong

@nsklikas
Copy link
Contributor Author

my short answer is yes, or better we should allow it knowing that glauth has a callback behaviour (or that s what I gathered from reading the docs last time around)

long answer is "it depends" as I recall there was an interest in having glauth to perform an aggregation between backends, which I'm not sure it's possible but I might be wrong

The behavior I have witnessed (without testing it too much) is that the 1st backend is used for finding the user, ie if the user is not in there then the call fails, and the 2nd backend is used to enhance the user's attributes if the user is not found in there then only the attributes found in the 1st backend (the call does not fail).

The problem with this is that we can't insert users in the external ldap service, which means we won't be able to automatically create accounts for the charms that are related using the ldap integration.
Also if we allow multiple ldap backends it will be hard to reason about which one we should use as "primary".

@nsklikas nsklikas force-pushed the IAM-998 branch 14 times, most recently from b2a6a87 to ec3a3f9 Compare August 27, 2024 07:41
@nsklikas nsklikas merged commit 8ab3dac into main Aug 30, 2024
3 checks passed
@nsklikas nsklikas deleted the IAM-998 branch August 30, 2024 13:35
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.

3 participants