> X.500 subentries are recommended to store various
> information for an 
> autonomous administrative area.  The area can be for
> schema, ACLs, or 
> collective attributes.  The area of coverage for the
> contained 
> information in the subentry is defined by the
> subtree specification 
> which includes parameters for chop before, chop
> after, and subtree 
> refinements.  This is all X.500 stuff that the LDAP
> community is 
> reintroducing today.  One can almost say there is a
> subtle convergence 
> going on. 
>

Well, there's allways a difference between
"theoretical" truths and "practical" truths.  While it
might seem that it makes the most sence to store ACL
entries in a subtree, the implementation and
performace is not practical.  

For instance, what if you have an ACL that defines a
restriction on reads of the "sn" attribute for
anything subtree of "dc=domain,dc=com".  When
processing the entry
"uid=test,ou=Users,dc=test,dc=domain,dc=com".  You
could allways travers the DN backworkds to get all the
ACLs and cache those acls so you don't need to find
them again in the request, but that seems like a lot
of overhead (on top of the ACL processing overhead).

A second practical issue is managment.  Instead of
managing all your ACLs in one place, now you have to
manage it on each node.  Seaches could show you all of
the acls in a single report, but now it makes
management a bit harder.

Finally, what about custom partitions and remote
services? (LDAP Proxy, DB Partition).  Now you need
each partition to be responsible for it's own ACL
processing.

So while in a stand alone directory environment with
simple ACLs using a sub entry may be the easiest way
to go, but when you have a large envuronment with
other types of partitions this could become combersome
quickly.
 
> 
> If you want to commit to something we can explore
> implementing 
> subentries together first.  Next we need to include
> support for schema 
> structures for subtree specifications and algorithms
> for subtree entry 
> set inclusion evaluation.  Finally we can begin
> talking about 
> implementing the actual ACL mechanism - IMO the ACL
> mechanism can be 
> developed in parallel and stored somewhere else
> until we complete these 
> components in parallel.  This way Tony can begin
> working with us as well.

As much as I would like to contribute, I simply don't
have time to share anything but my experience.

Marc

Reply via email to