LDAP ACL para restringir aplicativos com o mesmo usuário dn

1

Atualmente, precisamos configurar o login LDAP baseado em grupo para nossos aplicativos personalizados. Temos aplicativos chamados app1, app2 etc.

Para restringir o login dos usuários para um aplicativo específico, por exemplo, app1, para esse usuário, ele deve ter o atributo allowedService = app1 , para fazer login no app2 esse usuário precisa allowedService = app2

Assim, criamos usuários.

Agora, para vincular aplicativos ao ldap, criamos usuários como

cn = app1, ou = Aplicativos, dc = primo, dc = ds, dc = geo, dc = com cn = app2, ou = Aplicativos, dc = primo, dc = ds, dc = geo, dc = com

Agora configuramos a ACL do LDAP da seguinte forma:

olcAccess: {0}to attrs=userPassword,shadowLastChange
  by self write by anonymous auth
  by dn="cn=admin,dc=ds,dc=geo,dc=com" write
  by * none
olcAccess: {1}to dn.base=""
  by * read
olcAccess: {2}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" filter="(allowedService=app1)"
  by dn.exact="cn=app1,ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read
  by * break
olcAccess: {3}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" filter="(allowedService=app2)"
  by dn.exact="cn=app2,ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read
  by * break
olcAccess: {4}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com" attrs="entry" by dn.sub="ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read
  by dn="cn=admin,dc=ds,dc=geo,dc=com" write
  by self read
  by * break
olcAccess: {5}to dn.subtree="ou=People,dc=prime,dc=ds,dc=geo,dc=com"
  by dn.exact="cn=app3,ou=Applications,dc=prime,dc=ds,dc=geo,dc=com" read
  by users read
olcAccess: {6}to dn.subtree="dc=prime,dc=ds,dc=geo,dc=com"
  by anonymous write

Mas quando qualquer aplicativo que não suporta filtro (como o suiteCRM), criamos a regra olcAccess: {5} e vinculá-lo ao usuário app3 , mas a ACL inteira não está funcionando e todos os usuários podem fazer login em todos os aplicativos.

Então alguém pode nos ajudar nisso

    
por Geo 31.12.2015 / 16:38

0 respostas