Probleme mit der OpenLDAP-Konfiguration (auf AWS EC2)

Probleme mit der OpenLDAP-Konfiguration (auf AWS EC2)

Ich habe einen LDAP-Server auf einer Linux-Instanz mit AWS EC2 konfiguriert. Bisher habe ich LDAP und phpLDAPadmin erfolgreich für die Zusammenarbeit eingerichtet.

Ich habe Benutzer und Gruppen als „Organisationseinheiten“ erstellt. Ich habe diesen „OUs“ Benutzer und Gruppen hinzugefügt. Jetzt möchte ich den „Benutzern“, die Mitglieder einer „Gruppe“ sind, Zugriff auf bestimmte Teile meines LDAP-Baums gewähren. Das konnte ich bisher nicht konfigurieren …

Mein LDAP-Baum sieht folgendermaßen aus:

+--> 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

Nehmen wir an, ich habe Benutzer1 + Benutzer2 zur „memberUid“-Liste von „app1_users“ und Benutzer2 + Benutzer3 zur „memberUid“-Liste von „app2_users“ hinzugefügt.

Ich will:

  • cn=admin hat volle Rechte/Zugriff auf den Baum
  • app1_users kann sich (mit phpLDAPadmin) verbinden und der Gruppe selbst neue Mitglieder hinzufügen
  • das gleiche gilt für die Benutzer von app2_users

Ein verbundener Benutzer (auf phpLDAPadmin) sollte nur den Baum (und untergeordnete Unterbäume) sehen, zu dem er gehört.

Hier sind die ACI, die ich ausprobiert habe (die aber offensichtlich nicht funktionierten):

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

Stimmt etwas mit meiner Konfiguration nicht?

Antwort1

Bei mir funktioniert folgende Syntax für die Gruppenmitgliedschaft:

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

Ich bin nicht sicher, ob das Ihre Probleme lösen wird, weil ich nicht weiß, wie phpLDAPadmines funktioniert.

Wenn phpLDAPadmines eigene Zugriffskontrollregeln gibt, müssen Sie diese ebenfalls ändern.

verwandte Informationen