Sorry to bump this. Is there a known issue with how filters work in the AD
connector or am I misconfiguring it?

Any input greatly appreciated

Cheers Michael

On Wed, 19 Oct 2022, 16:00 Michael Paxton, <paxto...@gmail.com> wrote:

> Hello all,
>
> So I just got a chance to work on this again. The fix for preventing users
> being moved seems to work (will probably need to do more testing) but I
> have set "Custom User Search Filter" to (memberOf=<group_dn>) and it is
> still pulling users (contacts in this case) that are not members of the
> designated group. Interestingly it doesnt pull *all* users that are not
> members of the group - just some.
>
> I have tested the filter with ldapsearch and it seems to work fine. Am I
> doing something incorrectly?
>
> Cheers,
> Michael.
>
> On Tue, Sep 27, 2022 at 1:55 AM Andrea Patricelli <
> andreapatrice...@apache.org> wrote:
>
>> Hi Michael,
>> On 26/09/22 12:31, Michael Paxton wrote:
>>
>> Hi Andrea,
>>
>> Thanks for getting back to me. What we are trying to achieve (which may
>> be a misuse of Syncope - please let me know) is to ensure that all objects
>> in a directory (AD) (eg contacts) that are members of a designated group
>> (eg "Sync Allowed") are pushed into a designated OU on all other
>> participating  directories.
>>
>> This is not a misuse, since Syncope is a provisioning engine, born also
>> to perform such pull/push operations.
>>
>>
>> The destination OU seems to be working but the group selection
>> (implemented by adding the group DN to the Memberships configuration item)
>> seems to work in some instances but not others.
>>
>>
>> When you say "LDAP Filter for Retrieving Accounts" the only similar field
>> I see is "Custom User Search Filter". Is this what you are referring to? I
>> did try it earlier (using a memberof filter in version 2.1.11) with no
>> success but will try again.
>>
>> Yes, on Active Directory connector the configuration parameter is the one
>> you addressed.
>>
>> I have separated push and pull into separate connectors so that I can
>> configure them separately - OU DNs, etc). Is this an error? should it be
>> one connector with two resources (one for pull, one for push) with
>> different connobjectlink? Could this be the cause of it moving an object
>> from the source OU to the destination OU in the same directory?
>>
>> I do not think so, you can even use two different connectors with
>> separate resources, what makes the difference is how you build the object
>> sent to the destination Active Directory.
>>
>> Bear also in mind that if you perform an update on a specific user
>> assigned to a specific resource (say source Active Directory) also a
>> propagation will be triggered, this is why you find entries propagated to
>> the source Active Directory. If you're not interested in propagating on the
>> source, when configuring the pull task you should set pull mode
>> FULL_RECONCILIATION and unmatching_rule: PROVISION: this way you'll get
>> users on Syncope, but not assigned to the source Active Directory resource.
>>
>>
>> I will check out the references you provided now - many thanks for that!
>>
>> I suppose one other question would be, is it possible to remove objects
>> from Syncope (eg get rid of objects that shouldn't have been pulled)? I
>> made the mistake of Deleting them and removing them from AD as well :)
>>
>> Yes, when deleting on Syncope, in order not to fire a DELETE propagation
>> towards Active Directory, just UNLINK these users from the resource and
>> delete or simply remove DELETE capability from Active Directory
>> connector(s).
>>
>>
>> Cheers,
>> michael.
>>
>> HTH,
>> Andrea
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 26, 2022 at 7:15 PM Andrea Patricelli <
>> andreapatrice...@apache.org> wrote:
>>
>>> Hi Michael,
>>>
>>> On 25/09/22 12:23, Michael Paxton wrote:
>>> > Hello all,
>>> >
>>> > I have a configuration where I have two directories (AD) and want to
>>> > synchronise
>>> > certain objects between them.
>>> >
>>> > I want to only synch objects that are members of SynchGroup
>>> >
>>> > I want to pull objects from SourceOU in each directory and to push
>>> > objects to DestinationOU in each directory. This will keep local
>>> > objects separated from synchronised objects
>>> >
>>> > To do this I have done the following:
>>> > - created a connector for each directory dedicated to PULLing. This is
>>> > configured to look at SourceOU and has Memberships set to the DN of
>>> > SynchGroup
>>> > - created a connector for each directory dedicated to PUSHing. This is
>>> > configured to look at DestinationOU
>>> >
>>> > This works, in a fashion, but the following things are occurring:
>>> > - It pulls (and then subsequently pushes) objects that aren't a member
>>> > of SynchGroup
>>>
>>> In order to pull only specific users you can run a Filtered
>>> reconciliation [1] or set a LDAP filter directly on the connector in the
>>> "LDAP Filter for Retrieving Accounts" field. BTW for LDAP identity
>>> stores, synchronize means "pulling only the latest changes" based on the
>>> changelog, is this what you're looking for?
>>>
>>> > - It sporadically moves (i assume, by UPDATE?) local objects from
>>> > SourceOU to DestinationOU in the same directory
>>>
>>> In order to make Syncope write an object in a specific LDAP subtree you
>>> need to properly configure the mapping [2] and especially the
>>> "connObjectLink", a configuration field used as rule to build the DN of
>>> an entry by LDAP connectors. Please take a look at the shared doc and at
>>> the playground env here [3] (ApacheDS connector and resource-ldap
>>> resource).
>>>
>>> If you have to perform more complex computations while propagating,
>>> consider to implement your own Propagation actions class [4] to "hack"
>>> the attributes sent to the connector.
>>>
>>> >
>>> > I am relatively new to Syncope. I initially configured the tasks with
>>> > a highly conflicting schedule which may have causedrace conditions or
>>> > other unusual behaviour but the issues seem to persist even after
>>> > staggering the schedule more sensibly.
>>> >
>>> > Apologies if the above seems overly convoluted. Any advice would be
>>> > greatly appreciated.
>>>
>>> Don't worry ;)
>>>
>>> Best regards,
>>> Andrea
>>>
>>> >
>>> > Cheers,
>>> > Michael.
>>>
>>> [1]
>>>
>>> https://syncope.apache.org/docs/2.1/reference-guide.html#provisioning-pull
>>>
>>> [2] https://syncope.apache.org/docs/2.1/reference-guide.html#mapping
>>>
>>> [3] https://syncope-vm2.apache.org/syncope-console
>>>
>>> [4]
>>>
>>> https://syncope.apache.org/docs/2.1/reference-guide.html#propagationactions
>>>
>>> --
>>> Andrea Patricelli
>>>
>>> Tirasa - Open Source Excellence
>>> http://www.tirasa.net/
>>>
>>> Member at The Apache Software Foundation
>>> Syncope
>>>
>>> --
>> Andrea Patricelli
>>
>> Tirasa - Open Source Excellencehttp://www.tirasa.net/
>>
>> Member at The Apache Software Foundation
>> Syncope
>>
>>

Reply via email to