Forum Discussion
ImmutableID to Extensionattribute
- Nov 29, 2018
Hello Charles,
There are two different queries in your request.
First - How to writeback Immutable ID to an Extension Attribute.
Second - ObjectID of cloud Accounts.
In Order to complete the first task,
Create and Outbound rule for AD connector that must map source anchor to extension attribute, below mentioned is an example,
Add-ADSyncAttributeFlowMapping `
-SynchronizationRule $syncRule[0] `
-Source @('sourceAnchor') `
-Destination 'msDS-cloudExtensionAttribute10' `
-FlowType 'Direct' `
-ValueMergeType 'Update' `
-OutVariable syncRule
Once the rule is created run a sync and you will find the extension attribute populated with source anchor.
For the second query, ObjectID is an attribute that belongs to Object Class and is a mandate attribute that will be populated for all the objects. (Synced or Cloud)
To check about the Object class you can run the below mentioned command on AzureAD powershell.
Get-AzureADUser | Get-Member
Let me know if you have any query.
Regards,
Rishabh
Hello,
Great question and some interesting responses. Please let me share some friendly advice from my own experiences working with customers.
Yes, AAD C is a cutdown version of the MIM/FIM sync engine, BUT, please try and avoid adding custom rules. Custom rules adds complexity which can come back and haunt you when the time comes to upgrade.
In this scenario using mS-DS-ConsistencyGuid as the source anchor for both your on-prem applications and Azure AD might be the best option.
The big advantage of using mS-DS-ConsistencyGuid rather than GUID, is it’s writable. So, if you do need to cater for users moving between forests, it’s a simple process of copying the value between objects.
With regards to cloud accounts, it’s a little tricky as you need the object written back to create an on-prem “shadow” account.
Another option might be updating the application authentication end-points to support Azure AD or using Azure application proxies.
Further reading:
sourceAncor and mS-DS-ConsistencyGuid
https://docs.microsoft.com/en-us/azure/active-directory/hybrid/plan-connect-design-concepts
Hope this helps,
Matt C
- MurrayWallForteDec 03, 2018Iron Contributor
I am not disagreeing with you comment that custom rules cause problems down the road, but please explain if you can how this can wreak the havoc you refer to. Just need to understand the risks of that vs the reward of the sync back
Murray
- Rishabh SrivastavaDec 03, 2018Iron Contributor
Hello,
Thanks for sharing your experience.
I am sharing my thought process.Sync rules are not complicated if we keep a fair documentation.
In fact custom sync rules are available to provide you the privilege so you can use any of the attributes.In our discussion, we are not making any change , infact we are just copying the value from one attribute to another.
Regarding “ms-DS-ConsistencyGuid” ;
If we talk about the default behavior of enabling “ms-DS-ConsistencyGuid” as source anchor, the ObjectID is written back to this attribute.Feature of using “ms-DS-ConsistencyGuid” was introduced to enhance the administrative scope of managing source anchor.
Regards,
Rishabh - Charles FerreiraDec 06, 2018Copper Contributor
Thanks for the replies. This is a great dialogue. As I understand it, since we started this (years ago before me) without mS-DS-ConsistencyGuid it's too late to change it. It would certainly fit the bill
ThinkSync Your assessment is correct, we are working toward a better lifecycle and looking to link the user between apps and not have to visit this again for a long time! ObjectID sounds like a plan
- Charles FerreiraDec 06, 2018Copper Contributor
OK so if I should start a new thread let me know but this is starting to take shape here, thanks very much!
Prompting another question in the same line. Are Azure ObjectID's truly globally unique? Meaning across any Azure AD? Or is there some chance that there is, like life on another planet, a possibility for duplication?
- ThinkSyncDec 12, 2018Brass Contributor
Hi Charles,
Apologises for the late response, work has been hectic.
ObjectID is only guaranteed unique within a specific tenant. If you need to compare objects across multiple tenants, I’d recommend cross referencing with another attribute.
ProxyAddresses is probably the best attribute to use as UPN will usually be updated to reflect name changes.
PowerShell example
$UserOID = "84214-20sb-42e-a2c7-a24520a77228"
$UserSMTP = "ThinkSync@company.com"
Get-MsolUser -All | Where {$_.ObjectId -match $UserOID -AND $_.ProxyAddresses -match $UserSMTP}