mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-04-25 13:46:02 +03:00
[GH-ISSUE #341] LDAP integration question #93
Labels
No labels
AS
can't reproduce
can't reproduce
deployment
development
documentation
duplicate
duplicate
ee
enhancement
external
new driver
performance
pull-request
third party issue
wait for response
wait for review
wontfix
x:Oracle
x:cassandra
x:clickhouse
x:db2
x:duckdb
x:greenplum
x:h2
x:h2gis
x:hana
x:hive
x:intersystems
x:kyuubi
x:maria
x:mongo
x:mysql
x:postgresql
x:presto
x:sql server
x:sqlite
x:teradata
x:trino
xf:accessibility
xf:administration
xf:ai
xf:authentication
xf:aws
xf:commit-mode
xf:connection
xf:dark theme
xf:data editor
xf:datatransfer
xf:dba
xf:driver management
xf:erd
xf:filters
xf:i18n
xf:i18n
xf:installer
xf:json
xf:kerberos
xf:ldap
xf:local config
xf:log viewer
xf:metadata
xf:metadata editor
xf:navigator
xf:okta
xf:query manager
xf:resource manager
xf:scripts
xf:sql editor
xf:tasks
xf:ui/uix
xo: Firefox
xo:eclipse
xo:internet explorer
xo:macos
xp:major
xrn:internal
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/cloudbeaver#93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @euanmacinnes on GitHub (Apr 6, 2021).
Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/341
One of the biggest headaches of database admin, and infrastructure is the separate account management of individual apps. Is there a plan to add LDAP support for CloudBeaver, so that we can give consistent account logging information to users, as well as map connections to LDAP roles for centralized security management? 2-4 users isn't much of a problem, but 40-50 users most definitely is, just to give an idea of scale.
@kseniiaguzeeva commented on GitHub (Apr 8, 2021):
Thank you for the idea. We will think what can be done.
@simonpinnow commented on GitHub (May 3, 2021):
Hi,
this would be an important feature for us, too. Without it is hard to handle. We want to use it inside of a kubernetes.
Thank you.
Best regards.
Simon
@Geronium commented on GitHub (Jun 21, 2021):
hello,
some news of the ldap integration ?
Thank you
@kseniiaguzeeva commented on GitHub (Jul 7, 2021):
Could you please give more details and examples how do you use LDAP? Do you use it for Active Directory only?
As I see different cases exist and we should understand what way will be the best to integrate it.
Thank you in advance for your help.
@Geronium commented on GitHub (Jul 7, 2021):
hello,
in my case, we use openldap to authenticate on the applications. Either directly or through the system (which allows it to authenticate via openldap).
you can see an exemple of the entry inside the ldap
dn: uid=test,ou=users,idPF=prod,ou=enterprise,c=com
cn: test
gidnumber: 1000
givenname: test
homedirectory: /home/test
loginshell: /bin/bash
mail: test@test.com
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: posixAccount
sn: test
uid: test
uidnumber: 1000
userpassword: test
and an exemple of application configuration directly
import ldap
import django_auth_ldap.config
from django_auth_ldap.config import LDAPSearch
AUTH_LDAP_SERVER_URI = "ldap://172.222.1.254:389"
AUTH_LDAP_BIND_DN = "cn=Manager,ou=enteprise,c=com"
AUTH_LDAP_BIND_PASSWORD = "***"
AUTH_LDAP_USER_SEARCH = django_auth_ldap.config.LDAPSearch(
"ou=users,idPF=prod,ou=enterprise,c=com", ldap.SCOPE_SUBTREE, "uid=%(user)s"
)
if we pass by the system, we need to authorize the system to authenticate with the ldap, for that i use nslcd and i add the rights in the pam.d configuration for this application
-(mer. juil. 07 10:22:47)--(myserver:/etc/pam.d)-
[root] # cat application
#%PAM-1.0
auth sufficient pam_ldap.so
auth requisite pam_succeed_if.so quiet
auth required pam_unix.so nodelay
account required pam_unix.so
i don't know what is better, to authenticate by the system (if it's possible) or directly with the ldap, but it's what we need, in my case.
Thank you.
@dawsongzhao commented on GitHub (Jul 26, 2021):
we aslo need ldap to countrol develper access connections
@kseniiaguzeeva commented on GitHub (Aug 2, 2021):
@dawsongzhao thank you for voting. Could you please also give more details and examples how do you use LDAP?
@simonpinnow commented on GitHub (Aug 2, 2021):
Hey, sorry for delay because of holiday.
For us it would be nice to have:
configuration:
best regards
Simon
@ThePrez commented on GitHub (Mar 31, 2022):
piling on (for better or for worse). I'd like to use an IBM i server for LDAP authentication (so people can log into DBeaver with their IBM i username/pw).
^^ The above is probably non-useful feedback, but I can say that the LDAP support/design in the gitbucket project works great for this use case.
@kseniiaguzeeva commented on GitHub (Apr 20, 2022):
It's quite difficult to implement the feature, because different cases exist how LDAP can be used. Thank you for the provided link, we are going to investigate it.
An implimentation is going to be after 21.1 release.
@Geronium commented on GitHub (Jun 12, 2022):
Hello,
we are at the 22.1.0 version, we have exceeded the 21.1 release and i don't see the ldap fonctionnality. In the millestone
https://github.com/dbeaver/cloudbeaver/milestones
the ldap fonctionnality is not planned.
I noticed that in the last release there was the addition of "authentication via nginx" ?
"Users can login to the application via Nginx."
can we use it to connect via ldap ?
Thank you
@alexander-skoblikov commented on GitHub (Jul 6, 2022):
@Geronium Hello,
yes, it is potentially possible if you can integrate nginx with ldap and send the correct authorization headers when opening Cloudbeaver. You can read more about required headers and how to set it up on the Cloudbever side on our wiki page - Reverse proxy authentication
@bsteinweg commented on GitHub (Sep 12, 2022):
We use LDAP as a way to connect to Oracle databases, without needing to distribute TNS Names file to all users. LDAP simply allows easier administration of Oracle DB connections. Seems like that would be a simple and helpful addition to DBeaver...!
@jonsbun commented on GitHub (Apr 5, 2024):
Would be great to know if this feature planned only for EE or also in Community edition?
@EvgeniaBzzz commented on GitHub (Apr 8, 2024):
@jonsbun
We plan to add this functionality to all versions.
@EvgeniaBzzz commented on GitHub (Jun 3, 2024):
Thanks everyone for waiting, it's finally done!
LDAP auth is available in CloudBeaver Community edition v.24.1.0 (PRO versions will be released in a week).
Wiki page with configuration will be created soon.
We would appreciate your feedback, any improvements are welcome! 🦫
Configuring LDAP in Community edition:
workspace/.data/.cloudbeaver.runtime.confand add configuration toapp.authConfigurations(you can also add it to
cloudbeaver/deploy/cloudbeaver/.cloudbeaver.confif you prefer to have LDAP in all new workspaces)@jonsbun commented on GitHub (Jun 7, 2024):
Thank you for this integration. I have a few additional questions:
@EvgeniaBzzz commented on GitHub (Jun 7, 2024):
@jonsbun
It depends on your LDAP structure.

If you have 1-2 organization units then you can specify them in config (in
ldap-dn). So you will have to login only with you common name and password.If you have many organization units then you can specify in config only dc's and login with ou + cn + password.
LDAP users are created automatically after the first login. There is no user provisioning. So you can't map teams.
@EvgeniaBzzz commented on GitHub (Jun 7, 2024):
Also wiki page is ready, you can find some extra information there.
LDAP Authentication
@jonsbun commented on GitHub (Jun 7, 2024):
Well, then I think LDAP users mapping with the teams would be very useful. Now the LDAP user first must login and only after that mapping is possible. For example, if a Local users are used, mapping can be achieved in one iteration.
@EvgeniaBzzz commented on GitHub (Jun 11, 2024):
@jonsbun could you, please, create a new issue for that feature?
@EvgeniaBzzz commented on GitHub (Jun 11, 2024):
All pro-versions 24.1.0 with LDAP provider are also released.
I'm closing this issue, but you are always welcome to leave a comment here or to create a new one 🦫
@iegurbide commented on GitHub (Jun 11, 2024):
I have been giving this a go but I don't think enough information is available to try to integrate with our LDAP system.
Some questions that arise:
What user is being used to bind to the LDAP server (as ours requires authentication). It is the same user logging in to the specific application i.e no service user is being used? Normally this would be done with a placeholder.
What field is user name? Generally this should be a configurable unique identifier for the user. Depending on the ldap this attribute could be uid, sAMAccountName, mail, etc. No clue what is being used in this case.
In general, an ldap query looks something like this:
ldapsearch -x -D "<bind-user>" -w "<bind-password>"-b "<base-dn>" "<filter>" -H "<ldap-host>:<ldap-port>"
I'm assuming mapping from the configuration file is something like this:
It would be really helpful to know how the rest of the elements are mapped or if they have even been considered.
@jwetzell commented on GitHub (Jun 11, 2024):
I am in the same boat as @iegurbide it seems there is not enough configurability to support the LDAP setups I see. Gotten numerous other products successfully integrated with LDAP (Harbor, Grafana, Gitea, etc.) without issue.
@jonsbun commented on GitHub (Jun 17, 2024):
Feature request: https://github.com/dbeaver/cloudbeaver/issues/2715. I also summarized feedback from the @iegurbide.
@EvgeniaBzzz commented on GitHub (Sep 5, 2024):
New parameters have been added:
ldap-identifier-attr- User identifier attributeldap-bind-user- Bind User DNldap-bind-user-pwd- Bind User Passwordldap-filter- User FilterExtra information you can find in the LDAP Authentication article
@LonwoLonwo commented on GitHub (Jan 6, 2025):
Hello
We added the ability to set an attribute to be used as the user's login. The new parameter is
ldap-login.The bind user (
ldap-bind-userandldap-bind-user-pwd) must also be configured to use the attribute.Now, the parameters look like this:
These changes are found in the latest release, 24.3.2 (06.01.25).