Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 13842 invoked from network); 17 May 2005 20:27:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 May 2005 20:27:14 -0000 Received: (qmail 8110 invoked by uid 500); 17 May 2005 17:47:55 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 7952 invoked by uid 500); 17 May 2005 17:47:52 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 7873 invoked by uid 99); 17 May 2005 17:47:51 -0000 X-ASF-Spam-Status: No, hits=2.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS,HTML_10_20,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from smtp7.wanadoo.fr (HELO smtp7.wanadoo.fr) (193.252.22.24) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 17 May 2005 10:47:48 -0700 Received: from smtp7.wanadoo.fr (mwinf0703 [172.22.138.25]) by mwinf0710.wanadoo.fr (SMTP Server) with ESMTP id B9FF54C01C7F for ; Tue, 17 May 2005 19:47:33 +0200 (CEST) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf0703.wanadoo.fr (SMTP Server) with ESMTP id 9D83410000BC for ; Tue, 17 May 2005 19:47:23 +0200 (CEST) Received: from [127.0.0.1] (AOrleans-251-1-23-32.w83-202.abo.wanadoo.fr [83.202.142.32]) by mwinf0703.wanadoo.fr (SMTP Server) with ESMTP id 0E53210000A3 for ; Tue, 17 May 2005 19:47:22 +0200 (CEST) X-ME-UUID: 20050517174723587.0E53210000A3@mwinf0703.wanadoo.fr Message-ID: <428A2E27.3090304@wanadoo.fr> Date: Tue, 17 May 2005 19:47:19 +0200 From: Tony Blanchard User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: fr, en MIME-Version: 1.0 To: Apache Directory Developers List Subject: Re: ACLs questions References: <20050517125401.93404.qmail@web30714.mail.mud.yahoo.com> In-Reply-To: <20050517125401.93404.qmail@web30714.mail.mud.yahoo.com> Content-Type: multipart/alternative; boundary="------------010603050801020407060505" X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --------------010603050801020407060505 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit I have no idea on how to do those things now but a thing that I can do is to point out the security requirement that I told about in a mail on this thread. A duplication of the tree should duplicate ACLs. So subentries look better for this. Meanwhile, a duplication could also transfer a configuration file instead... But how ? Best regards Tony Blanchard Marc Boorshtein a �crit : >>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 > > > > > > --------------010603050801020407060505 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit I have no idea on  how to do those things now but a thing that I can do is to point out the security requirement  that I told about in a mail on this thread.
A duplication of the tree should duplicate ACLs.
So subentries look better for this.
Meanwhile, a duplication could also transfer a configuration file instead... But how ?

Best regards
Tony Blanchard


Marc Boorshtein a écrit :
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




  
--------------010603050801020407060505--