Am configurat Gravitee APIM 3x (gateway, rest-api, consolă și portal).
Funcționează bine. Când încerc să înlocuiesc autentificarea memoriei cu autentificarea LDAP (FreeIPA), pot face ca serviciul să se autentifice, dar nu li se acordă un rol.
Motivul pentru aceasta este că folosește DN-ul complet al utilizatorului în câmpul memberUid, care are doar un nume de utilizator.
Un comentariu de la @abbra m-a făcut să realizez că uitasem cum sunt organizate grupurile mele. Avem un set de grupuri de bază, numiți-le roluri, aceste roluri sunt membri ai diferitelor grupuri. Deci, când căutați câmpul membru în cn=grupuri,cn=conturi,dc=un domeniu,dc=com
pentru grupurile Gravitee, se va referi la un alt grup care conține membru
câmpuri cu utilizatorul complet dn
.
Deci, întrebarea devine acum, cum pot face recursivă căutarea grupului în Gravitee? Este posibil sau trebuie să adaug fiecare membru în mod explicit la grup?
Cum pot rezolva asta? Las întrebarea inițială eliminată.
Feb 04 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.646 [gravitee-listener-44] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - Căutarea rolurilor pentru utilizatorul „my_DN-userucn”, =my_userucn =users,cn=accounts,dc=somedomain,dc=com', cu filtru (&(objectClass=posixGroup)(memberUid={0})) în baza de căutare 'cn=groups,cn=compat'
Feb 04 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.647 [gravitee-listener-44] DEBUG o.s.s.l.SpringSecurityLdapTemplate - Folosind filtrul: (&(objectClass)=uposix=Uroup_debug cn=utilizatori,cn=conturi,dc=un domeniu,dc=com))
Feb 04 16:27:46 somehost.somedomain.com gravitee[22030]: 16:27:46.713 [gravitee-listener-44] DEBUG o.s.s.l.u.DefaultLdapAuthoritiesPopulator - Roluri din căutare: []