IdP v3.4.4 change user for attribute search

Kai Zimmer zimmer at bbaw.de
Thu Aug 8 08:22:30 EDT 2019


Hi,

i'm about to setup a Shibboleth IdP v3.4.4 connecting to a single local 
ldap server.

My problem is that attribute queries are executed under the login users 
account (here: zimmer) instead of the designated user (ldap read only) 
in the idp.authn.LDAP.bindDN variable (here: shibidp).

As the user account 'zimmer' does not have sufficient rights, it is not 
allowed to search in the ldap. Both accounts can successfully login to 
the ldap, though.

So where and how can i change the user for attribute queries (or why 
isn't the account shibidp used for it)?


<-------------------------------start ldap.properties 
---------------------------->

idp.authn.LDAP.authenticator                   = bindSearchAuthenticator

idp.authn.LDAP.ldapURL                         = 
ldap://somewhere.bbaw.de:389
idp.authn.LDAP.useStartTLS                     = false
idp.authn.LDAP.useSSL                          = false

idp.authn.LDAP.sslConfig                       = jvmTrust

idp.authn.LDAP.trustCertificates                = 
/etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem

idp.authn.LDAP.trustStore                       = 
%{idp.home}/credentials/ldap-server.truststore

idp.authn.LDAP.returnAttributes                  = mail,uid

idp.authn.LDAP.baseDN                           = ou=extra,dc=bbaw,dc=de
idp.authn.LDAP.subtreeSearch                    = false
idp.authn.LDAP.userFilter                       = (uid={user})

idp.authn.LDAP.bindDN                           = 
uid=shibidp,ou=tech,dc=bbaw,dc=de
idp.authn.LDAP.bindDNCredential                 = secret

idp.attribute.resolver.LDAP.ldapURL             = %{idp.authn.LDAP.ldapURL}
idp.attribute.resolver.LDAP.connectTimeout      = 
%{idp.authn.LDAP.connectTimeout:PT3S}
idp.attribute.resolver.LDAP.responseTimeout     = 
%{idp.authn.LDAP.responseTimeout:PT3S}
idp.attribute.resolver.LDAP.baseDN              = 
%{idp.authn.LDAP.baseDN:undefined}
idp.attribute.resolver.LDAP.bindDN              = 
%{idp.authn.LDAP.bindDN:undefined}
idp.attribute.resolver.LDAP.bindDNCredential    = 
%{idp.authn.LDAP.bindDNCredential:undefined}
idp.attribute.resolver.LDAP.useStartTLS         = 
%{idp.authn.LDAP.useStartTLS:false}
idp.attribute.resolver.LDAP.trustCertificates   = 
%{idp.authn.LDAP.trustCertificates:undefined}
idp.attribute.resolver.LDAP.searchFilter        = 
(uid=$resolutionContext.principal)

<-----------------------------------end 
ldap.properties----------------------------------------------->


<----------------------------------start 
idp-process.log---------------------------------------------->

2019-08-08 11:12:09,103 - DEBUG [org.ldaptive.auth.Authenticator:469] - 
IP:194.95.188.5 - entry resolution failed for 
resolver=[org.ldaptive.auth.SearchEntryResolver at 603993194::factory=null, 
baseDn=, userFilter=null, userFilterParameters=null, 
allowMultipleEntries=false, subtreeSearch=false, derefAliases=null, 
followReferrals=false, searchEntryHandlers=null]
org.ldaptive.LdapException: javax.naming.NameNotFoundException: [LDAP: 
error code 32 - No Such Object]; remaining name 
'uid=zimmer,ou=extra,dc=bbaw,dc=de'
     at 
org.ldaptive.provider.ProviderUtils.throwOperationException(ProviderUtils.java:77)
Caused by: javax.naming.NameNotFoundException: [LDAP: error code 32 - No 
Such Object]
     at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3179)

<----------------------------------------end 
idp-process.log---------------------------------------------->


<------------------------------start ldap logfile----------------------->

Aug  8 11:12:09 ldap slapd[22766]: conn=1012 op=1 SRCH base="uid=zimmer,ou=extra,dc=bbaw,dc=de" scope=0 deref=0 filter="(objectClass=*)"
Aug  8 11:12:09 ldap slapd[22766]: conn=1012 op=1 SRCH attr=email uid givenName sn o cn
Aug  8 11:12:09 ldap slapd[22766]: ==> limits_get: conn=1012 op=1 self="uid=zimmer,ou=extra,dc=bbaw,dc=de" this="uid=zimmer,ou=extra,dc=bbaw,dc=de"
Aug  8 11:12:09 ldap slapd[22766]: => mdb_search
Aug  8 11:12:09 ldap slapd[22766]: mdb_dn2entry("uid=zimmer,ou=extra,dc=bbaw,dc=de")
Aug  8 11:12:09 ldap slapd[22766]: => mdb_dn2id("uid=zimmer,ou=extra,dc=bbaw,dc=de")
Aug  8 11:12:09 ldap slapd[22766]: <= mdb_dn2id: got id=0x135
Aug  8 11:12:09 ldap slapd[22766]: => mdb_entry_decode:
Aug  8 11:12:09 ldap slapd[22766]: <= mdb_entry_decode
Aug  8 11:12:09 ldap slapd[22766]: => access_allowed: search access to "uid=zimmer,ou=extra,dc=bbaw,dc=de" "entry" requested
Aug  8 11:12:09 ldap slapd[22766]: => dn: [2]
Aug  8 11:12:09 ldap slapd[22766]: => acl_get: [3] attr entry
Aug  8 11:12:09 ldap slapd[22766]: => acl_mask: access to entry "uid=zimmer,ou=extra,dc=bbaw,dc=de", attr "entry" requested
Aug  8 11:12:09 ldap slapd[22766]: => acl_mask: to all values by "uid=zimmer,ou=extra,dc=bbaw,dc=de", (=0)
Aug  8 11:12:09 ldap slapd[22766]: <= check a_dn_pat: uid=jaecontrol,ou=tech,dc=bbaw,dc=de
Aug  8 11:12:09 ldap slapd[22766]: <= check a_dn_pat: uid=shibidp,ou=tech,dc=bbaw,dc=de
Aug  8 11:12:09 ldap slapd[22766]: <= acl_mask: no more <who> clauses, returning =0 (stop)
Aug  8 11:12:09 ldap slapd[22766]: => slap_access_allowed:*search access denied*  by =0

<----------------------------end ldap logfile ------------------------------->


Best regards,

Kai

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/users/attachments/20190808/2ab52da8/attachment.html>


More information about the users mailing list