Skip to content

Commit 602b3a8

Browse files
Merge pull request #104927 from NuAlex/patch-57
Update concept-azure-ad-connect-sync-declarative-provisioning.md
2 parents dcf00b2 + 8f3fd9c commit 602b3a8

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

articles/active-directory/hybrid/concept-azure-ad-connect-sync-declarative-provisioning.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,20 @@ In *Out to AD - User Exchange hybrid* the following flow can be found:
122122
This expression should be read as: if the user mailbox is located in Azure AD, then flow the attribute from Azure AD to AD. If not, do not flow anything back to Active Directory. In this case, it would keep the existing value in AD.
123123

124124
### ImportedValue
125-
The function ImportedValue is different than all other functions since the attribute name must be enclosed in quotes rather than square brackets:
125+
126+
The function ImportedValue is different than all other functions since the attribute name must be enclosed in quotes rather than square brackets:
127+
126128
`ImportedValue("proxyAddresses")`.
127129

128-
Usually during synchronization an attribute uses the expected value, even if it hasn’t been exported yet or an error was received during export (“top of the tower”). An inbound synchronization assumes that an attribute that hasn’t yet reached a connected directory eventually reaches it. In some cases, it is important to only synchronize a value that has been confirmed by the connected directory (“hologram and delta import tower”).
130+
Inbound synchronization has a concept of assuming that an attribute that hasn’t yet reached a connected directory will eventually reach it at some point so, normally, synchronization gets an attribute value from the respective connector space, even if it hasn’t been yet exported or an error occurred during export.
131+
In some cases, however, it is important to only synchronize a value that has been exported and confirmed during import from the connected directory. This function can be found in multiple “In From AD/AAD” out-of-box transformation rules where the attribute should only be synchronized when it has been confirmed that the value was exported successfully.
132+
133+
An example of this function can be found in the out-of-box Synchronization Rule *In from AD – User Common from Exchange*, for ProxyAddresses attribute flow with Hybrid Exchange. E.g., when a user’s ProxyAddresses is added, the ImportedValue function will only return the new value after it has been confirmed from the following import step:
129134

130-
An example of this function can be found in the out-of-box Synchronization Rule *In from AD – User Common from Exchange*. In Hybrid Exchange, the value added by Exchange online should only be synchronized when it has been confirmed that the value was exported successfully:
131135
`proxyAddresses` <- `RemoveDuplicates(Trim(ImportedValue("proxyAddresses")))`
132136

137+
This function is required when the target directory might change or discard an exported attribute value silently, and we want the synchronization to only process confirmed attribute values.
138+
133139
## Precedence
134140
When several sync rules try to contribute the same attribute value to the target, the precedence value is used to determine the winner. The rule with highest precedence, lowest numeric value, is going to contribute the attribute in a conflict.
135141

@@ -140,11 +146,9 @@ This ordering can be used to define more precise attribute flows for a small sub
140146
Precedence can be defined between Connectors. That allows Connectors with better data to contribute values first.
141147

142148
### Multiple objects from the same connector space
143-
If you have several objects in the same connector space joined to the same metaverse object, precedence must be adjusted. If several objects are in scope of the same sync rule, then the sync engine is not able to determine precedence. It is ambiguous which source object should contribute the value to the metaverse. This configuration is reported as ambiguous even if the attributes in the source have the same value.
144-
![Diagram that shows multiple objects joined to the same mv object with a transparent red X overlay. ](./media/concept-azure-ad-connect-sync-declarative-provisioning/multiple1.png)
149+
It is not possible to have several objects in the same connector space joined to the same metaverse object. This configuration is reported as ambiguous even if the attributes in the source have the same value.
145150

146-
For this scenario, you need to change the scope of the sync rules so the source objects have different sync rules in scope. That allows you to define different precedence.
147-
![Multiple objects joined to the same mv object](./media/concept-azure-ad-connect-sync-declarative-provisioning/multiple2.png)
151+
![Diagram that shows multiple objects joined to the same mv object with a transparent red X overlay. ](./media/concept-azure-ad-connect-sync-declarative-provisioning/multiple1.png)
148152

149153
## Next steps
150154
* Read more about the expression language in [Understanding Declarative Provisioning Expressions](concept-azure-ad-connect-sync-declarative-provisioning-expressions.md).

0 commit comments

Comments
 (0)