Nathan Kinder wrote:
On 11/05/2010 08:24 AM, Rich Megginson wrote:
> Nathan Kinder wrote:
>> Please review these design notes for implementing one way AD sync. In
>> particular, I'm concerned about the possible inconsistencies that can
>> arise from directly modifying a synced entry on the DS side. Does
>> access control seem sufficient for avoiding these inconsistencies?
> How would you use access control?
You would certainly want to change the default self-modify ACI to
prevent a user from changing any of the values for synced attributes.
It is very likely that you would not want to allow anyone other than
"cn=Directory Manager" to modify any synced attributes just to prevent
accidentally causing an inconsistency. One could use the targetfilter
keyword to only apply an ACI to the synced entries if they happen to
be mixed with non-synced entries in the DIT.
It is probably worth coming up with examples of ACIs that one could
use to prevent inconsistencies.
I'd like to get some feedback from users about
how they would see such a
Is your proposal for one way sync from AD->DS? What about one way from
>> If these notes look OK, I'll get everything posted up on
the 389 wiki.
>> One Way Sync
>> Some deployments would prefer that AD sync is only performed in one
>> direction. More specifically, updates will be pulled from AD, but
>> changes to DS will not be pushed back to AD. Ideally, one would
>> restrict direct updates to synchronized entries in DS by configuring
>> access control.
>> To implement one-way sync, we need to add a new configuration attribute
>> to the sync agreement entry. This attribute will be named
>> and will default to "false" if it is not specified to maintain
>> compatibility. When this attribute is set to "true", updates will
>> go in the AD->DS direction.
>> If one way sync is enabled and changes are made to a synced entry on
>> DS side, a replication session with AD will be started. In this
>> session, we will not send any updates, but we will send the Dirsync
>> control to AD to pull any updates. This will result in an
>> in the modified entry between AD and DS. This inconsistency will be
>> resolved the next time any update is made to the entry on the AD side
>> since we compare the entire entry between AD and DS when we receive a
>> change via Dirsync. To avoid these inconsistencies, it is recommended
>> to not allow direct updates to synced attributes in entries on the
>> DS side.
>> Another inconsistency that can occur is if a synced entry is directly
>> deleted from DS. This deletion is not sent to AD. In this case, an
>> update to the entry on the AD side will result in the entry being added
>> back to DS. The direct deletion of synced entries on the DS side
>> be avoided to prevent these inconsistencies.
>> Inside of the replication plug-in, we simply skip sending updates in
>> both the total and incremental replication protocol sessions when using
>> a one way sync agreement. We don't want to change the RUV
>> implementation for a one way sync agreement, so we will just
>> fast-forward the RUV that we maintain for the AD system as if we had
>> successfully sent the changes.
>> 389-devel mailing list
> 389-devel mailing list