2. Sync
7 июля 2021 г.
11:44
Synchronization editor problem: mapping property with script retrieve object - Forum - Identity Manager Community - One Identity Community
[Отправка сообщений об ошибках процесса синхронизации](onenote:#section-id=[REDACTED_USER]
Data Import

Identity Manager 8.1.2 - Target System Synchronization Reference Guide (oneidentity.com)
У нас есть две системы (CSV и SAP). При синхронизации с CSV у нас меняется имя и фамилия у Person и это сразу должно отображаться в SAP.
Поэтому, CSV (вторичной системы) мы ставим галку Data Import, что означает, что значение переменной FULLSYNC = FALSE. Это приведет к тому, что будут работать многие шаблоны и скрипты при синхронизации с вторичной системой и будут вносится изменения в SAP.
Если галки не стоит, то FULLSYNC = TRUE и многие шаблоны не срабатывают!
Это можно делать для Workflow импорта данных в 1IM (???? походу нет, так как у связанных учеток сразу будут срабатывает изменения и данные будут отправляться в подключенные системы )
To prevent immediately provisioning of a primary system during synchronization, open the primary system synchronization project and disable the Import data option in the synchronization step.
То есть, связанные с этой персоной учетки из других систем сразу получат изменения!
Пример скрипта шаблона
If Not CBool(Variables("FULLSYNC")) Then
If Not String.IsNullOrEmpty(\$UID_UNSRootB\$) AndAlso _
Not String.IsNullOrEmpty(\$cn\$) Then
If String.IsNullOrEmpty(\$UID_ParentUNSContainerB\$) Then
Value = TSB_CreateDN( _
"CN", _
\$cn\$,\$FK(UID_UNSRootB).DistinguishedName\$)
Else
Value = TSB_CreateDN( _
"CN", _
\$cn\$,\$FK(UID_ParentUNSContainerB).DistinguishedName\$)
End If
End If
End If
В общем - включение параметра может приводить к не хорошим последствиям в виде запуска процессов не нужных!
----
Автоматическое создание проектов синхронизации
Identity Manager 8.1.1 - Target System Synchronization Reference Guide (oneidentity.com)
Создание проекта синхронизации из шаблона
- Включаем Extert mode в настройках
- Выбираем наш проект, который будет шаблоном
Edit -> Create Template
- Этот шаблон будет виден в Database -> Manage Templates
- В существующем проекте идем в Target System -> Edit Connection -> Пробегаемся по шагам и сохраняем Config file
-
Создаем новый проект того же типа, что и шаблон
-
Указываем параметры подключения и потом наш сохраненный Conf File
- После этого выбираем наш шаблон
- Base Object можно указать после того, как будет создана Custom Target System (можно сначала ее создать)
После можно сохранить проект с расширением sews - подправить его и импортнуть, через командую строку с указанием значений параметров - это автоматическая установка.
----
Маппинг в несколько одинаковых Schema Class (например, в несколько UNSContainer)
Проблема в том, что пытается удалять существующие объекты, так как справа данные разные, а слева - одни
![Mappings Hadoop_Policy Yarn_Policy Hadoop_PolicyltemA... Hadoop [REDACTED_IP] 95\OneIM Behavior CanonicalName Description DistinguishedName DomainDispIayName Object-GUID DID ParentlJNSConta... UID UNSContainerB UID UNSR00tB VRT UID ParentConta... VRT UID UNSR00tB XObjectKey Edit map... Customized mapping General Mapping name Mapping dire&on Description Relation One Identity Manager schema d... Target system schema class Hadoop_policy Both directions Hierarchy synchronizaton Only suitable for updates Maps objects referenced by multiple references Hadoop Hadoop_PoIicy (all) Making changes to properties of an existing mapping can cause errors. Click "Edit" to edit the property anyway.](../media/2. Sync/media/image8.png)
![Mappings Hadoop_Policy Yarn_Polig Hadoop_PolicyRemA... [REDACTED_IP] 95\OneIM Behavior CanonicalName Description DistinguishedName DomainDispIayName Object-GUID DID ParentlJNSConta... UID UNSContainerB UID UNSR00tB VRT UID ParentConta... VRT UID UNSR00tB XObjectKey Edit map... Customized mapping General Mapping name Mapping dire&on Description Relation One Identity Manager schema d... Target system schema class Both directions Hierarchy synchronizaton Only suitable for updates Maps objects referenced by multiple references Yarn_PoIicy (all) Making changes to properties of an existing mapping can cause errors. Click "Edit" to edit the property anyway.](../media/2. Sync/media/image9.png)

Членство в группе
Важно!!!
Для маппинга членства в группе выбирать отличительные свойства!!! Например, DistinguishedName
Чтобы, если совпадут имена пользователей из разных систем - не было сложности в определении, из какой системы надо сопоставлять пользователя!!!


Dim users As String = \$Users\$
Dim vrtUsers As String() = Split(users, ",")
Dim vrtUsers1 As New List(Of String)
For Each user as String In vrtUsers
vrtUsers1.add("CN=" + user + ",system=Ranger2")
Next
Dim qw As String = string.Join(";",vrtUsers1)
Dim vrtUsers2 As String() = Split(qw, ";")
return vrtUsers2
Identity Manager 8.1.4 - Target System Synchronization Reference Guide (oneidentity.com)
Для условия Update AdHoc можно прописать
\$XDateSubItem[o]:Date\$ \<> \$XDateSubItem:Date\$
У коннектора почему-то Update и Delete как Insert срабатывают (видно было, через Log2Console)
Фишка в том, что принудительно не передавались PolicyID и Permission в шаге AdHoc процесса Update UNSGroupB. Надо было использовать параметр ForceSyncOf: Value = "UNSContainerB.ObjectGUID,Description".
И он, когда не смог выполнить Update - выполнял Insert.
Трабла с тем, что не передавалось измененное свойство членства в UNSGroupB в коннектор PowerShell
Было

Стало

Я стал передавать из 1IM не массив строк, а строку (Join массива)
Разделил один процесс, который включал в себя и чтение и заполнение свойства в Target system, на 2 отдельных.
Предупреждение "There is no mapping for this schema type, which was defined many-to-many mapping" при маппинге Multi-reference mapping rule
Надо в схеме пользователей, на которые ссылается атрибут M:N слева с галкой Enable relative complement установить галку Maps objects referenced by multiple references
![Edit propety... Change the schema property of type "Members of M:N schema types" D' Name Display name VRT MembersArr VRT MembersArr Ignore case Z] Enable relativecomplement (required for member rues) O Tryto mark the object for deletion (outstardirÄ LINSAcccunt81nLlNSGrcup8 (effective assignments)](../media/2. Sync/media/image15.png)

Основной процесс синхронизации
DPR_DPRProjectionStartInfo_Run_Synchronization
PostSync
В процессе DPR_DPRProjectionStartInfo_Run_Synchronization имеется шаг по созданию события PostSync для таблицы (BaseObject) с передачей дополнительных параметров, например uidDprJournal - чтобы можно было отфильтровать нужный журнал для этой синхронизации.
Если мы определим процесс для этой таблицы по событию PostSync - то он будет запущен после синхронизации и можно подхватить дополнительные параметры.
the logged Information of the synchronization runs are stored in the One Identity Manager database in the tables starting with DPRJournal...
You can use the report DPR_Journal_Summary to export the complete log using the report component.
To generate the report the Parameter uidDPRJournal has to be set to the UID_DPRJournal of the synchronization journal you want to export.
But you have to fetch the UID_DPRJournal from the database using the Information about the start stratup configuration in your process chain.
Отправка сообщений об ошибках процесса синхронизации
Имеется таблица DPRJournal - в ней поле UID_DPRProjectionConfig
Можно настроить процесс на событие Insert и Update (там запись обновляется, если ошибка) с фильтром по UID_DPRProjectionConfig и отлавливать ошибки синхронизации ProjectionState = Error
Ещё имеется таблица DPRJournalMessage, в которой хранится описание ошибки и ссылка на DPRJournal.
The process tasks FullProjection and AdHocProjection provide an out-parameter called UID_DialogJournal that provide the UID of the created synchronization journal for further processing.
From \<https://www.oneidentity.com/community/identity-manager/f/forum/26100/custom-logging-on-sync-events>





