[Freeipa-devel] [Patch] 0001-2 User Life Cycle: create containers and scoping DS plugins
thierry bordaz
tbordaz at redhat.com
Fri Aug 29 12:52:16 UTC 2014
On 08/28/2014 08:58 PM, Sumit Bose wrote:
> On Thu, Aug 28, 2014 at 08:41:57PM +0200, thierry bordaz wrote:
>> On 08/28/2014 08:30 PM, Sumit Bose wrote:
>>> On Thu, Aug 28, 2014 at 07:26:51PM +0200, thierry bordaz wrote:
>>>> On 08/28/2014 06:51 PM, Sumit Bose wrote:
>>>>> On Thu, Aug 14, 2014 at 07:18:40PM +0200, thierry bordaz wrote:
>>>>>> Hello,
>>>>>>
>>>>>> Following Petr remarks from the previous review, I modified the
>>>>>> original fix to move it only in '.update' files.
>>>>>>
>>>>>> Thanks
>>>>>> thierry
>>>>>>
>>>>>> From d45e78dfeb7761348c464b3bb3956656bb115ce0 Mon Sep 17 00:00:00 2001
>>>>>> From: "Thierry bordaz (tbordaz)" <tbordaz at redhat.com>
>>>>>> Date: Thu, 7 Aug 2014 16:29:02 +0200
>>>>>> Subject: [PATCH] User Life Cycle: create containers and scoping DS plugins
>>>>>>
>>>>>> User Life Cycle is designed http://www.freeipa.org/page/V4/User_Life-Cycle_Management
>>>>>> It manages 3 containers (Staging, Active, Delete). At install/upgrade Delete and Staging
>>>>>> containers needs to be created.
>>>>>> Active: cn=users,cn=accounts,$SUFFIX
>>>>>> Delete: cn=deleted users,cn=accounts,cn=provisioning,$SUFFIX
>>>>>> Stage: cn=staged users ,cn=accounts,cn=provisioning,$SUFFIX
>>>>>>
>>>>>> Plugins scopes:
>>>>>> krbPrincipalName, krbCanonicalName, ipaUniqueID, uid:
>>>>>> cn=accounts,SUFFIX
>>>>>> cn=deleted users,cn=accounts,cn=provisioning,SUFFIX
>>>>>> DNA:
>>>>>> cn=accounts,SUFFIX
>>>>> Hi Thierry,
>>>>>
>>>>> sorry for being late, but cn=accounts,SUFFIX is too strict for the DNA
>>>>> plugin. We need to generate a UID for the trusted domain objects as
>>>>> well which are stored in cn=trusts,SUFFIX. The reason is that AD
>>>>> expects to be able to connect with a special trusted domain account. We
>>>>> generate this account on the fly based on the data in the trusted domain
>>>>> object hence we need a UID here.
>>>>>
>>>>> Since it looks like dnaScope is a SINGLE-VALUE attribute I think
>>>>> dnaScope has to be reverted to SUFFIX. Do you see any drawbacks or a
>>>>> different solution?
>>>>>
>>>>> bye,
>>>>> Sumit
>>>> Hello Sumit,
>>>>
>>>> Thank you so much for having reviewed this fix and your important
>>>> feedback !
>>>>
>>>> Yes I had the same fear to restrict DNA to 'accounts'. I opened
>>>> https://fedorahosted.org/389/ticket/47828
>>>> to allow to exclude a part of the DIT (here
>>>> 'cn=provisioning,SUFFIX') from the scope of DNA plugin.
>>>> Do you think it can address this concern ?
>>> Yes, in general this would fix the issue. I'm just wondering if it
>>> wouldn't be easier with respect to coding and management to make
>>> dnaScope a multi-value attribute?
>>>
>>> Additionally a fix for IPA master is needed to make trusts work again.
>>> Would it be possible to tweak the filter to skip objects in
>>> cn=provisioning? E.g. do those objects have the ipaObject objectclass?
>> Yes, stage entries have 'objectclass=ipaObject'.
>> Do you suggest to remove this oc from staged entries, so that the filter
>> will not match it ?. I have to check the impact of stage user not being
>> ipaObject.
> no, it was just a suggestion. Maybe we can use entryDN like:
>
> (&(|(objectClass=posixAccount)(objectClass=posixGroup)(objectClass=ipaIDobject))(!(entrydn=*cn=provisioning*)))
Hi Sumit,
Ho great I like this idea !
Unfortunately it does not work as expected.
In fact 'entrydn' is not present in the added entry when the DNA
preop-plugin is called (it is added later).
As stage entries may get added with an external provisioning system,
I can not rely on any fixed attribute value to skip them from DNA.
Also setting this filter and adding a stage user had a curious
impact as it sets uidNumber/gidNumber to -2.
I believe this is because the filter is true in the preadd (entrydn
does not exist) so dna preop set the uid/gidNumber to -2 and
when the bepreop is called (entrydn has been added) filter is false
and the transient value -2 is not set to -1 :-)
So I rely on checking the entry DN vs the scope to prevent DNA to
allocated number and I will work on ticket 47828.
thanks
thierry
>
> bye,
> Sumit
>
>> thanks
>> thierry
>>> bye,
>>> Sumit
>>>
>>>> thanks
>>>> thierry
>>>>
>>>>>> Plugins exclude subtree:
>>>>>> IPA UUID, Referential Integrity, memberOf:
>>>>>> cn=provisioning,SUFFIX
>>>>>>
>>>>>> Reviewed-By: Petr Viktorin <pviktori at redhat.com>
>>>>>>
>>>>>> https://fedorahosted.org/freeipa/ticket/3813
>>>>>> ---
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20140829/6ae4a414/attachment.htm>
More information about the Freeipa-devel
mailing list