Version: opensearch-2.19.2-1.x86_64
Describe the issue:
For users who have many groups, the login speed is extremely slow, because opensearch, in particular authz, for some reason makes a request to every group it finds for the user. This is observed with different configurations (I gave 2 options below) and I can’t find how to make it not do this. It already has a list of groups - why is it making more requests?
Configuration:
1)
authz:
roles_from_myldap:
description: "Authorize via LDAP or Active Directory"
http_enabled: true
transport_enabled: false
authorization_backend:
type: ldap
config:
enable_ssl: false
enable_start_tls: false
enable_ssl_client_auth: false
verify_hostnames: false
hosts:
- ipa.xxxxx.com:389
bind_dn: 'uid=opensearch,cn=users,cn=accounts,dc=somedomain,dc=com'
password: yyyyyy
rolebase: 'cn=groups,cn=accounts,dc=somedomain,dc=com'
rolesearch: '(member={0})'
userrolename: disabled
rolename: cn
rolesearch_enabled: true
resolve_nested_roles: false
skip_users:
- 'admin'
- 'kibanaserver'
- 'logstash'
2)
authz:
roles_from_myldap:
description: "Authorize via LDAP or Active Directory"
http_enabled: true
transport_enabled: false
authorization_backend:
type: ldap
config:
enable_ssl: false
enable_start_tls: false
enable_ssl_client_auth: false
verify_hostnames: false
hosts:
- ipa.xxxxx.com:389
bind_dn: 'uid=opensearch,cn=users,cn=accounts,dc=somedomain,dc=com'
password: yyyyy
userrolename: memberOf
rolename: cn
rolesearch_enabled: false
resolve_nested_roles: false
skip_users:
- 'admin'
- 'kibanaserver'
- 'logstash'
Logs:
I’m not sure which of the tons of queries are needed, but after getting the user’s group list it runs hundreds of queries like this:
{"type": "server", "timestamp": "2025-07-09T19:28:42,970Z", "level": "DEBUG", "component": "o.l.SearchOperation", "cluster.name": "dev-logs", "node.name": "xxxxxx", "message": "execute request=[org.ldaptive.SearchRequest@1337559277::baseDn=cn=GROUP1,cn=groups,cn=accounts,dc=somedomain,dc=com, searchFilter=[org.ldaptive.SearchFilter@1642584434::filter=(objectClass=*), parameters={}], returnAttributes=[*, +], searchScope=OBJECT, timeLimit=PT0S, sizeLimit=0, derefAliases=ALWAYS, typesOnly=false, binaryAttributes=null, sortBehavior=UNORDERED, searchEntryHandlers=null, searchReferenceHandlers=[org.ldaptive.referral.SearchReferralHandler$SearchReferenceHandler@488de54c], controls=null, referralHandler=org.ldaptive.referral.SearchReferralHandler@50f5fc7, intermediateResponseHandlers=null] with connection=com.amazon.dlic.auth.ldap.backend.LDAPAuthorizationBackend$4@6d44e4f", "cluster.uuid": "6b9MDxGzSiWWr7FK-UUrCA", "node.id": "_JFKdsC4QO-cVV64eyxySA" }
{"type": "server", "timestamp": "2025-07-09T19:28:42,987Z", "level": "DEBUG", "component": "o.l.SearchOperation", "cluster.name": "dev-logs", "node.name": "xxxxxx", "message": "execute request=[org.ldaptive.SearchRequest@1844628746::baseDn=cn=GROUP2,cn=groups,cn=accounts,dc=somedomain,dc=com, searchFilter=[org.ldaptive.SearchFilter@1642584434::filter=(objectClass=*), parameters={}], returnAttributes=[*, +], searchScope=OBJECT, timeLimit=PT0S, sizeLimit=0, derefAliases=ALWAYS, typesOnly=false, binaryAttributes=null, sortBehavior=UNORDERED, searchEntryHandlers=null, searchReferenceHandlers=[org.ldaptive.referral.SearchReferralHandler$SearchReferenceHandler@7b4bf276], controls=null, referralHandler=org.ldaptive.referral.SearchReferralHandler@3efc14c6, intermediateResponseHandlers=null] with connection=com.amazon.dlic.auth.ldap.backend.LDAPAuthorizationBackend$4@6d44e4f", "cluster.uuid": "6b9MDxGzSiWWr7FK-UUrCA", "node.id": "_JFKdsC4QO-cVV64eyxySA" }