23. OneIM Course

11 февраля 2020 г.

15:41

<[redacted-email]>

ONE IDENTITY One Identity Manager Request Attestation Responsibilities @Request Find a service item Accounts Productortagname Cloud applications Desktop applications Hardware Development system - updates pending RequestableRoles Search SAP Roles Check requests for this recipient Select a request template Selecta W i n d OWS Show product€other é+nptoyees reguestedate


Postgres

CustomTargetSystemConnectors_ADO-NET02 - Word BHA CnpaBG NormaCS Foxit Reader PDF LITO Bbl XOTVITe caenaTb? Jlanrea AJ1e«e7 1-OpbeBl PeueH3hpoBaHhe A 63a Appx-H... Appx-H... A.l.l Appx-H.. A. 1.1.1 Appx-H... Table 1 Aa Aa56Barr, Caption(... Coverlnfo ONE AaSI CoverTitle Heading IDENTITY Heading... generic logo • company Create synchronization Pt Start Configuration project Synchronization Editor (dernoappI\DIIM7) No project loaded. Select a synchronization project on the start page or create a new one. General No project Select a synchronization project Start a new synchrot All synchronization p ACF2 LOAP connect for to Active Directory Con targe to CSV fib" LDAP Co n n "to r —•tjrg tMge Miæft n g. 2010 Cm 20'0 Microsoft Exchange 2013 Connector Exchange 2016 Native Conn«tor One Identiw Manager Connector RACE LDAP c.tor


Чтобы транзакция создания записи в Postgres прошла - надо открыть и закрыть Sync Editor

AD Hoc - запуск синхронизации для определенного объекта

Надо создать процесс - который запустит процесс синхронизации для конкретного объекта

Provisioning - когда создается


Загрузка из XML

c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\010_Target System Integration\PowerShell\ThingyXMLFile\

Файл ThingyXML_v1.psm1 правим в нем

\$_XMLPath = "C:\Users\Administrator.DEMOLAB\Desktop\ThingyXMLFile\users.xml" (надо закомментить эту строку когда настраиваешь Sync проект чтобы он этот параметр брал из строки настройки)

Если проект не активирован - выполняется синхронизация на локальном компьютере!

Когда проект активируется - используется JobServer

Потом импортируем этот модуль и запускаем

\$ret = Get-ThingyXMLUser -Identity "01"

Или для создания нового пользователя

New-ThingyXMLUser -thingyName "fred" -thingyStatus "active" -thingyDescription "consultant" - thingyFax "123"

Ошибка при создании пользователя

В psm модуле в 848 строке


Когда в sync Editor создаем Scope , надо в фильтре писать

Ident_UNSRoot = 'XMLUser'

Committo database Navigabon Configuration hnical view EEnabled variable set: Default variable set Remote connection... Start p Y Scope x Define a scope. A scope is a filter which is assigned to 1 through one or more filters. It affects these schema One Identity Manager unnec... Configure One database connedjon Target system Configure connected sy±ern connection Variables Define variable set. Stan up configurations Create start up configurations Script library Edit script library, Base objects Edit base object Configuration Mappings Workflows General Schema Name Scope All schema types UNSContainerB Condition IAMSenjeAOnelM Scope Is filtere... System filter Define t,mo filters to be applied in sequence to the system object o The target system filter directly affects the target system, This filt The system Object filter applies to already loaded system objects. System filter Object filter This filter only works when loading existing system objects. Ident tnrspoot - ' XMLUser


AdHoc

O Home XML user (XMLUSen X General Synchronization Sales XMLLlSer XML user ne Identity Manager Mapping rule category Alternative column r Target system Target system type Canonical name Distinguished name Displayname Account definition (inita0 Target system manager Synchronized W Description

Копируем процесс ADS_Ads_Account_Insert в другое имя.

И настраиваем на событие INSERT

alue Not CE001 (Connection. Variables ("FULLS"'NC")) AndA1so $FK(UID ADSDornain) . Namespacemanagedby:string$ . Equals AndA1so Chool (values ( )

Pre-script

If Not (connection.vatiames ("FULLSINC")) $FK (UI D UNSR00tB) . NamespaceManagedBv$ . Equals Ordinal IgnoreCE Imports System. Collections. Generic Dim data As I Dictionary (Of String, string) values ( AdHocDataFound") False values "NeedExecute") = False Dim adsDataFound As Boo lean = true Dim arsDataFound As Boolean = true try to get AD data = Nothing . XObjectKey$ , 1 data = DPR GetAdHocData ($FK (UID I-NSRootB) values "SyncType") = "Posh" Catch ex As AdHocDataException adsDataFound = false End Try try to get ARS data Try data = DPR GetAdHocData ($FK (UID ADSDomain) values "SyncType ARS Catch ex As AdHocDataException arsDataFound = False End Try "Posh" . XObjectKey$ , "ARS" Insert " ) Insert " )

If Not data Is Nothing values ( AdHocDataFound") True values "NeedExecute") = DPR . ToString() , entity) values ("Objectkey") = New Db0bjectKeY(base.Tamenarne, $UID O/SAccountB$) .roymxstting() values ( "UID DPRSvstemVariabIeSet") = data values ( "UID DPRProjectionConfiguration") 1 values ("UID QBMServer") = data ("ExecutionServerUID") End if

DPRMemberShipAction DPRNameSpace DPRNameSpaceHasDialogTable DPRObjedOperation DPRProjectionConfig DPRProjedionConfigHasConned DPRProjectionConfigStep DPRProjedionStartlnfo DPRProjedionStepQuota DPRRevisionStore DPRRootObjConnedionlnfo DPRSchema DPRSchemaAccess Marketing Application root@1uoo.3 SAP RE (system DOI, client4W) SAP RE [system DOI, client4WJ Actions Object methods Method definitions Events Serializationaag SystemCapabilities SystemDisplay Systemld systemsubType SysternType SystemVersion IJlD_DPRSchema :crouched Special properties XDatelnserted *Datel-Ipdated XO bj ectKey Xl-lserlnserted XLlserLlpdated NativeFilterNotSupported poshNet40 XMLlJSer posh 345 ye CCC-3DA3DC2267333342940 e 2/12/2020 1:1303 PM e 2/12/2020 PM e viadmin e viadmin

Thing.xml

Секция Listing

Перечисление объектов в браузере когда просматриваем пользователей


Логи OneIdentity

Логи процессора Powershell (в папке пользователя от которого запущен jobserver)

File Home StdioProcessor Share Users administrator.lAMDEMO App Data Local One Identity Date modified 12/02/2020 22:20 11/02/2020 23:16 07/02/20201815 06/02/2020 2042 05/02/2020 23:43 05/02/2020 0640 04/02/2020 13/02/20200•13 One Identity Manager Stdioprocessor Quick access Desktop Downloads Documents Pictures Backup This pc Desktop 8 Documents Name StdioProcessor.0.log StdioProcessor.1.log Stdi0Processor.2.log StdioProcessor,3.log StdioProcessorA.log StdioProcessor.5.log Stdi0Processor.6.log StdioProcessor,log Type Text Document Text Document Text Document Text Document Text Document Text Document Text Document Text Document Size 30 KB

Конфиг логов можно найти в

И там путь к логам указан

API

* Name app environments appconfig.json index.html main.ts POIyfills.ts test.ts tsconfig.app.json tSCOnfig.spec.json typings.d,ts Date modified 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 11:58 29/10/2019 Type File folder File folder JSON File Chrome HTML Do... MPEG-2 TSVideo MPEG-2 TSVideo MPEG-2 TSVideo JSON File JSON File MPEG-2 TSVideo

c:\ sers\alaptev\Desktop\11M Course\OnelM_AdHoc *Name Samples Ext • 010 API-Server-Hanno-Webex-ScreenShots.docx • 010 API-Server-Install-Compile-OperationsSupportPortal.docx APIServer-Overview.pptx Size 959 435 2 1 664 989 0 4 504 320 0

Используется Postman и Fiddler для траблшутинга

API Designer - (Main Database) Connedion Edit View Help Change label: Navigabon API projects Enter search text Recentfiles Standard Q8M_A9isenjerAdrnin Q8M_OperationsSupport Custom CCC_New API files AP I projects Ctrl-Alt-Del Database .11 x Start page SOD_Check SOD_Check Compilation settings Authentication Compilation 2 culture3 found that requite translation 4129 keys found 4295 key translations found npla.cmd found in local application data: C: Node editor CCC_New (API project) zi Grouping : Sorting CCC$OD_Check s dcheck APIproject1 2013-01-01 Allow extensions to this document Sho General settings Identifier Technical name * Control ID Model version Workflow Control Advanced Settings Required database modules Starting process C: args = install — —s c tip Starting process C: args = run build - -s c rip t s -prepend-node-path=true Compiled API resources in C: Identity\One Identity 0.1. Compilation successful. Warnings: 38 Duration: O: 34

Отчеты

StimulSoft.com

Добавить процесс

Из процесса передать параметры в форму отчета

Report компонент


MA - сотрудник

SingleTransaction (во вкладке параметры в Дизайнере у таблицы - для поля у таблицы) - если решили изменить одно поле у всех - то при ошибке у одного - будет откат всех


Есть скрипты на таблице - для событий - ВАЖНО! Например чтобы оставлять полномочия при переводе в другой отдел

Дебагер можно запускать из Object Browser


При компиляции CTRL+F чтобы не ждать DBQueue


Troubleshooting

c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\001_Availability Distribution Performance\SQL-for-tuning\

Фикс очереди

В Материалах

SQL-for-Tuning папка

DBQueue recreate

Перед очисткой очереди - остановить Schwduler

Update DialogDatabase set IsDBSchedulerDisabled=1

Отличие Truncate от Delete

При удалении возможно переполнение диска - лучше использовать Truncate (не будет заботиться о целостности)

https://support.oneidentity.com/fr-fr/identity-manager/kb/127725/internal-how-to-clear-a-large-db-queue-job-without-filling-the-transaction-log-?kblang=en-US

update DialogDatabase set IsDBSchedulerDisabled=1

DBqueue состоит из агента и Service Broker


ConfigureSQLServer

Ускорение базы

About Legal Notices Name Server Collation Server Edition Server EngineEdition Server Product/ersion Server Name Server Instance Name Server Machine Name Contact System information Wue Enterprise Edition *bit) Enterprise 13.0,53660 IAMSERVER < not available* IAMSERVER IAMSERVER Windows Server 2016 Standard 10.0 16 MB 9.28 GB 7.9m; 389 ms 1625 ms 21.09 ms 4.56 ms Recommended Enterprise CUII 130.55%27 K&4527378 Decemb... 56B 5GB Server Machine NetBIOS Name Server Operating System maximum degree of parallelism Minimum size Of server memory Maximum size of server memory priority boost optimize for ad hoc workload Cost Threshold for parallelism AVG wait for Page I/O Count files oftempdb AVG latency read TempDB ROWS (1) AVG latency read TernpDB LOG (2) AVG latency write TempDB ROWS (1) AVG write TempDB LOG (2) One Identity Manager Copy to clipboard Send as email 4 20 ms 7 ms 7 ms 7 ms Quality 80% 87% 78% Done

TimeDelayAcctDefToProvision_LDP.sql

Измерение времени Provisiong при назначении AccDefinition

Тест производительности

JobsPerQueue.sql

Как много задач в очереди

DBQueue.Feeding.sql

При огромном кол-ве тасков

Создает доп таблийцу CCC_DialogDBQueueFeeding и копирует туда все задачи

И потом порционно отправляет их в очередь что ускоряет работу

Таблица DialogDbQueue - храние процессов, которые ещё не выполняются

QBMDBQueueCurrent - которые текущие таски

QBMDBQueueOwerview - параметры


Для работы с объектами базы данных - лучше использовать сессию


В менеджере DB – CheckDataConsistensely

Делать перед обновлением - есть информация в Installation Guide

Можно находить проблемы


Может помочь

В файле C:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\150_SDK\SQL\DB-examples.txt

== TRIGGERS ====

Check for disabled triggers:


SELECT DISTINCT o.NAME,CASE o.type WHEN 'U' THEN 'Table' ELSE '' END

AS TableType,CASE '%' WHEN '%' THEN 'all' ELSE '"' + t.NAME +'"' END

AS Triggername,t.is_disabled FROM sys.objects o JOIN sys.triggers t ON o.object_id=t.parent_id

WHERE o.type IN('U') AND o.NAME LIKE '%' AND t.is_disabled =1 AND

(0 =0 AND t.NAME LIKE '%' OR 0 =1 AND t.NAME NOT LIKE '%') ORDER BY 1

Enable OneIM Triggers:


Exec QBM_PtriggerEnable '%','%'


Тестирование

c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\000_Install_DataImport-demolabv8\OneIM-FlightCheck.ps1

Разработка

c:\Users\alaptev\Desktop\1IM Course\OneIM_AdHoc_Partner_Training\Material\005_Tooling\Dev-GoodPractice-UnitTests.docx

Лучше темплайт не держать большим и выновить все в скрипты

Танспорт

Фиксить на деве и переносить фиксы на продакт

На транспорте добиваться того, чтобы было без ошибок