Lutando com a configuração do OpenLDAP (no AWS EC2)

Lutando com a configuração do OpenLDAP (no AWS EC2)

Estou configurando um servidor LDAP em uma instância Linux usando AWS EC2. Até agora, configurei com sucesso o LDAP e o phpLDAPadmin para trabalharem juntos.

Criei usuários e grupos "Unidades organizacionais". Adicionei usuários e grupos a essas "UOs". Agora quero conceder acesso a partes específicas da minha árvore LDAP aos "Usuários" membros de um "Grupo". Foi isso que não consegui configurar até agora...

Minha árvore LDAP é assim:

+--> dc=www,dc=website,dc=com (3)
  ---> cn=admin
  +--> ou=groups (4)
  | ---> cn=admin_users
  | ---> cn=app1_users
  | ---> cn=app2_users
  | ---> cn=basic_users
  +--> ou=users (3)
  | ---> cn=user1
  | ---> cn=user2
  | ---> cn=user3

Digamos que eu adicionei user1 + user2 à lista "memberUid" de "app1_users" e user2 + user3 à lista "memberUid" de "app2_users".

Eu quero:

  • cn=admin tem direitos/acesso totais à árvore
  • app1_users pode se conectar (ao phpLDAPadmin) e adicionar novos membros ao próprio grupo
  • o mesmo para usuários de app2_users

Um usuário conectado (no phpLDAPadmin) deve ver apenas a árvore (e as subárvores filhas) da qual faz parte.

Aqui estão os ACI que tentei (mas que obviamente não estavam funcionando):

access to attrs=shadowLastChange
    by self write
    by dn="cn=admin,dc=www,dc=website,dc=com" write
    by * read

access to attrs=userPassword
    by self write
    by dn="cn=admin,dc=www,dc=website,dc=com" write
    by anonymous auth by * none

access to dn.base=""
    by * read

access to dn.subtree="cn=app1_users,ou=groups,dc=www,dc=website,dc=com"
    by group.base="cn=app1_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

access to dn.subtree="cn=app2_users,ou=groups,dc=www,dc=website,dc=com"
    by group.base="cn=app2_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

access to *
    by self write
    by dn="cn=admin,dc=www,dc=website,dc=com" write
    by * read

Há algo errado com minha configuração?

Responder1

Para mim, a seguinte sintaxe para associação ao grupo funciona:

access to dn.subtree="cn=app2_users,ou=groups,dc=www,dc=website,dc=com"
    by group/groupOfNames/member.exact="cn=app2_users,dc=www,dc=website,dc=com" write
    by dn.base="cn=admin,dc=www,dc=website,dc=com" write 
    by * none

Não tenho certeza se isso resolverá seus problemas porque não sei como phpLDAPadminfunciona.

Se phpLDAPadmintiver suas próprias regras de controle de acesso, você também deverá modificá-las.

informação relacionada