I think you're a bit confused. Then again, when it comes to LDAP, I'm usually more than a bit confused myself.

Generally, there are 2 ways to authenticate to LDAP:

1. Connect via a binddn and do an LDAP lookup

2. Connect via a user search to test for found/not-found

Option 1 requires a "universal" binding, which should be either the admin dn (not the best choice), an anonymous account that has lookup rights or a special lookup dn which corresponds to an LDAP userid which has appropriate retrieval rights.

Option 2 requires (I think!) a default anonymous user dn that has appropriate retrieval rights. Option 2 is often the choice for generic go/no-go login lookups.

To use Option 1, you need an appropriate dn to log into the LDAP server itself, plus you have to supply the necessary lookup base path and the userid to be searched for. You may have to define the lookup search arguments and the attribute containing the userid to be searched for.

You've probably been to this page (perhaps even too many times!) but it does define the necessary options, so here it is in case you missed it:

https://docs.ceph.com/en/reef/radosgw/ldap-auth/

Note that if you're searching for Windows user IDs in Active directory, the attribute you need to match on isn't "uid", although unfortunately I cannot remember what it actually is. The "uid" attribute" is the standard for Unix/Linux LDAP user accounts, whereas Windows accounts use a different schema specific to Windows.

On 6/10/25 10:46, Albert Shih wrote:
Hi,

I'm currently running ceph 18.2.7 and I try to connect my RGW to my LDAP

After many hours to battle with that I end up to turn on every debug flag I
can find.

It seem the RGW try to bind anonymously to my ldap server, here the log on
my ldap server (openldap)

   Jun 10 16:32:02 ldaps2-m2 slapd[453]: conn=836633 op=1 SRCH base="dc=obspm,dc=fr" scope=2 
deref=0 
filter="(&(&(objectClass=inetOrgPerson)(memberOf=cn=s3storage,ou=groups,ou=services_centraux,dc=obspm,dc=fr))(uid=jas))"
   Jun 10 16:32:02 ldaps2-m2 slapd[453]: conn=836633 op=1 SRCH attr=uid
   Jun 10 16:32:02 ldaps2-m2 slapd[453]: ==> limits_get: conn=836633 op=1 
self="[anonymous]" this="dc=obspm,dc=fr"


We don't want to allow the anonymous bind here.

I set

   ceph config set client.rgw rgw_ldap_binddn 
"cn=s3storage,ou=dsa,ou=services_centraux,dc=obspm,dc=fr"
   ceph config set client.rgw rgw_ldap_secret "/etc/ceph/ldappw.txt"
   ceph config set client.rgw rgw_ldap_searchdn "dc=obspm,dc=fr"

I check the file /etc/ceph/ldappw.txt, give it to root:root, to ceph:ceph,
change the right 600/644 but whatever I does it'still trying to bind
anonymously.

I can even find the string s3storage,ou=dsa inside the debug log of my ldap
server. It's like rgw don't even try ton bind with the binddn I give it to
him

I try to run a shell inside the podman container but was unable to find
where the rgw config is «instanciated» inside the container (to see what it
get).

Any clue ?

Regards

_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to