You're welcome.

Best regards,
Andrea

On 27/09/22 13:41, Michael Paxton wrote:
Thanks Andrea,

I will try the configurations you recommended.

Thanks for the guidance!

Cheers
Michael

On Tue, 27 Sep 2022, 01:55 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 Excellence
    http://www.tirasa.net/

    Member at The Apache Software Foundation
    Syncope

--
Andrea Patricelli

Tirasa - Open Source Excellence
http://www.tirasa.net/

Member at The Apache Software Foundation
Syncope

Reply via email to