20080614

Reglas para control de acceso en ldap-iplanet

Reglas para control de acceso en ldap-iplanet

[Esto no es una guia extensiva, ni definitiva. Se basa en el empirismo surgido de necesidades especificas.]

Los permisos de ingreso para el servidor LDAP SUN ONE se basan en Instrucciones para Control de Acceso (Access Control Instructions, ACI) las cuales definen quien puede ingresar, a donde puede ingresar y que acciones puede realizar. En terminos generales son como las ACL de OpenLDAP.

Para construirla la regla es necesario identificar que objeto(s) se afectara(n); que usuario, grupo u objeto tendra/carecera de privilegios; que atributos puede tocar; los permisos que se daran.

La estructura basica de la regla es:
    (target="ldap:///cn=*,[...],c=MX")
      (targetattr=[lista de atributos afectados])
        (
           version 3.0;
           acl "[Nombre de la regla";
           allow([lista de opciones]) 
           userdn="ldap:///uid=[...],c=MX";
         )

  Donde
    target
      Es la rama objetivo donde sera aplicada la regla
    targetatrr
      Son los atributos que se afectaran. Ejemplo de ellos, userPassword, giveName, description. El asterisco (*) indica todos. Si para negar dichos atributos es con !=.
    acl
      Seguido del nombre de la regla.
    allow|deny
      Permite o niege las acciones listadas sobre los atributos arriba definidos. Las opciones pueden ser read, write, add, delete, compare, selfwrite, proxy, o all. Para indicar varios se separan con coma (,).
    userdn
      Usuario al que se le aplicara la regla. Puede tomar por valor un dn, self, all, anyone, parent. Tambien se puede aplicar a un grupo (groupdn), por direccion o por tiempo.

Se aplican en el dn que se afecta; es decir, en la rama donde se define el ingreso.

Una regla practica es que un usuario especifico puede realizar cambios de contraseña.
    (target="ldap:///uid=*,ou=Usuarios,c=Empresa,c=MX")
  (targetattr=userPassword)
    (
      version 3.0;
      acl "CambiaPass";
      allow(write) 
      userdn="ldap:///uid=appCamPAss,ou=Apps,         c=Empresa, c=MX";
    )

Si se emplea ldapbrowser 
  Se tiene que agregar el atributo sobre el objeto y pegar la regla en una sola linea.


  Cuando se quiere buscar las reglas se tiene que indicar explicitamente que muestre los atributos aci.



Mayores referencias en
http://docs.sun.com/source/816-6704-10/access_control.html
http://tille.xalasys.com/training/ldap/ch04s02.html