{"id":440280,"date":"2024-11-29T15:02:58","date_gmt":"2024-11-29T15:02:58","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=440280"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=440280","title":{"rendered":"<span>\u041f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 IDM Midpoint \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u043a MS AD<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 IDM Midpoint \u043a Microsoft Active Directory (MS AD) \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442 Evolveum( \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u043d\u0435\u0442, \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c!<\/p>\n<p><strong>I \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Midpoint<\/strong><\/p>\n<p>\u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0435 Evolveum: <a href=\"https:\/\/docs.evolveum.com\/midpoint\/install\/bare-installation\/distribution\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/install\/bare-installation\/distribution<\/a> <a href=\"https:\/\/docs.evolveum.com\/midpoint\/reference\/support-4.9\/repository\/native-postgresql\/usage\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/reference\/support-4.9\/repository\/native-postgresql\/usage\/<\/a> <a href=\"https:\/\/docs.evolveum.com\/midpoint\/install\/bare-installation\/systemd\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/install\/bare-installation\/systemd\/<\/a><\/p>\n<p>\u0411\u0435\u0440\u0443 Ubuntu 22.04.5 LTS \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c IP 192.168.1.174<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/p>\n<p><code>sudo apt-get update &amp;&amp; sudo apt-get upgrade<\/code><\/p>\n<p><code>sudo apt install openjdk-21-jdk -y<\/code><br \/>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e<\/p>\n<p> <code>java -version<\/code><\/p>\n<p> openjdk version &#171;21.0.4&#187; 2024-07-16<\/p>\n<p>OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu222.04)<\/p>\n<p>OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu222.04, mixed mode, sharing)<\/p>\n<p> <code>sudo apt install -y postgresql<\/code><\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e (\u043d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c 14)<\/p>\n<p> <code>pg_config --version<\/code><\/p>\n<p> PostgreSQL 14.13 (Ubuntu 14.13-0ubuntu0.22.04.1)<\/p>\n<p> <code>vi \/etc\/postgresql\/14\/main\/postgresql.conf<\/code><\/p>\n<p> \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<pre><code class=\"xml\">listen_addresses = '*' # this is necessary for pg_stat_statements extension shared_preload_libraries = 'pg_stat_statements'  # To log all queries, uncomment the lines below. # Monitor the free disk space afterwards, there is no automatic cleanup! #log_directory = 'pg_log' #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' #log_statement = 'all' #logging_collector = on<\/code><\/pre>\n<p><code>vi \/etc\/postgresql\/14\/main\/pg_hba.conf<\/code><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<pre><code class=\"xml\"># Allow connections from outside (with password) host    all             all             0.0.0.0\/0            md5<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c postgre<\/p>\n<p> <code>sudo systemctl restart postgresql<\/code><\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Midpoint <a href=\"https:\/\/docs.evolveum.com\/midpoint\/release\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/release\/<\/a><\/p>\n<p>\u042f \u0432\u0437\u044f\u043b 4.9 \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0438 \u043a \u043a\u043e\u043d\u0446\u0443 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0436\u0430\u043b\u0435\u043b \u0443\u0436\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c&#8230; \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u044f \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438, \u043d\u043e \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043d\u0430 \u043a\u043e\u0439, \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u044f \u043d\u0430\u0434\u0435\u044f\u043b\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0433\u043b\u044e\u043a\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438, \u043d\u043e Evolveum \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043d\u043e\u0432\u044b\u0439! \u041d\u0435 \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0438  \u0434\u0430\u0436\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432 \u043f\u043b\u0430\u043d\u0435 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f, \u043d\u043e \u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u043b\u0438\u0437\u0438\u0442\u044c!!! \u0412\u0441\u0451 \u043d\u0438\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 4.8.4-4.8.5.<\/p>\n<p><code>cd \/opt<\/code><\/p>\n<p><code>wget https:\/\/evolveum.com\/downloads\/midpoint\/4.9\/midpoint-4.9-dist.tar.gz<\/code><\/p>\n<p><code>tar -xvf midpoint-4.9-dist.tar.gz<\/code><\/p>\n<p><code>mv .\/midpoint-4.9 .\/midpoint<\/code><\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u044e \u0431\u0430\u0437\u0443 \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f Midpoint \u0432 postgresql<\/p>\n<p><code>sudo -i -u postgres psql<\/code><\/p>\n<p><code>CREATE USER midpoint WITH PASSWORD 'password_14968' LOGIN SUPERUSER;<\/code><\/p>\n<p><code>CREATE DATABASE midpoint WITH OWNER = midpoint ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;<\/code><\/p>\n<p><code>\/q<\/code><\/p>\n<p><code>cd \/opt\/midpoint\/doc\/config\/sql\/native<\/code><\/p>\n<p><code>psql -h localhost -d midpoint -U midpoint -f postgres.sql -f postgres-audit.sql -f postgres-quartz.sql<\/code><\/p>\n<p>\u0421\u0442\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u043c, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0442\u0430\u043a<br \/><code>rm \/opt\/midpoint\/var\/config.xml<\/code><\/p>\n<p><code>cp \/opt\/midpoint\/doc\/config\/config-native.xml \/opt\/midpoint\/var\/config.xml<\/code><\/p>\n<p><code>vi \/opt\/midpoint\/var\/config.xml<\/code><\/p>\n<p>\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043e \u0432\u0438\u0434\u0430<\/p>\n<pre><code class=\"xml\">        &lt;repository&gt;             &lt;type&gt;native&lt;\/type&gt;             &lt;jdbcUrl&gt;jdbc:postgresql:\/\/localhost:5432\/midpoint&lt;\/jdbcUrl&gt;             &lt;jdbcUsername&gt;midpoint&lt;\/jdbcUsername&gt;             &lt;jdbcPassword&gt;password_14968&lt;\/jdbcPassword&gt;         &lt;\/repository&gt;<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a Midpoint<\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh start<\/code><\/p>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043b\u043e\u0433\u0430\u0445, \u0434\u043e\u0441\u0442\u0430\u0435\u043c <\/p>\n<p><code>grep \"Administrator initial password\" \/opt\/midpoint\/var\/log\/midpoint.log<\/code><\/p>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c http:\/\/192.168.1.174:8080\/midpoint\/<\/p>\n<p>\u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e (\u0435\u0441\u043b\u0438 \u043d\u0435\u0442 &#8212; \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u0438\u0448\u0435\u0442 \u0432 \/opt\/midpoint\/var\/log\/midpoint.log), \u0430 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0443\u0442 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435 \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 name  \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0435\u0439.<\/p>\n<p> \u0412 Repository objects &gt; All objects \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c SystemConfiguration<\/p>\n<p> \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u044d\u0433<\/p>\n<p> <code>&lt;internals&gt;<\/code><\/p>\n<p> \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<pre><code class=\"xml\"> &lt;polyStringNormalizer&gt;   &lt;className&gt;PassThroughPolyStringNormalizer&lt;\/className&gt;   &lt;\/polyStringNormalizer&gt;<\/code><\/pre>\n<p> \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 Midpoint  <\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh stop<\/code><\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh start<\/code><\/p>\n<p>  \u041d\u0430\u0434\u043e \u0432 Midpoint \u0432 About \u043d\u0430\u0436\u0430\u0442\u044c Reindex Repository Object<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d3f\/c71\/e1c\/d3fc71e1c86a7c1bca0cdda04246583f.png\" width=\"1834\" height=\"929\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d3f\/c71\/e1c\/d3fc71e1c86a7c1bca0cdda04246583f.png\"\/><\/figure>\n<p> \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Midpoint \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Ubuntu \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c<\/p>\n<p><code>sudo -i<\/code><\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh generate<\/code><\/p>\n<p>\u041d\u0430\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043a\u043e\u0434, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 midpoint.sh \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c  \u0432 \u0444\u0430\u0439\u043b<\/p>\n<p><code>vi \/etc\/systemd\/system\/midpoint.service<\/code><\/p>\n<p> \u043a\u043e\u0434<\/p>\n<pre><code class=\"xml\">[Unit] Description=MidPoint Standalone Service  [Service] User=root WorkingDirectory=\/opt\/midpoint ExecStart=\"java\" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms2048M -Xmx4096M -Dpython.cachedir=\"\/opt\/midpoint\/var\/tmp\" -Djavax.net.ssl.trustStore=\"\/opt\/midpoint\/var\/keystore.jceks\" -Djavax.net.ssl.trustStoreType=jceks -Dmidpoint.home=\"\/opt\/midpoint\/var\" -jar \"\/opt\/midpoint\/lib\/midpoint.jar\" SuccessExitStatus=143  [Install] WantedBy=multi-user.target<\/code><\/pre>\n<p>\u0438 \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c<\/p>\n<p><code>sudo systemctl daemon-reload  <\/code><\/p>\n<p><code>sudo systemctl enable midpoint<\/code><\/p>\n<p>\u041d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Midpoint \u0437\u0430\u043f\u043e\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0441\u0430\u043c, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c<\/p>\n<p><code>sudo systemctl stop midpoint<\/code><\/p>\n<p><code>sudo systemctl start midpoint<\/code><\/p>\n<p>\u0438\u043b\u0438<\/p>\n<p><code>sudo systemctl restart midpoint<\/code><\/p>\n<p><strong>\u041e\u0414\u041d\u0410\u041a\u041e:<\/strong> \u0427\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u043b\u0438\u0437\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u043e\u0432\u044b\u0439 AD \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440 \u0432 4.9 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 MS AD. Evolveum \u0432\u0438\u043d\u0438\u0442 Microsoft, \u044f \u0432\u0438\u043d\u044e Evalveum \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 AD \u043e\u043d\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 Open LDAP \u0438 \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0447\u0442\u043e \u0432 MS AD \u0442\u0430\u043a \u0436\u0435! ADLDAP connector LDAP error during search: operationsError: 00002120: SvcErr: DSID-03120496, problem 5012 (DIR_ERROR), data 592060?? (1) <a href=\"https:\/\/support.evolveum.com\/projects\/midpoint\/work_packages\/10207\/activity\" rel=\"noopener noreferrer nofollow\">support.evolveum.com\/projects\/midpoint\/work_packages\/10207\/activity<\/a><\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0436\u0435 \u043d\u0435\u0442 \u0432 4.9<\/p>\n<p><code>cd \/opt\/midpoint\/var\/connid-connectors<\/code><\/p>\n<p><code>wget https:\/\/nexus.evolveum.com\/nexus\/repository\/releases\/com\/evolveum\/polygon\/connector-ldap\/3.7.2\/connector-ldap-3.7.2.jar<\/code><\/p>\n<p>\u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0440\u0443\u0442\u0435\u043c Midpoint<\/p>\n<p><code>sudo systemctl restart midpoint<\/code><\/p>\n<p> <strong>II \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Midpoint \u043a MS AD<\/strong><\/p>\n<p>\u0411\u0435\u0440\u0435\u043c Windows Server 2019 (\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e 180 \u0434\u043d\u0435\u0439) &#8212; \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0440\u043e\u043b\u0438 AD \u0438 Certification Authority  <\/p>\n<p>Midpoint \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043f\u043e LDAPS \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c Windows Server 2019 \u043f\u043e \u043b\u044e\u0431\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u043b\u043e\u0432\u0430 Step by step guide to setup LDAPS on Windows Server  <\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442a\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0444\u0430\u0439\u043b \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 WindowsMSAD.cer, \u0437\u0430\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 Midpoint \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0432 \u0435\u0433\u043e keystore<\/p>\n<p>sudo keytool -ke<code>ystore \/opt\/midpoint\/var\/keystore.jceks -storetype jceks -storepass changeit -import -alias WindowsMSAD -trustcacerts -file .\/WindowsMSAD.cer<\/code><\/p>\n<p><code>sudo systemctl restart midpoint<\/code><\/p>\n<p>\u041d\u0430  Windows Server 2019 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f midpoint, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 Domain Admins<\/p>\n<p> \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c Resource \u0432 Midpoint<\/p>\n<p>\u0412 Resource\\New Resorce\\From Scratch \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c AdLdapConnector 3.7.2<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c, \u0438\u043c\u044f Windows MS AD  <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ba7\/116\/15e\/ba711615e5fd48d5510f33d4c4bed70d.png\" width=\"1375\" height=\"898\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ba7\/116\/15e\/ba711615e5fd48d5510f33d4c4bed70d.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c62\/dbf\/8f2\/c62dbf8f2fb9e7d02f98fc7863585ef1.png\" width=\"1375\" height=\"1103\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c62\/dbf\/8f2\/c62dbf8f2fb9e7d02f98fc7863585ef1.png\"\/><\/figure>\n<p>Bind DN \u0438 password &#8212; \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f AD midpoint<\/p>\n<p>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c Base context, \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0434\u0430\u0451\u0442, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u043e\u0442\u043e\u043c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/099\/7e4\/e59\/0997e4e597846441565ee86fd2c3858d.png\" width=\"1375\" height=\"766\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/099\/7e4\/e59\/0997e4e597846441565ee86fd2c3858d.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/93c\/9d9\/314\/93c9d93142c44e9bd4a5e4f9cd1c01c1.png\" width=\"1375\" height=\"1452\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/93c\/9d9\/314\/93c9d93142c44e9bd4a5e4f9cd1c01c1.png\"\/><\/figure>\n<p>\u0422\u0443\u0442 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0447\u0442\u043e \u043c\u044b \u0431\u0435\u0440\u0451\u043c \u0438\u0437 AD, \u0438 \u0432\u043e\u0442 \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c<\/p>\n<p>\u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 Midpoint<\/p>\n<p><code>user<\/code><\/p>\n<p><code>group<\/code><\/p>\n<p><code>msDS-ManagedServiceAccount<\/code><\/p>\n<p>\u0432\u0437\u044f\u043b \u0435\u0449\u0435 OU \u0431\u0443\u0434\u0443 \u0438\u0437 \u043d\u0438\u0445 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u043e\u043b\u0435\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c<\/p>\n<p><code>organizationalUnit<\/code><\/p>\n<p>\u0420\u0435\u0441\u0443\u0440\u0441 \u0433\u043e\u0442\u043e\u0432, \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u0443\u0441\u0442\u043e\u0439, \u043d\u0430 \u043d\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c Test connection &#8212; \u0445\u043e\u0440\u043e\u0448\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0451 \u0437\u0435\u043b\u0451\u043d\u043e\u0435!<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a89\/716\/0aa\/a897160aa3ca3fd4fbf890e0f5a2b27d.png\" width=\"1375\" height=\"896\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a89\/716\/0aa\/a897160aa3ca3fd4fbf890e0f5a2b27d.png\"\/><\/figure>\n<p> <strong>III \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 Midpoint  \u043a \u0443\u0447\u0451\u0442\u043a\u0430\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 MS AD<\/strong><\/p>\n<p>\u041d\u0430\u0448\u0430 \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 AD \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439.<\/p>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0432 Midpoint \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u043b\u0438 \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u0430, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u0433\u043e \u043a \u043a\u0430\u0434\u0440\u043e\u0432\u043e\u043c\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0444\u0430\u0439\u043b CSV, DB, \u0438\u043b\u0438 \u0432\u0430\u0448 \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u044b\u0439 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440.  <\/p>\n<p>\u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 Midpoint \u0432\u0438\u0434\u0438\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u044e \u0443\u0447\u0451\u0442\u043a\u0443 AD \u0441 \u0442\u0430\u043a\u0438\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c, \u0442\u043e \u043e\u043d \u044d\u0442\u0438 \u0434\u0432\u0435 \u0443\u0447\u0451\u0442\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442.  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c Midpoint \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u043a\u0438 \u0432 AD, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0440\u043e\u043b\u044c \u0441\u0434\u0435\u043b\u0430\u0439 \u0443\u0447\u0451\u0442\u043a\u0443 AD, \u0442\u043e \u0443\u0447\u0451\u0442\u043a\u0430 \u0432 AD \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 name \u0434\u043b\u044f AD \u0438 Midpoint.<\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0410\u0440\u0445\u0435\u0442\u0438\u043f \u0438\u043c \u043d\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d (\u0447\u0451\u0440\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435), \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u0447\u0442\u043e\u0431\u044b  \u0430\u0440\u0445\u0435\u0442\u0438\u043f \u0431\u044b\u043b \u0441\u0440\u0430\u0437\u0443 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 AD \u0443\u0447\u0451\u0442\u043a\u0438 \u0441\u043c. \u043a\u043e\u043d\u0435\u0446 \u0433\u043b\u0430\u0432\u044b III.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ca8\/172\/637\/ca8172637b4d88a8b79711e2975803ad.png\" width=\"1375\" height=\"1112\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ca8\/172\/637\/ca8172637b4d88a8b79711e2975803ad.png\"\/><\/figure>\n<p>\u0418\u0434\u0435\u043c \u0432 \u0440\u0435\u0441\u0443\u0440\u0441 Windows MS AD \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c Object Type \u0432 Resources\\Windows MS AD\\Schema Handling\\Object type\\Add object type<\/p>\n<p> \u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445, \u0438\u043c\u044f MS AD account<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/78d\/5ee\/a88\/78d5eea88d9407c62e6ca12f1e506fc0.png\" width=\"1375\" height=\"1209\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/78d\/5ee\/a88\/78d5eea88d9407c62e6ca12f1e506fc0.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/176\/667\/2ce\/1766672ce8240e1c491177c332ff8468.png\" width=\"1375\" height=\"932\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/176\/667\/2ce\/1766672ce8240e1c491177c332ff8468.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e8c\/4cb\/f04\/e8c4cbf0410eecaa694261499fe7e586.png\" width=\"1375\" height=\"905\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e8c\/4cb\/f04\/e8c4cbf0410eecaa694261499fe7e586.png\"\/><\/figure>\n<p>\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0443\u0447\u0451\u0442\u043a\u0438 \u0432\u044b\u0434\u0430\u0451\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f Person, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0432\u0441\u0451 \u0440\u0430\u0441\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e \u0441\u0432\u043e\u0438\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f\u0430\u043c, \u044d\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438.  <\/p>\n<p>Scheme Handling Object Type \u0441\u043e\u0437\u0434\u0430\u043d \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432  Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD account<\/p>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u044e \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445, \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438<\/p>\n<p>Mapping Inbound<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9ff\/374\/0f3\/9ff3740f33f334eb77ebec02d3afa386.png\" width=\"1375\" height=\"1067\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9ff\/374\/0f3\/9ff3740f33f334eb77ebec02d3afa386.png\"\/><\/figure>\n<p>\u0412 4.9 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 mappings. \u041f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043a\u0440\u0443\u0436\u043e\u0447\u043a\u0438 &#8212; \u0441\u0438\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u0430\u043f\u043f\u0438\u043d\u0433 \u0447\u0451\u0440\u043d\u044b\u0439, \u0441\u043b\u0430\u0431\u044b\u0439 \u0431\u0435\u043b\u044b\u0439. Name \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u0430\u043b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u043d\u0435\u043b\u044c\u0437\u044f \u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c!!!<\/p>\n<p>01 in &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438, \u044d\u0442\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u0432 Use for<\/p>\n<p>02 in &#8212; \u0445\u043e\u0447\u0443 \u043f\u0438\u0441\u0430\u0442\u044c sAMAccountName \u0432 nickName \u0432 Midpoint, \u043d\u043e \u0441\u043b\u0430\u0431\u043e \u0445\u043e\u0447\u0443, \u0435\u0441\u043b\u0438 \u0443\u0436\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e, \u0442\u043e \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c &#8212; \u044d\u0442\u043e \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f, \u043a\u043e\u0433\u0434\u0430 \u0443 \u043d\u043e\u0432\u043e\u0433\u043e  c \u043f\u0443\u0441\u0442\u044b\u043c nickName \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 Midpoint \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0443\u0447\u0451\u0442\u043a\u0430 \u0432 AD<\/p>\n<p>03 in &#8212; \u0445\u043e\u0447\u0443 \u043f\u0438\u0441\u0430\u0442\u044c sAMAccountName \u0432 name \u0432 Midpoint, \u0430 \u0432\u043e\u0442 \u044d\u0442\u043e \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0445\u043e\u0447\u0443. \u0412 Midpoint Name \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043b\u043e\u0433\u0438\u043d\u0430 \u0432 \u0435\u0433\u043e GUI \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u043d \u0432 AD , \u0442\u0430\u043a \u0447\u0442\u043e  \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b.<\/p>\n<p>04 in write OU to locality &#8212; \u043f\u0438\u0449\u0443\u0442 dn \u0431\u0435\u0437 cn \u0432 locality \u0434\u043b\u044f \u0434\u0430\u043b\u0435\u043a\u043e \u0438\u0434\u0443\u0449\u0438\u0445 \u043f\u043b\u0430\u043d\u043e\u0432. \u0421\u043a\u0440\u0438\u043f\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u0443\u0431\u0438\u0440\u0430\u0435\u0442  \u043f\u0435\u0440\u0432\u044b\u0439 cn \u0438\u0437 dn<\/p>\n<pre><code class=\"xml\">return ((basic.stringify(input).split(',')).tail()).join(',');<\/code><\/pre>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 4.8.4 \u0432 4.9 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c:  <\/p>\n<p>basic.stringify &#8212; Evolveum \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b \u0447\u0442\u043e \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0442\u0430\u043a \u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c, \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c!<\/p>\n<p>Mapping Outbound<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/98e\/da6\/a0b\/98eda6a0b1432c44273a0fece1826bd2.png\" width=\"1375\" height=\"1493\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/98e\/da6\/a0b\/98eda6a0b1432c44273a0fece1826bd2.png\"\/><\/figure>\n<p>\u041c\u0430\u043f\u0438\u043d\u0433\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043d\u043e\u043c\u0435\u0440 \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043b, \u043d\u043e \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043e\u043d\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0435 \u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0430 \u043f\u043e \u0435\u0449\u0451 \u0447\u0435\u043c\u0443-\u0442\u043e.<\/p>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0435 \u043c\u0430\u043f\u0438\u043d\u0433\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u0447\u0435\u0442\u043a\u0438 MS AD \u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c AS IS \u043a\u0440\u043e\u043c\u0435:<\/p>\n<p>06 out new script for OU &#8212; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 OU \u0435\u0441\u043b\u0438 locality \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0442\u043e \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0442\u0443\u0434\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0440\u0430\u0437\u0435 \u0438 \u043f\u0440\u0438 \u0432\u0441\u0435\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0445. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0442\u0430\u043c \u043f\u0443\u0441\u0442\u043e \u043a\u043b\u0430\u0434\u0451\u0442 \u0432 New_Employees<\/p>\n<p>OU \u0432\u044b\u0434\u0430\u0451\u0442 script<\/p>\n<pre><code class=\"xml\">if (locality)  { dn_value = 'CN=' + nickName + ',' + locality } else { baseContext = basic.getResourceIcfConfigurationPropertyValue(resource, 'baseContext') dn_value = 'CN=' + nickName + ',OU=New_Employees,OU=OOO_ODIN,' + baseContext } return dn_value<\/code><\/pre>\n<p>08 out change pass on next login &#8212; \u0441\u0442\u0430\u0432\u0438\u043c \u043d\u0430 \u0443\u0447\u0451\u0442\u043a\u0435 AD \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u0445\u043e\u0434\u0435. Script \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u043e\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<pre><code class=\"xml\">return \"0\"<\/code><\/pre>\n<p>\u041d\u0435 \u0445\u043e\u0442\u0438\u043c \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0441\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432 Condition \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438<\/p>\n<pre><code class=\"xml\">\"add\".equals(operation.toString()) &amp;&amp; midpoint.isEvaluateNew()<\/code><\/pre>\n<p>09 out &#8212; \u0422\u0443\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c userPrincipalName \u0441\u0430\u043c \u043e\u043d \u043f\u043e\u0447\u0435\u043c\u0443 -\u0442\u043e \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0443 Exchange<\/p>\n<pre><code class=\"xml\">return nickName + \"@168testserverhome.com\"<\/code><\/pre>\n<p> Synchronization<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7a7\/1a2\/5e4\/7a71a25e4dec1691b5b0b19e430df01a.png\" width=\"1375\" height=\"892\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7a7\/1a2\/5e4\/7a71a25e4dec1691b5b0b19e430df01a.png\"\/><\/figure>\n<p>\u042f \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Midpoint \u0438\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 AD \u0442\u0430\u043a \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e Synchronize<\/p>\n<p>Correlation rules<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bd3\/5ae\/9a3\/bd35ae9a3aa9870f0aedb6919a16c5d0.png\" width=\"1375\" height=\"801\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bd3\/5ae\/9a3\/bd35ae9a3aa9870f0aedb6919a16c5d0.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1cd\/2f2\/1c1\/1cd2f21c167e59a3554b098ccebbbc01.png\" width=\"1375\" height=\"750\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1cd\/2f2\/1c1\/1cd2f21c167e59a3554b098ccebbbc01.png\"\/><\/figure>\n<p>Activation Configuration<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c Outbound<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/402\/a32\/e37\/402a32e37ed053b1cc9d61d8c7bbaac4.png\" width=\"1375\" height=\"1066\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/402\/a32\/e37\/402a32e37ed053b1cc9d61d8c7bbaac4.png\"\/><\/figure>\n<p> \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 Administrative status \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/292\/120\/0d1\/2921200d1c72b23f492dcd4e8169e0df.png\" width=\"1375\" height=\"1278\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/292\/120\/0d1\/2921200d1c72b23f492dcd4e8169e0df.png\"\/><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0432 Midpoint \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0443\u0447\u0451\u0442\u043a\u0430, \u043e\u043d\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 AD<\/p>\n<p> Credentials configuration<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c Outbound \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/52d\/3d9\/3bd\/52d3d93bde98daabe1ff34adcde18e35.png\" width=\"1375\" height=\"1392\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/52d\/3d9\/3bd\/52d3d93bde98daabe1ff34adcde18e35.png\"\/><\/figure>\n<p>\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0443\u0447\u0451\u0442\u043a\u0438 \u0432 AD \u043d\u0443\u0436\u0435\u043d \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0430\u0440\u043e\u043b\u044c, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u0441\u0435\u043c \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0430\u0440\u043e\u043b\u044c, \u0430 \u043c\u043e\u0436\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439. \u041c\u044b \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0441 Strength \u0441\u043b\u0430\u0431\u043e, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438. \u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c AD \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u043f\u0440\u0438 \u0432\u044b\u0434\u0430\u0447\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0443 \u041f\u041a!  <\/p>\n<p>\u041a\u043e\u0434  Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD account<\/p>\n<pre><code class=\"xml\">&lt;schemaHandling&gt;                 &lt;objectType id=\"5\"&gt;             &lt;kind&gt;account&lt;\/kind&gt;             &lt;intent&gt;intent  MS AD account&lt;\/intent&gt;             &lt;displayName&gt;MS AD account&lt;\/displayName&gt;             &lt;default&gt;true&lt;\/default&gt;             &lt;delineation&gt;                 &lt;objectClass&gt;ri:user&lt;\/objectClass&gt;             &lt;\/delineation&gt;             &lt;focus&gt;                 &lt;type&gt;c:UserType&lt;\/type&gt;                 &lt;archetypeRef oid=\"00000000-0000-0000-0000-000000000702\" relation=\"org:default\" type=\"c:ArchetypeType\"&gt;                     &lt;!-- Person --&gt;                 &lt;\/archetypeRef&gt;             &lt;\/focus&gt;             &lt;attribute id=\"18\"&gt;                 &lt;ref&gt;ri:sn&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;03 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;familyName&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"20\"&gt;                 &lt;ref&gt;ri:givenName&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;01 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;givenName&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"24\"&gt;                 &lt;ref&gt;ri:employeeNumber&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;10 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;personalNumber&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;                 &lt;inbound id=\"742\"&gt;                     &lt;name&gt;01 in&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;personalNumber&lt;\/path&gt;                     &lt;\/target&gt;                     &lt;use&gt;correlation&lt;\/use&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"37\"&gt;                 &lt;ref&gt;ri:cn&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;04 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;nickName&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"104\"&gt;                 &lt;ref&gt;ri:sAMAccountName&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;05 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;nickName&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;                 &lt;inbound id=\"838\"&gt;                     &lt;name&gt;02 in&lt;\/name&gt;                     &lt;strength&gt;weak&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;nickName&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;                 &lt;inbound id=\"839\"&gt;                     &lt;name&gt;03 in&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;name&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"105\"&gt;                 &lt;ref&gt;ri:dn&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;06 out new script for OU&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;locality&lt;\/path&gt;                     &lt;\/source&gt;                     &lt;source&gt;                         &lt;path&gt;nickName&lt;\/path&gt;                     &lt;\/source&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;if (locality)  { dn_value = 'CN=' + nickName + ',' + locality } else { baseContext = basic.getResourceIcfConfigurationPropertyValue(resource, 'baseContext') dn_value = 'CN=' + nickName + ',OU=New_Employees,OU=OOO_ODIN,' + baseContext } return dn_value&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                 &lt;\/outbound&gt;                 &lt;inbound id=\"775\"&gt;                     &lt;name&gt;04 in write OU to locality&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;return ((basic.stringify(input).split(',')).tail()).join(',');&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;locality&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"106\"&gt;                 &lt;ref&gt;ri:displayName&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;07 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;nickName&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"328\"&gt;                 &lt;ref&gt;ri:middleName&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;02 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;additionalName&lt;\/path&gt;                     &lt;\/source&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"554\"&gt;                 &lt;ref&gt;ri:pwdLastSet&lt;\/ref&gt;                 &lt;limitations id=\"557\"&gt;                     &lt;access&gt;                         &lt;read&gt;true&lt;\/read&gt;                         &lt;add&gt;true&lt;\/add&gt;                         &lt;modify&gt;false&lt;\/modify&gt;                     &lt;\/access&gt;                 &lt;\/limitations&gt;                 &lt;fetchStrategy&gt;explicit&lt;\/fetchStrategy&gt;                 &lt;outbound&gt;                     &lt;name&gt;08 out change pass on next login&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;\/\/ -1 next logon reset password required \/\/ 0 no previous loggon return \"0\"&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                     &lt;condition&gt;                         &lt;script&gt;                             &lt;code&gt;\"add\".equals(operation.toString()) &amp;amp;&amp;amp; midpoint.isEvaluateNew()&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/condition&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"699\"&gt;                 &lt;ref&gt;ri:userPrincipalName&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;name&gt;09 out&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;source&gt;                         &lt;path&gt;nickName&lt;\/path&gt;                     &lt;\/source&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;return nickName + \"@168testserverhome.com\"&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                 &lt;\/outbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"770\"&gt;                 &lt;ref&gt;ri:distinguishedName&lt;\/ref&gt;             &lt;\/attribute&gt;             &lt;activation&gt;                 &lt;administrativeStatus&gt;                     &lt;outbound id=\"794\"&gt;                         &lt;name&gt;Just Block&lt;\/name&gt;                         &lt;strength&gt;strong&lt;\/strength&gt;                         &lt;source&gt;                             &lt;path&gt;activation\/administrativeStatus&lt;\/path&gt;                         &lt;\/source&gt;                     &lt;\/outbound&gt;                 &lt;\/administrativeStatus&gt;                 &lt;lockoutStatus\/&gt;             &lt;\/activation&gt;             &lt;credentials&gt;                 &lt;password&gt;                     &lt;outbound id=\"765\"&gt;                         &lt;name&gt;initial&lt;\/name&gt;                         &lt;strength&gt;weak&lt;\/strength&gt;                         &lt;expression&gt;                             &lt;generate&gt;                                 &lt;mode&gt;policy&lt;\/mode&gt;                                 &lt;valuePolicyRef oid=\"00000000-0000-0000-0000-000000000003\" type=\"c:ValuePolicyType\" xsi:type=\"c:ObjectReferenceType\"\/&gt;                             &lt;\/generate&gt;                         &lt;\/expression&gt;                     &lt;\/outbound&gt;                 &lt;\/password&gt;             &lt;\/credentials&gt;             &lt;correlation&gt;                 &lt;correlators&gt;                     &lt;items id=\"820\"&gt;                         &lt;name&gt;personalNumber correlation&lt;\/name&gt;                         &lt;item id=\"821\"&gt;                             &lt;ref&gt;personalNumber&lt;\/ref&gt;                         &lt;\/item&gt;                         &lt;composition\/&gt;                     &lt;\/items&gt;                 &lt;\/correlators&gt;             &lt;\/correlation&gt;             &lt;synchronization&gt;                 &lt;reaction id=\"755\"&gt;                     &lt;situation&gt;linked&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;synchronize id=\"756\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"757\"&gt;                     &lt;situation&gt;unlinked&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;link id=\"758\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"835\"&gt;                     &lt;situation&gt;deleted&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;deleteResourceObject id=\"836\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;             &lt;\/synchronization&gt;         &lt;\/objectType&gt;     &lt;\/schemaHandling&gt;<\/code><\/pre>\n<p>\u041f\u043e\u043a\u0430 \u044d\u0442\u043e \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435, \u043d\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0440\u043e\u043b\u044c! \u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0447\u0451\u0440\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MS AD account 1.0 \u0432 Inducemente \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c Resource  Windows MS AD c intent MS AD account.<\/p>\n<p>\u0412 \u043a\u043e\u0434\u0435 \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"xml\">&lt;inducement id=\"2\"&gt;         &lt;construction&gt;             &lt;resourceRef oid=\"b8618fba-cf8b-416c-8e3b-32ea34cf003d\" relation=\"org:default\" type=\"c:ResourceType\"&gt;                 &lt;!-- Windows MS AD --&gt;             &lt;\/resourceRef&gt;             &lt;kind&gt;account&lt;\/kind&gt;             &lt;intent&gt;intent  MS AD account&lt;\/intent&gt;         &lt;\/construction&gt;         &lt;focusType&gt;c:UserType&lt;\/focusType&gt;     &lt;\/inducement&gt;<\/code><\/pre>\n<p>OID Resource  Windows MS AD  \u0443 \u043a\u0430\u0436\u0434\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u0418\u0434\u0451\u043c \u0432 \u0422\u0430\u0442\u044c\u044f\u043d\u0443 \u041f\u0435\u0442\u0440\u043e\u0432\u043d\u0443, \u0432\u044b\u0434\u0430\u0451\u043c \u0440\u043e\u043b\u044c MS AD account 1.0 (\u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0447\u0435\u0440\u0435\u0437 Assigment \u0432 \u043d\u0435\u0439) \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043d\u0435\u0451 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c!<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/924\/997\/253\/92499725332e726a7e71e7bac8db1fb8.png\" width=\"1375\" height=\"749\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/924\/997\/253\/92499725332e726a7e71e7bac8db1fb8.png\"\/><\/figure>\n<p>\u0422\u0430\u0442\u044c\u044f\u043d\u0430 \u041f\u0435\u0442\u0440\u043e\u0432\u043d\u0430 \u043f\u043e\u0437\u0435\u043b\u0435\u043d\u0435\u043b\u0430\u00a0\u2014 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 \u0430\u0440\u0445\u0435\u0442\u0438\u043f Person (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0443\u0436\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f) \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 Resources\\Windows MS AD \u0432 Schema Handling\\Object type\\MS AD account \u043c\u044b \u0432 Basic \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f Person, \u0435\u0441\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430. \u0422\u0430\u043a \u0436\u0435 Midpoint \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043b \u0435\u0439 Full Name. \u0422\u0430\u043a\u0436\u0435 \u0432 Name \u0435\u0439 \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0441\u044f sAMAccountName \u0438\u0437 AD, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043d \u043f\u043e\u043f\u0430\u043b \u0438\u0437 nickName \u0432 Midpoint!<\/p>\n<p>\u0418 \u0432\u0441\u0451 \u0431\u044b \u0445\u043e\u0440\u043e\u0448\u043e, \u043d\u043e \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u043b\u043e\u0433\u0438\u043d TaniyushkaB, \u043a\u0442\u043e \u0435\u0433\u043e \u0442\u0430\u043a \u0437\u0430\u0431\u0438\u043b, \u0434\u0430 \u0438 \u043e\u0442\u043a\u0443\u0434\u0430 \u043e\u043d \u0432\u043e\u043e\u0431\u0449\u0435 \u0442\u0430\u043c&#8230; \u043d\u0443\u0436\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c nickName \u0438\u0437 \u0438\u043c\u044f \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u0448\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e AD \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0434\u0430 \u0435\u0449\u0451 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u0443\u0436\u0435 \u043d\u0435\u0442 \u0432 AD \u0438 Midpoint!<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0447\u0451\u0440\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c MS AD account 2.0, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442 \u0432\u0435\u0440\u0441\u0438\u044e 1.0.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 &lt;\/role&gt; \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<pre><code class=\"xml\">&lt;inducement id=\"2\"&gt;         &lt;construction&gt;             &lt;resourceRef oid=\"b8618fba-cf8b-416c-8e3b-32ea34cf003d\" relation=\"org:default\" type=\"c:ResourceType\"&gt;                 &lt;!-- Windows MS AD --&gt;             &lt;\/resourceRef&gt;             &lt;kind&gt;account&lt;\/kind&gt;             &lt;intent&gt;intent  MS AD account&lt;\/intent&gt;         &lt;\/construction&gt;         &lt;focusType&gt;c:UserType&lt;\/focusType&gt;     &lt;\/inducement&gt;<\/code><\/pre>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0434 &lt;\/role&gt; \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<pre><code class=\"xml\">&lt;inducement id=\"22\"&gt;         &lt;focusMappings&gt;             &lt;mapping id=\"2222\"&gt;                 &lt;name&gt;Generate uniq nickName for AD and Midpoint&lt;\/name&gt;                 &lt;lifecycleState&gt;active&lt;\/lifecycleState&gt;                 &lt;strength&gt;strong&lt;\/strength&gt;                 &lt;source&gt;                     &lt;path&gt;c:givenName&lt;\/path&gt;                 &lt;\/source&gt;                 &lt;source&gt;                     &lt;path&gt;c:familyName&lt;\/path&gt;                 &lt;\/source&gt;                 &lt;source&gt;                     &lt;path&gt;c:additionalName&lt;\/path&gt;                 &lt;\/source&gt;                 &lt;expression&gt;                     &lt;script&gt;                         &lt;code&gt;import com.evolveum.midpoint.xml.ns._public.common.common_3.*; import com.evolveum.midpoint.prism.query.OrderDirection; import com.evolveum.midpoint.prism.path.ItemPath;  iterationToken = 0 is_it_ok = false resource_oid = \"b8618fba-cf8b-416c-8e3b-32ea34cf003d\" resource_kind = \"ACCOUNT\" resource_intent = \"intent  MS AD account\"  do { userGivenName = basic.stringify(givenName)?.tr(' ', '') userFamilyName = basic.stringify(familyName)?.tr(' ', '') useradditionalName = basic.stringify(additionalName)?.tr(' ', '') national_letters =['\u042f','\u044f','\u042e','\u044e','\u0427','\u0447','\u0428','\u0448','\u0429','\u0449','\u0416','\u0436','\u0410','\u0430','\u0411','\u0431','\u0412','\u0432','\u0413','\u0433','\u0414','\u0434','\u0415','\u0435','\u0401','\u0451','\u042d','\u044d','\u0417','\u0437','\u0418','\u0438','\u0419','\u0439','\u041a','\u043a','\u041b','\u043b','\u041c','\u043c','\u041d','\u043d', '\u041e','\u043e','\u041f','\u043f','\u0420','\u0440','\u0421','\u0441','\u0422','\u0442','\u0423','\u0443','\u0424','\u0444','\u0425','\u0445','\u0426','\u0446','\u042b','\u044b','\u042c','\u044c','\u042a','\u044a',' '] latin_letters =['Ya','ya','Yu','yu','Ch','ch','Sh','sh','Sh','sh','Zh','zh','A','a','B','b','V','v','G','g','D','d','E','e','E','e','E','e','Z','z','I','i','J','j','K','k','L','l','M','m','N','n', 'O','o','P','p','R','r','S','s','T','t','U','u','F','f','H','h','C','c','Y','y','','','','','']   for( i = 0; i &amp;lt; national_letters.size(); i++) { userGivenName  = userGivenName?.replace(national_letters[i],latin_letters[i]); userFamilyName  = userFamilyName?.replace(national_letters[i],latin_letters[i]); useradditionalName  = useradditionalName?.replace(national_letters[i],latin_letters[i]); }  if ((iterationToken.toInteger() &amp;amp; 1) == 0)  { second_letter = iterationToken.toInteger() \/ 2; first_letter = second_letter.toInteger() + 1; } else { first_letter = (iterationToken.toInteger() + 1) \/ 2; second_letter = first_letter; }   if(first_letter.toInteger() &amp;gt; userGivenName.length() &amp;amp;&amp;amp; second_letter.toInteger() &amp;gt; useradditionalName.length()) { user_number = iterationToken.toInteger() first_full = userGivenName.length() second_full = useradditionalName.length() if(useradditionalName.length() != 0) {     name_login_for_user = userGivenName.substring(0,first_letter.toInteger()) + useradditionalName.substring(0,second_letter.toInteger()) + userFamilyName          def query = midpoint.queryFor(ShadowType.class, \"resourceRef matches (oid = '\" + resource_oid + \"') and kind = '\" + resource_kind + \"' and intent = '\" + resource_intent + \"' and attributes\/cn = '\" + name_login_for_user + \"'\")      def result_ad_login = midpoint.searchObjects(query);           if (midpoint.isUniquePropertyValue(user, 'name', name_login_for_user.toString()) &amp;gt; !result_shadow_search)     {return name_login_for_user     is_it_ok = true}      }  else {return userGivenName.substring(0,first_full.toInteger()) + userFamilyName  + user_number} } else {if (first_letter.toInteger() &amp;gt; userGivenName.length()) {     first_letter = userGivenName.length(); } if (second_letter.toInteger() &amp;gt; useradditionalName.length()) {     second_letter = useradditionalName.length(); }  name_login_for_user = userGivenName.substring(0,first_letter.toInteger()) + useradditionalName.substring(0,second_letter.toInteger()) + userFamilyName   def query = midpoint.queryFor(ShadowType.class, \"resourceRef matches (oid = '\" + resource_oid + \"') and kind = '\" + resource_kind + \"' and intent = '\" + resource_intent + \"' and attributes\/sAMAccountName = '\" + name_login_for_user + \"'\")  def result_ad_login = midpoint.searchObjects(query);    if (midpoint.isUniquePropertyValue(user, 'name', name_login_for_user.toString()) &amp;amp;&amp;amp; !result_ad_login) {return name_login_for_user is_it_ok = true}  } iterationToken = iterationToken + 1 } while (!is_it_ok)&lt;\/code&gt;                     &lt;\/script&gt;                 &lt;\/expression&gt;                 &lt;target&gt;                     &lt;path&gt;nickName&lt;\/path&gt;                 &lt;\/target&gt;             &lt;\/mapping&gt;         &lt;\/focusMappings&gt;         &lt;condition&gt;             &lt;source&gt;                 &lt;path&gt;c:givenName&lt;\/path&gt;             &lt;\/source&gt;             &lt;source&gt;                 &lt;path&gt;c:familyName&lt;\/path&gt;             &lt;\/source&gt;             &lt;source&gt;                 &lt;path&gt;c:nickName&lt;\/path&gt;             &lt;\/source&gt;             &lt;expression&gt;                 &lt;script&gt;                     &lt;code&gt;if (basic.isEmpty(nickName)) {if (!basic.isEmpty(givenName)) {if (!basic.isEmpty(familyName)) { return true }}} else { return false }&lt;\/code&gt;                 &lt;\/script&gt;             &lt;\/expression&gt;         &lt;\/condition&gt;     &lt;\/inducement&gt;<\/code><\/pre>\n<p>\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a. \u042d\u0442\u043e \u0432 \u0440\u043e\u043b\u0438 \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 nickName. \u041e\u043d \u0431\u0435\u0440\u0435\u0442  givenName  familyName  additionalName \u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0443 \u043d\u0430 \u043b\u0430\u0442\u0438\u043d\u0438\u0446\u0443 \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u043d \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u043f\u0435\u0440\u0432\u0430\u044f \u0431\u0443\u043a\u0432\u0430 \u0438\u043c\u0435\u043d\u0438 \u043f\u043b\u044e\u0441 \u0444\u0430\u043c\u0438\u043b\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u0431\u0443\u043a\u0432\u0430 \u0438\u043c\u0435\u043d\u0438 + \u043f\u0435\u0440\u0432\u0430\u044f \u0431\u0443\u043a\u0432\u0430 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u0430(\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c) + \u0444\u0430\u043c\u0438\u043b\u0438\u044f \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435 \u0435\u0441\u043b\u0438 \u0431\u0443\u043a\u0432\u044b \u043a\u043e\u043d\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0432\u0438\u0442 \u0446\u0438\u0444\u0440\u044b. \u0422\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043e\u043d \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u043e \u0447\u0430\u0441\u0442\u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0443\u0447\u0435\u0442\u043a\u0438 AD.<\/p>\n<p><strong>\u0413\u041b\u0410\u0412\u041d\u041e\u0415 \u0423\u0421\u041b\u041e\u0412\u0418\u0415:<\/strong> \u0423 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0438\u043c\u044f \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u044f, nickName \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0443\u0441\u0442\u044b\u043c. \u0415\u0441\u043b\u0438 \u044d\u0442\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0438 nickName \u043d\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f, \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0443\u0447\u0435\u0442\u043a\u0443 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u0441  sAMAccountName null \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f AD \u0441 \u043b\u043e\u0433\u0438\u043d\u043e\u043c null \u0443\u0436\u0435 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c\u0441\u044f \u0431\u0443\u0434\u0435\u0442 \u044f\u0432\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430&#8230;. \u0438 \u044d\u0442\u043e \u043f\u043e\u043a\u0430 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0438\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c, \u0435\u0441\u043b\u0438 \u0432\u0435\u0448\u0430\u0442\u044c \u0434\u043e\u043f \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043d\u0430  \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0443\u0447\u0435\u0442\u043a\u0438 AD \u0442\u043e \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0435\u0451 \u043e\u0442\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043d\u0435\u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u043b\u0443\u0447\u0448\u0435 \u043f\u0443\u0441\u0442\u044c \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437 \u0440\u043e\u043b\u044c MS AD account 2.0  \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430, \u043b\u0435\u0433\u0447\u0435 \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0442\u0435\u043c \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b\u0438 \u0438\u043c\u044f \u0438 \u0444\u0430\u043c\u0438\u043b\u0438\u044f.<\/p>\n<p>\u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u043d\u044e\u0430\u043d\u0441: \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u043d\u0430 \u0432 AD, \u043c\u044b \u044d\u0442\u043e \u0434\u0430\u043b\u0435\u043c \u043d\u0435 \u0432 AD \u0430 \u0432 Midpoint. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0431 \u0443\u0447\u0435\u0442\u043a\u0430\u0445 AD \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u0438  Resources\\Windows MS AD \u0432 Schema Handling\\Object type\\MS AD account \u0432 \u043d\u0438\u0445 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u041c\u0430\u043b\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0442\u0430\u043a \u0447\u0442\u043e \u0432 AD \u043f\u043e\u0441\u043b\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 Midpoint \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0447\u0435\u0442\u043a\u0430 \u0438 Midpoint \u043e \u043d\u0435\u0439 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u0435\u0442. \u041f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435\u0439 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432 AD \u0443\u0447\u0435\u0442\u043a\u0438 \u0440\u0430\u0437 \u0443 \u0432\u0430\u0441 IDM! \u0412\u043e\u0442 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0447\u0435\u0442\u043e\u043a \u0443\u0432\u0438\u0434\u0435\u043b  Resources\\Windows MS AD \u0432 Schema Handling\\Object type\\MS AD account<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0b2\/0b4\/403\/0b20b4403d5073000c259377b4fe93af.png\" width=\"1834\" height=\"2696\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0b2\/0b4\/403\/0b20b4403d5073000c259377b4fe93af.png\"\/><\/figure>\n<p>\u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0438<\/p>\n<pre><code class=\"xml\"> resource_oid = \"b8618fba-cf8b-416c-8e3b-32ea34cf003d\"   resource_kind = \"ACCOUNT\"   resource_intent = \"intent  MS AD account\"<\/code><\/pre>\n<p>\u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u043d\u0430\u0448 Resources\\Windows MS AD \u0432 Schema Handling\\Object type\\MS AD account.<\/p>\n<p>\u0420\u0430\u0437\u0434\u0430\u043b \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0431\u0435\u0437 \u0443\u0447\u0435\u0442\u043a\u0438 AD \u0440\u043e\u043b\u044c MS AD account 2.0. <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cd8\/8f2\/9e2\/cd88f29e22e8f784dbdeb1846c219771.png\" width=\"1375\" height=\"749\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cd8\/8f2\/9e2\/cd88f29e22e8f784dbdeb1846c219771.png\"\/><\/figure>\n<p>\u0423 \u043d\u0430\u0441 \u043c\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0436\u0434\u0430\u043d \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438 \u041a\u043e\u0442 \u0434\u0430 \u0435\u0449\u0435 \u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0438\u043c\u0435\u043d\u0438 \u0438 \u043e\u0442\u0447\u0435\u0441\u0442\u0432\u0430 \u0443 \u043d\u0438\u0445 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442\u00a0\u2014 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e Midpoint \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0441\u044f! \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0418\u0440\u0438\u043d\u0443 \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432\u043d\u0443 \u0421\u0442\u0430\u0440 \u043b\u043e\u0433\u0438\u043d IVStar, \u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u043b \u0431\u044b\u0442\u044c IStar \u043e\u0434\u043d\u043e\u0444\u0430\u043c\u0435\u043b\u044c\u0446\u0435\u0432 \u0442\u043e \u043d\u0435\u0442 \u0440\u044f\u0434\u043e\u043c, \u0430 \u0432\u043e\u0442 \u0432 AD \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043b\u043e\u0433\u0438\u043d istar(\u0432\u0438\u0434\u043d\u043e \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435) \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430 IVStar.<\/p>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0442 TaniyushkaB \u0432\u044b\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437\u00a0\u043e\u0431\u0449\u0435\u0439 \u043b\u043e\u0433\u0438\u043a\u0438&#8230; \u041d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c \u0435\u0439 \u0440\u043e\u043b\u044c MS AD account 2.0\u00a0\u0438 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0442\u0437\u044b\u0432\u0430\u0435\u043c MS AD account 1.0. \u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u00a0\u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0\u0432\u0441\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u044b nickName \u0435\u0441\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u00a0\u043d\u0430\u0434\u043e. \u0423\u0434\u0430\u043b\u0438\u043c nickName \u0438 \u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u00a0\u043e\u043d \u043f\u0435\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0438 \u0441\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0432\u00a0AD \u0438 \u0441\u0442\u0430\u043b \u043a\u0430\u043a\u00a0\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e TBor&#8230; \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0437 \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u043d\u0435\u00a0\u043d\u0430\u0434\u043e, \u0430\u00a0\u0442\u043e Midpoint \u0435\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442 \u043d\u0430\u00a0\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 TPBor&#8230; \u043d\u0443 \u043b\u0430\u0434\u043d\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0440\u0435\u0442\u0438\u0439 \u0440\u0430\u0437 \u0443\u0434\u0430\u043b\u0438\u043c\u00a0\u2014 \u0432\u0435\u0440\u043d\u0443\u043b\u0441\u044f TBor, \u0432\u0441\u0451 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u00a0\u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0432\u00a0\u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0435 \u0432\u0441\u0451 \u043e\u043a!<\/p>\n<p>\u0414\u0435\u043b\u0430\u0435\u043c \u0432\u044b\u0432\u043e\u0434, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u043c \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u0430\u0442\u044c nickName, \u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0435\u0433\u043e. \u0410\u00a0\u044d\u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u00a0\u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043c\u0435\u043d\u0430 \u0444\u0430\u043c\u0438\u043b\u0438\u0438 \u0432\u00a0Midpoint, \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0438 \u043d\u0430\u00a0\u0447\u0442\u043e\u00a0\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u043c \u044d\u0442\u043e \u043d\u0435\u00a0\u0432\u043b\u0438\u044f\u0435\u0442, \u043d\u043e\u00a0\u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u00a0\u0440\u043e\u043b\u044c MS AD account 2.0\u00a0\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u00a0\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432\u00a0\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0435 \u00ab\u0444\u0430\u043c\u0438\u043b\u0438\u044f\u00bb \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u044f\u0442\u044c nickName \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c recompute \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f!<\/p>\n<p>\u0412 \u043a\u043e\u0434\u0435 \u0440\u043e\u043b\u0438 MS AD account 2.0 \u043f\u0435\u0440\u0435\u0434 &lt;\/role&gt; \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<pre><code class=\"xml\">&lt;inducement id=\"222\"&gt;         &lt;policyRule&gt;             &lt;name&gt;Delete nickName if familyName modified&lt;\/name&gt;             &lt;policyConstraints&gt;                 &lt;or id=\"14\"&gt;                      &lt;modification id=\"16\"&gt;                         &lt;item&gt;c:familyName&lt;\/item&gt;                     &lt;\/modification&gt;                  &lt;\/or&gt;             &lt;\/policyConstraints&gt;             &lt;policyActions&gt;                 &lt;scriptExecution id=\"5\"&gt;                     &lt;name&gt;some script&lt;\/name&gt;                     &lt;executeScript xmlns:s=\"http:\/\/midpoint.evolveum.com\/xml\/ns\/public\/model\/scripting-3\"&gt;                         &lt;s:pipeline list=\"true\"&gt;                             &lt;s:action&gt;                                 &lt;s:type&gt;execute-script&lt;\/s:type&gt;                                 &lt;s:parameter&gt;                                     &lt;s:name&gt;script&lt;\/s:name&gt;                                     &lt;s:value&gt;                                         &lt;code&gt; import com.evolveum.midpoint.xml.ns._public.common.common_3.* import com.evolveum.midpoint.prism.delta.builder.* import com.evolveum.midpoint.model.api.* import javax.xml.namespace.QName import com.evolveum.midpoint.prism.polystring.PolyString  my_info = new PolyString(\"\") delta = prismContext.deltaFor(UserType.class).item(UserType.F_NICK_NAME).replace(my_info).asObjectDelta(input.oid) midpoint.modifyObject(delta,  ModelExecuteOptions.createRaw()) midpoint.recompute(UserType.class, input.oid) &lt;\/code&gt;                                     &lt;\/s:value&gt;                                 &lt;\/s:parameter&gt;                             &lt;\/s:action&gt;                         &lt;\/s:pipeline&gt;                     &lt;\/executeScript&gt;                 &lt;\/scriptExecution&gt;             &lt;\/policyActions&gt;         &lt;\/policyRule&gt;         &lt;focusType&gt;c:UserType&lt;\/focusType&gt;     &lt;\/inducement&gt;<\/code><\/pre>\n<p>\u0423\u0422\u0430\u0442\u044c\u044f\u043d\u044b \u041f\u0435\u0442\u0440\u043e\u0432\u043d\u044b \u0411\u043e\u0440 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u0432\u00a0\u0436\u0438\u0437\u043d\u0438\u00a0\u2014 \u0441\u043c\u0435\u043d\u0430 \u0444\u0430\u043c\u0438\u043b\u0438\u0438, \u043f\u0440\u0430\u0432\u0434\u0430 \u043c\u044b \u043d\u0435\u00a0\u0437\u043d\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u044f\u00a0\u2014 \u0441\u0432\u0430\u0434\u044c\u0431\u0430 \u0438\u043b\u0438\u00a0\u0440\u0430\u0437\u0432\u043e\u0434, \u043d\u043e\u00a0IDM \u044d\u0442\u043e \u043d\u0435\u00a0\u0432\u0430\u0436\u043d\u043e, \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d\u0430 \u0417\u0435\u043c\u043b\u044f\u043d\u0438\u043a\u0438\u043d\u0430 \u0432\u00a0\u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0435 Midpoint, \u0438 \u0435\u0441\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u00a0\u0435\u0451 History\u00a0\u2014 \u044d\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0432\u043e\u0442 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0432\u00a0AD.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b4e\/abe\/c8a\/b4eabec8aded5466f08d218962f133f6.png\" width=\"1834\" height=\"2020\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b4e\/abe\/c8a\/b4eabec8aded5466f08d218962f133f6.png\"\/><\/figure>\n<p>\u041c\u044b \u0432\u0441\u0451 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u043a\u043e\u0434\u043e\u043c, \u043d\u043e \u0432 \u0440\u043e\u043b\u0438 MS AD account 2.0 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451 \u0432 \u0447\u0438\u0442\u0430\u0431\u0435\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 \u0442\u043e\u0436\u0435 \u0432\u0438\u0434\u043d\u043e.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/beb\/50d\/893\/beb50d893b9b0f0f468ee0d6e46a168a.png\" width=\"1375\" height=\"1235\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/beb\/50d\/893\/beb50d893b9b0f0f468ee0d6e46a168a.png\"\/><\/figure>\n<p>\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u043d\u044e\u0430\u043d\u0441\u00a0\u2014 \u0442\u0430\u043a \u043a\u0430\u043a\u00a0\u043c\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0447\u0442\u043e\u00a0\u043c\u043e\u0436\u0435\u0442\u00a0\u0431\u044b\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u0433\u0434\u0430 \u0443\u0447\u0451\u0442\u043a\u0430 AD \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0443\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0431\u0435\u0437\u00a0\u0440\u043e\u043b\u0438 AD, \u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441\u00a0\u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0434\u043e \u0435\u043c\u0443 \u0442\u0430\u043a\u00a0\u0436\u0435 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u043e\u043b\u044c AD, \u0445\u043e\u0440\u043e\u0448\u043e \u0434\u043b\u044f\u00a0\u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438, \u0443\u0447\u0451\u0442\u043a\u0443 \u0438 \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0442\u044c\u00a0\u2014 \u043d\u0435\u00a0\u0432\u044b\u0434\u0430\u0432 \u043d\u0435\u00a0\u043e\u0442\u043e\u0431\u0440\u0430\u0442\u044c!<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0443\u0441\u0442\u043e\u0439 inbound \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432 Resources\\Windows MS AD \u0432 Schema Handling\\Object type\\MS AD account \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435From resource attribute* \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c sAMAccountName, \u0430 \u0438\u043c\u044f 05 in assign to role AD account.<\/p>\n<p>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u0432 RAW \u0441ode \u0438 \u0434\u043e\u0432\u043e\u0434\u0438\u043c \u0434\u043e \u0432\u0438\u0434\u0430<\/p>\n<pre><code class=\"xml\">&lt;inbound id=\"796\"&gt;                     &lt;name&gt;05 in assign to role AD account&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;expression&gt;                         &lt;assignmentTargetSearch&gt;                             &lt;targetType&gt;c:RoleType&lt;\/targetType&gt;                             &lt;oid&gt;1cae659f-69f2-43b8-b075-8226d718eef9&lt;\/oid&gt;                         &lt;\/assignmentTargetSearch&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;$focus\/assignment&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt; <\/code><\/pre>\n<p>&lt;oid&gt; \u2014 OID \u0440\u043e\u043b\u0438 MS AD account 2.0 \u0435\u0433\u043e \u0432\u0438\u0434\u043d\u043e \u0432 Repository Objects\\All Objects \u0432 Type \u0432\u044b\u0431\u0440\u0430\u0442\u044c Role.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/235\/23e\/246\/23523e2468f0a68f9a0d1cfed141bf32.png\" width=\"1375\" height=\"1142\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/235\/23e\/246\/23523e2468f0a68f9a0d1cfed141bf32.png\"\/><\/figure>\n<p>\u041d\u0430\u0434\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u0434\u043e\u043c \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 GUI \u043d\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b\u0438!<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043d\u0430\u0434\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0443\u044e \u0442\u0443\u043f\u043e\u0441\u0442\u044c Midpoint (\u0433\u043b\u044e\u043a\u043e\u043c \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u0451\u0442\u0441\u044f) \u0447\u0442\u043e\u0431\u044b \u0430\u043a\u043a\u0430\u0443\u043d\u0442 AD \u0432\u00a0\u0440\u0435\u0441\u0443\u0440\u0441\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043b\u0441\u044f \u043a\u00a0a\u043a\u043a\u0430\u0443\u043d\u0442\u0443 Midpoint\u00a0\u2014 \u0443\u00a0\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d\u00a0\u0431\u044b\u0442\u044c \u0442\u0430\u043a\u043e\u0439\u00a0\u0436\u0435 \u0430\u0440\u0445\u0435\u0442\u0438\u043f, \u043a\u0430\u043a\u043e\u0439 \u0432\u044b\u0434\u0430\u0451\u0442 AD \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u0440\u0438\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 AD \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430&#8230; \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0432\u00a0\u0441\u043f\u0438\u0441\u043a\u0430\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0422\u0430\u0442\u044c\u044f\u043d\u0430 \u041f\u0435\u0442\u0440\u043e\u0432\u043d\u0430\u00a0\u0431\u044b\u043b\u0430 \u0447\u0451\u0440\u043d\u0430\u044f, \u0430\u00a0\u043f\u0440\u0438\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 AD \u0443\u0447\u0451\u0442\u043a\u0438 \u043e\u043d\u0430 \u043f\u043e\u0437\u0435\u043b\u0435\u043d\u0435\u043b\u0430! \u0412\u043e\u0442 \u0430\u00a0\u0443\u00a0\u043d\u0430\u0441 \u0432\u0441\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u0438\u00a0\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0438\u0437\u00a0HR \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u00a0\u0431\u044b\u043b\u0438 \u0447\u0451\u0440\u043d\u044b\u043c\u0438 (\u0431\u0435\u0437 \u0430\u0440\u0445\u0435\u0442\u0438\u043f\u0430), \u0430\u00a0\u043d\u0430\u0434\u043e\u00a0\u0431\u044b\u043b\u043e \u0441\u0440\u0430\u0437\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0435\u043b\u0451\u043d\u044b\u043c\u0438, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043a\u00a0\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c AD \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c!<\/p>\n<p><strong>\u041e\u0414\u041d\u0410\u041a\u041e:<\/strong> \u0412 4.9 \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043d\u0435\u044f\u0432\u043d\u044b\u043c \u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043b\u043e\u043c\u0430\u0435\u0442 \u0432 user \u0432\u043a\u043b\u0430\u0434\u043a\u0443 All accesses, \u0433\u0434\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435 \u044f\u0432\u043d\u043e \u0438 \u043d\u0435 \u044f\u0432\u043d\u043e \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u043e\u043b\u0438, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0440\u043e\u043b\u044c \u0432\u044b\u0434\u0430\u0451\u0442\u0441\u044f \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0438 Midpointt 4.9 \u043a\u043b\u0438\u043d\u0438\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f All accesses \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439&#8230; \u0432 Evolveum \u0441\u043e\u043e\u0431\u0449\u0438\u043b, \u043c\u0430\u043f\u043f\u0438\u043d\u0433 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b &#8212; \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u0445\u043e\u0440\u043e\u0448 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0441\u043b\u0435 \u0443\u0436\u0435 \u043d\u0430\u0434\u043e \u0434\u0435\u043b\u0430\u0442\u044c AD \u0443\u0447\u0451\u0442\u043a\u0438 \u0438\u0437 Midpoint \u0447\u0435\u0440\u0435\u0437 \u0440\u043e\u043b\u044c.<\/p>\n<p> <strong>IV \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 Midpoint  \u043a \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u0438\u0437 MS AD<\/strong><\/p>\n<p>\u0412 4.9 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u0431\u0438\u043b\u0438 GUI \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c Association (\u0441\u0430\u043c\u0438 \u043e\u043d\u0438 \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 membership, \u044f \u0431\u0443\u0434\u0443 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e) \u0441\u0442\u0430\u0440\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0432\u0432\u0435\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 (\u0440\u0430\u0437\u043d\u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043f\u043e \u0442\u0440\u0451\u043c \u043c\u0435\u0441\u0442\u0430\u043c \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0443\u0442\u0430\u043b\u0438) <a href=\"https:\/\/docs.evolveum.com\/midpoint\/reference\/master\/resources\/entitlements\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/reference\/master\/resources\/entitlements\/<\/a> \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a AD connector 3.8 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 AD MS \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0447\u0430\u0441\u0442\u0438 group, \u0432\u0441\u0451 \u0431\u0443\u0434\u0443 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u043e \u0441\u0442\u0430\u0440\u043e\u043c\u0443, \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435 \u0438 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440 \u0443 \u043d\u0430\u0441 3.7.2, \u043d\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0441\u043b\u0435\u043f\u0443\u044e!<\/p>\n<p>\u0411\u0443\u0434\u0435\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443\u00a0\u2014 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0433\u0440\u0443\u043f\u043f\u044b \u0438 \u0432 AD \u0438 \u0432 Midpoint \u0438 \u0432\u0441\u0451 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044e \u043f\u043e\u0438\u0441\u043a \u0432 AD \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 OU<\/p>\n<p>\u0412 Resources\\Windows MS AD\\Connector Configuration \u0432 Base context \u043f\u0438\u0448\u0443<\/p>\n<p><code>OU=OOO_ODIN,DC=168testserverhome,DC=com<\/code><\/p>\n<p>\u0418 \u0432 Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD account\\Mapping\\Outbound \u0432 \u043c\u0430\u043f\u0438\u043d\u0433\u0435  06 out new script for OU \u043c\u0435\u043d\u044f\u044e \u0441\u043a\u0440\u0438\u043f\u0442<\/p>\n<pre><code class=\"xml\">if (locality)  { dn_value = 'CN=' + nickName + ',' + locality } else { baseContext = basic.getResourceIcfConfigurationPropertyValue(resource, 'baseContext') dn_value = 'CN=' + nickName + ',OU=New_Employees,' + baseContext } return dn_value<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f \u043f\u043e\u0434 \u0440\u043e\u043b\u0438 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f. \u0412 Archetypes\\New archetypes \u0438\u043c\u044f AD Group ArcheType \u0438 \u043f\u043e\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0432 Archetypes\\AD Group ArcheType\\Archetype policy\\Display\\Icon \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0432\u043e\u0438\u043c \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f\u043c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a33\/c3f\/a4b\/a33c3fa4b2b644f1565949cd38d0d70d.png\" width=\"1375\" height=\"1224\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a33\/c3f\/a4b\/a33c3fa4b2b644f1565949cd38d0d70d.png\"\/><\/figure>\n<p>\u0418\u0434\u0451\u043c \u0432 \u0440\u0435\u0441\u0443\u0440\u0441 Windows MS AD \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c Object Type \u0432 Resources\\Windows MS AD\\Schema Handling\\Object type\\Add object type.<\/p>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435, \u0438\u043c\u044f MS AD group<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cfe\/531\/1c4\/cfe5311c4c9bc9bf2f6f94799d84f3c9.png\" width=\"1375\" height=\"1209\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cfe\/531\/1c4\/cfe5311c4c9bc9bf2f6f94799d84f3c9.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5f5\/bac\/bc2\/5f5bacbc2e61455b9a8eee387dc63839.png\" width=\"1375\" height=\"932\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5f5\/bac\/bc2\/5f5bacbc2e61455b9a8eee387dc63839.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/25e\/95f\/de1\/25e95fde1f15be9f43a60447af0bf18e.png\" width=\"1375\" height=\"905\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/25e\/95f\/de1\/25e95fde1f15be9f43a60447af0bf18e.png\"\/><\/figure>\n<p>Scheme Handling Object Type \u0441\u043e\u0437\u0434\u0430\u043d, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432  Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD group.<\/p>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u044e \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445, \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>Mapping Inbound<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/315\/46d\/9a9\/31546d9a9731edc2dc93ddf8225605a3.png\" width=\"1375\" height=\"1033\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/315\/46d\/9a9\/31546d9a9731edc2dc93ddf8225605a3.png\"\/><\/figure>\n<p>Outbound \u043d\u0435\u0442, \u043d\u0443 \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e. \u041c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a \u0447\u0442\u043e\u0431\u044b \u0434\u0435\u043b\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0430 AD \u0438\u0437 \u0440\u043e\u043b\u0438 Midpoint, \u043d\u043e \u044f \u043d\u0435 \u0434\u0435\u043b\u0430\u044e.<\/p>\n<p>01 in g \u2014 \u0442\u0443\u0442 \u0441\u043a\u0440\u0438\u043f\u0442, \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u0438\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0442\u043e\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u00a0Midpoint \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e \u0432\u00a0\u043d\u0430\u0447\u0430\u043b\u0435 \u00abADG:\u00bb \u0441\u00a0\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u0438 \u043d\u0438 \u0447\u0442\u043e \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0443 \u043d\u0430\u0441 \u0442\u0430\u043a \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442.<\/p>\n<p> <code>\"ADG:\" + basic.stringify(input)<\/code><\/p>\n<p>Synchronization<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/440\/cdd\/326\/440cdd32658b25640b9987480dd7eebb.png\" width=\"1375\" height=\"948\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/440\/cdd\/326\/440cdd32658b25640b9987480dd7eebb.png\"\/><\/figure>\n<p>Correlation<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3d6\/a3b\/561\/3d6a3b561f3543151823bc9039aefcf1.png\" width=\"1375\" height=\"801\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3d6\/a3b\/561\/3d6a3b561f3543151823bc9039aefcf1.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/80f\/95f\/8e0\/80f95f8e00a11aae6291e6a0c8c7e619.png\" width=\"1375\" height=\"750\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/80f\/95f\/8e0\/80f95f8e00a11aae6291e6a0c8c7e619.png\"\/><\/figure>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0451, \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0432 \u0430\u0440\u0445\u0435\u0442\u0438\u043f\u0435 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u00a0\u0434\u0440\u0443\u0433\u043e\u043c Schema Handling\\Object type<\/p>\n<p>\u0412\u0435\u0441\u044c \u043a\u043e\u0434 Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD group<\/p>\n<pre><code class=\"xml\">&lt;objectType id=\"847\"&gt;             &lt;kind&gt;entitlement&lt;\/kind&gt;             &lt;intent&gt;intent MS AD group&lt;\/intent&gt;             &lt;displayName&gt;MS AD group&lt;\/displayName&gt;             &lt;delineation&gt;                 &lt;objectClass&gt;ri:group&lt;\/objectClass&gt;             &lt;\/delineation&gt;             &lt;focus&gt;                 &lt;type&gt;c:RoleType&lt;\/type&gt;                 &lt;archetypeRef oid=\"e9eda47b-b097-4814-9605-7177a2482fa1\" relation=\"org:default\" type=\"c:ArchetypeType\"&gt;                     &lt;!-- AD Group ArcheType --&gt;                 &lt;\/archetypeRef&gt;             &lt;\/focus&gt;             &lt;attribute id=\"849\"&gt;                 &lt;ref&gt;ri:cn&lt;\/ref&gt;                 &lt;inbound id=\"850\"&gt;                     &lt;name&gt;01 in g&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;\"ADG:\" + basic.stringify(input)&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;name&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"851\"&gt;                 &lt;ref&gt;ri:displayName&lt;\/ref&gt;                 &lt;inbound id=\"852\"&gt;                     &lt;name&gt;02 in g&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;displayName&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"853\"&gt;                 &lt;ref&gt;ri:distinguishedName&lt;\/ref&gt;                 &lt;inbound id=\"854\"&gt;                     &lt;name&gt;03 in g&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;identifier&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;correlation&gt;                 &lt;correlators&gt;                     &lt;items id=\"865\"&gt;                         &lt;name&gt;Correlate by identifier and dn&lt;\/name&gt;                         &lt;item id=\"866\"&gt;                             &lt;ref&gt;identifier&lt;\/ref&gt;                         &lt;\/item&gt;                     &lt;\/items&gt;                 &lt;\/correlators&gt;             &lt;\/correlation&gt;             &lt;synchronization&gt;                 &lt;reaction id=\"856\"&gt;                     &lt;situation&gt;unmatched&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;addFocus id=\"857\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"858\"&gt;                     &lt;situation&gt;linked&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;synchronize id=\"859\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"860\"&gt;                     &lt;situation&gt;unlinked&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;link id=\"861\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"862\"&gt;                     &lt;situation&gt;deleted&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;deleteResourceObject id=\"863\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;             &lt;\/synchronization&gt;         &lt;\/objectType&gt;<\/code><\/pre>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e(Association) \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 Resources\\Windows MS AD\\ \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043a\u043e\u0434 Schema Handling\\Object type\\MS AD Account \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0434 &lt;\/objectType&gt;<\/p>\n<p>\u041a\u043e\u0434<\/p>\n<pre><code class=\"xml\">&lt;association id=\"306\"&gt;                 &lt;ref&gt;AD group membership to Midpoint&lt;\/ref&gt;                 &lt;inbound id=\"478\"&gt;                     &lt;strength&gt;normal&lt;\/strength&gt;                     &lt;channel&gt;http:\/\/midpoint.evolveum.com\/xml\/ns\/public\/common\/channels-3#reconciliation&lt;\/channel&gt;                     &lt;expression&gt;                         &lt;assignmentTargetSearch&gt;                             &lt;targetType&gt;RoleType&lt;\/targetType&gt;                             &lt;filter&gt;                                 &lt;q:equal&gt;                                     &lt;q:path&gt;identifier&lt;\/q:path&gt;                                     &lt;expression&gt;                                         &lt;script&gt;                                             &lt;code&gt;                                                 return basic.getAttributeValue(entitlement, 'dn')                                             &lt;\/code&gt;                                         &lt;\/script&gt;                                     &lt;\/expression&gt;                                 &lt;\/q:equal&gt;                             &lt;\/filter&gt;                         &lt;\/assignmentTargetSearch&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;assignment&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;                 &lt;kind&gt;entitlement&lt;\/kind&gt;                 &lt;intent&gt;intent MS AD group&lt;\/intent&gt;                 &lt;direction&gt;objectToSubject&lt;\/direction&gt;                 &lt;associationAttribute&gt;ri:member&lt;\/associationAttribute&gt;                 &lt;valueAttribute&gt;ri:dn&lt;\/valueAttribute&gt;                 &lt;explicitReferentialIntegrity&gt;false&lt;\/explicitReferentialIntegrity&gt;             &lt;\/association&gt;<\/code><\/pre>\n<p>\u0422\u0443\u0442 \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f  Schema Handling\\Object type \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. Midpoint \u0445\u043e\u0447\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c member \u0440\u043e\u043b\u0438 \u043f\u043e\u0434 AD \u0433\u0440\u0443\u043f\u043f\u0443, \u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u0435\u043d dn, \u0430 \u0435\u0433\u043e \u0437\u043d\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e  Schema Handling\\Object type\\MS AD Account.<\/p>\n<p>\u0422\u0443\u0442 \u0435\u0449\u0451 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u0434 \u0432 &lt;inbound&gt;&#8230;&lt;\/inbound&gt; \u043e\u043d \u043f\u0440\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432\u044b\u0434\u0430\u0451\u0442 \u0435\u043c\u0443 Midpoint \u0440\u043e\u043b\u0438 AD group \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043d \u0432 AD<\/p>\n<p><strong>\u041e\u0414\u041d\u0410\u041a\u041e:<\/strong> \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 4.9 \u0441\u0435\u0439\u0447\u0430\u0441 \u0433\u043b\u044e\u043a, \u0435\u0441\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c  association \u044d\u0442\u043e \u043b\u043e\u043c\u0430\u0435\u0442 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u044e \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439 com.evolveum.midpoint.xml.ns._public.common.common_3.VariableBindingDefinitionType.getPath()&#187; because &#171;sourceType&#187; is null <a href=\"https:\/\/support.evolveum.com\/projects\/midpoint\/work_packages\/9932\" rel=\"noopener noreferrer nofollow\">support.evolveum.com\/projects\/midpoint\/work_packages\/9932<\/a> \u043e\u0431\u0435\u0449\u0430\u044e\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432 4.9.1<\/p>\n<p>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430\u043d\u0443\u0442\u044c Midpoint \u0438 \u0442\u0430\u043a\u0436\u0435 \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u0434\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 Shadow \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u0435.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u0434\u0451\u043c \u0432 \u0430\u0440\u0445\u0435\u0442\u0438\u043f\u044b  Archetypes\\AD Group ArcheType \u0432 \u043a\u043e\u0434 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0434 &lt;\/archetype&gt;<\/p>\n<p>\u041a\u043e\u0434<\/p>\n<pre><code class=\"xml\">&lt;inducement id=\"7\"&gt;         &lt;construction&gt;             &lt;resourceRef oid=\"b8618fba-cf8b-416c-8e3b-32ea34cf003d\" relation=\"org:default\" type=\"c:ResourceType\"&gt;                 &lt;!-- Windows MS AD --&gt;             &lt;\/resourceRef&gt;             &lt;kind&gt;account&lt;\/kind&gt;             &lt;intent&gt;intent  MS AD account&lt;\/intent&gt;             &lt;association id=\"28\"&gt;                 &lt;ref&gt;AD group membership to Midpoint&lt;\/ref&gt;                 &lt;outbound&gt;                     &lt;expression&gt;                         &lt;associationFromLink&gt;                             &lt;projectionDiscriminator xsi:type=\"c:ShadowDiscriminatorType\"&gt;                                 &lt;kind&gt;entitlement&lt;\/kind&gt;                                 &lt;intent&gt;intent MS AD group&lt;\/intent&gt;                             &lt;\/projectionDiscriminator&gt;                         &lt;\/associationFromLink&gt;                     &lt;\/expression&gt;                 &lt;\/outbound&gt;             &lt;\/association&gt;         &lt;\/construction&gt;         &lt;order&gt;2&lt;\/order&gt;         &lt;focusType&gt;UserType&lt;\/focusType&gt;     &lt;\/inducement&gt;<\/code><\/pre>\n<p>OID\u00a0\u2014 \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Windows MS AD<\/p>\n<p>AD group membership to Midpoint\u00a0\u2014 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0438\u043c \u0436\u0435, \u043a\u0430\u043a \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0433\u0434\u0435 \u0440\u043e\u043b\u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u043a \u043a\u043e\u043c\u0443 \u0438 \u043a\u0430\u043a \u043f\u0440\u0438\u0446\u0435\u043f\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0451\u043c, \u0432 AD \u0433\u0440\u0443\u043f\u043f\u0443 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432 \u043d\u0435\u0451 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u044e Schema Handling\\Object type\\MS AD Group<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Resources\\Windows MS AD\\Defined Task \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0442\u0430\u0441\u043a, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c Kind \u0438 Intent \u0438 \u0431\u0443\u0434\u0435\u043c \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0437\u0435\u043b\u0451\u043d\u043e (\u0441\u043f\u0440\u0430\u0432\u0430 \u0432\u0432\u0435\u0440\u0445\u0443) \u0442\u043e \u043e\u043a, \u0435\u0441\u043b\u0438 \u043a\u0440\u0430\u0441\u043d\u043e, \u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432 task\u2019\u0435 \u0432  Result \u0438 Errors.<\/p>\n<p>\u0420\u043e\u043b\u044c, \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u043a \u0433\u0440\u0443\u043f\u043f\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c, \u043d\u043e \u0447\u043b\u0435\u043d\u043e\u0432 \u0432 \u043d\u0435\u0439 \u043d\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c94\/674\/ac4\/c94674ac49d8c772ffd61ac22af02e96.png\" width=\"1375\" height=\"665\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c94\/674\/ac4\/c94674ac49d8c772ffd61ac22af02e96.png\"\/><\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Schema Handling\\Object type\\MS AD Account \u0438 \u0432\u0441\u0451 \u0443 \u0432\u0441\u0435\u0445 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f<\/p>\n<p>\u0423 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0440\u043e\u043b\u044c<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/536\/e0d\/0bc\/536e0d0bcc908fd029fde6af3d270406.png\" width=\"1375\" height=\"736\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/536\/e0d\/0bc\/536e0d0bcc908fd029fde6af3d270406.png\"\/><\/figure>\n<p> \u0423 \u0440\u043e\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/006\/cc1\/000\/006cc100021a94cf08a99a6ea0a618d0.png\" width=\"1375\" height=\"946\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/006\/cc1\/000\/006cc100021a94cf08a99a6ea0a618d0.png\"\/><\/figure>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e \u043f\u0440\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u043d \u0435\u0441\u0442\u044c \u0432 AD \u0433\u0440\u0443\u043f\u043f\u0435 \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u0442 \u0435\u0449\u0451 \u0440\u043e\u043b\u0438 \u0432 Midpoint &#8212; \u0432\u044b\u0434\u0430\u0447\u0438 \u043d\u0435 \u0441\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0436\u0434\u0430\u0442\u044c \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u0438 \u0433\u0440\u0443\u043f\u043f \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041d\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0443\u0441\u0442\u0443\u044e (\u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u043a AD \u0433\u0440\u0443\u043f\u043f\u0435) \u0440\u043e\u043b\u044c \u0434\u043b\u044f  AD \u0433\u0440\u0443\u043f\u043f\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Midpoint \u0435\u0441\u0442\u044c createOnDemand \u0438 populateObject<\/p>\n<p>\u041c\u0435\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u0430 \u0432  Schema Handling\\Object type\\MS AD Account \u043d\u0430<\/p>\n<pre><code class=\"xml\">&lt;association id=\"306\"&gt;                 &lt;ref&gt;AD group membership to Midpoint&lt;\/ref&gt;                 &lt;inbound id=\"478\"&gt;                     &lt;strength&gt;normal&lt;\/strength&gt;                     &lt;channel&gt;http:\/\/midpoint.evolveum.com\/xml\/ns\/public\/common\/channels-3#reconciliation&lt;\/channel&gt;                     &lt;expression&gt;                         &lt;assignmentTargetSearch&gt;                             &lt;targetType&gt;RoleType&lt;\/targetType&gt;                             &lt;filter&gt;                                 &lt;q:equal&gt;                                     &lt;q:path&gt;identifier&lt;\/q:path&gt;                                     &lt;expression&gt;                                         &lt;script&gt;                                             &lt;code&gt;                                                 return basic.getAttributeValue(entitlement, 'dn')                                             &lt;\/code&gt;                                         &lt;\/script&gt;                                     &lt;\/expression&gt;                                 &lt;\/q:equal&gt;                             &lt;\/filter&gt;                             &lt;createOnDemand&gt;true&lt;\/createOnDemand&gt;                             &lt;populateObject&gt;                                 &lt;populateItem&gt;                                     &lt;expression&gt;                                         &lt;script&gt;                                             &lt;code&gt;                                                 \"ADG:\" + basic.getAttributeValue(entitlement, 'cn')                                             &lt;\/code&gt;                                         &lt;\/script&gt;                                     &lt;\/expression&gt;                                     &lt;target&gt;                                         &lt;path&gt;name&lt;\/path&gt;                                     &lt;\/target&gt;                                 &lt;\/populateItem&gt;                                 &lt;populateItem&gt;                                     &lt;expression&gt;                                         &lt;script&gt;                                             &lt;code&gt;                                                 basic.getAttributeValue(entitlement, 'dn')                                             &lt;\/code&gt;                                         &lt;\/script&gt;                                     &lt;\/expression&gt;                                     &lt;target&gt;                                         &lt;path&gt;identifier&lt;\/path&gt;                                     &lt;\/target&gt;                                 &lt;\/populateItem&gt;                                 &lt;populateItem&gt;                                     &lt;expression&gt;                                         &lt;assignmentTargetSearch&gt;                                             &lt;targetType&gt;ArchetypeType&lt;\/targetType&gt;                                             &lt;filter&gt;                                                 &lt;q:equal&gt;                                                     &lt;q:path&gt;name&lt;\/q:path&gt;                                                     &lt;expression&gt;                                                         &lt;value&gt;AD Group ArcheType&lt;\/value&gt;                                                     &lt;\/expression&gt;                                                 &lt;\/q:equal&gt;                                             &lt;\/filter&gt;                                         &lt;\/assignmentTargetSearch&gt;                                     &lt;\/expression&gt;                                     &lt;target&gt;                                         &lt;path&gt;assignment&lt;\/path&gt;                                     &lt;\/target&gt;                                 &lt;\/populateItem&gt;                             &lt;\/populateObject&gt;                         &lt;\/assignmentTargetSearch&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;assignment&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;                 &lt;kind&gt;entitlement&lt;\/kind&gt;                 &lt;intent&gt;intent MS AD group&lt;\/intent&gt;                 &lt;direction&gt;objectToSubject&lt;\/direction&gt;                 &lt;associationAttribute&gt;ri:member&lt;\/associationAttribute&gt;                 &lt;valueAttribute&gt;ri:dn&lt;\/valueAttribute&gt;                 &lt;explicitReferentialIntegrity&gt;false&lt;\/explicitReferentialIntegrity&gt;             &lt;\/association&gt;<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0432\u044b\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b AD \u043f\u0440\u0438 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0440\u043e\u043b\u044c AD\u00a0\u2014 \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0441\u0451 \u043f\u043e\u043b\u0443\u0447\u0438\u0442, \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0442\u043e \u0440\u043e\u043b\u044c \u0441\u0442\u0430\u043d\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 AD \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u0438 AD \u0433\u0440\u0443\u043f\u043f.<\/p>\n<p>\u0410\u00a0\u0432\u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u00a0\u2014 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0447\u0442\u043e\u0431\u044b \u0443\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u00a0\u0431\u044b\u043b\u043e \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u00a0AD \u0433\u0440\u0443\u043f\u043f\u0430\u0445, \u0432\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043d \u0435\u0441\u0442\u044c \u0432\u00a0\u0440\u043e\u043b\u044f\u0445 \u0432\u00a0Midpoint \u043f\u043e\u0434\u00a0\u044d\u0442\u0438 \u0440\u043e\u043b\u0438. \u0422\u043e \u0435\u0441\u0442\u044c  \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e AD \u0433\u0440\u0443\u043f\u043f\u044b \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 \u0440\u043e\u043b\u0438 \u0432 Midpoint, \u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u044c AD \u0431\u0443\u0434\u0443\u0442 \u0443\u0434\u0430\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 Midpoint.  <\/p>\n<p>\u041c\u0435\u043d\u044f\u0435\u043c \u043a\u043e\u0434 \u0447\u043b\u0435\u043d\u0441\u0442\u0432\u0430 \u0432  Schema Handling\\Object type\\MS AD Account \u043d\u0430<\/p>\n<pre><code class=\"xml\">&lt;association id=\"306\"&gt;                 &lt;ref&gt;AD group membership to Midpoint&lt;\/ref&gt;                 &lt;tolerant&gt;false&lt;\/tolerant&gt;                 &lt;kind&gt;entitlement&lt;\/kind&gt;                 &lt;intent&gt;intent MS AD group&lt;\/intent&gt;                 &lt;direction&gt;objectToSubject&lt;\/direction&gt;                 &lt;associationAttribute&gt;ri:member&lt;\/associationAttribute&gt;                 &lt;valueAttribute&gt;ri:dn&lt;\/valueAttribute&gt;                 &lt;explicitReferentialIntegrity&gt;false&lt;\/explicitReferentialIntegrity&gt;             &lt;\/association&gt;<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0435 \u0442\u043e\u043b\u0435\u0440\u0430\u043d\u0442\u043d\u043e\u0441\u0442\u044c &lt;tolerant&gt;false&lt;\/tolerant&gt;<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044e  Schema Handling\\Object type\\MS AD Account \u0438 \u0432\u0441\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 AD, \u043d\u043e \u0438\u0445 \u043d\u0435\u0442 \u0432 \u0432\u0438\u0434\u0435 \u0440\u043e\u043b\u0435\u0439 \u0443 \u043d\u0435\u0433\u043e \u0432 Midpoint \u0438\u0441\u0447\u0435\u0437\u043b\u0438. \u0414\u0430 \u043c\u044b \u0434\u0430\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u043e \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 \u0432 History (\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0438\u043a\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f)!<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6af\/925\/8b1\/6af9258b185e5cacd1d2cd80591d63dc.png\" width=\"1834\" height=\"1401\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6af\/925\/8b1\/6af9258b185e5cacd1d2cd80591d63dc.png\"\/><\/figure>\n<p>\u0415\u0449\u0451\u0441\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u00a0\u0433\u0440\u0443\u043f\u043f\u0430\u0445\u00a0\u2014 Midpoint \u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e\u00a0\u043c\u044b \u043e\u0442\u00a0\u043d\u0435\u0433\u043e \u0445\u043e\u0442\u0438\u043c\u00a0\u2014 \u0435\u0441\u043b\u0438 \u043c\u044b \u0432\u044b\u0434\u0430\u0451\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0440\u043e\u043b\u044c AD \u0433\u0440\u0443\u043f\u043f\u044b, \u043e\u043d \u043d\u0430\u043c \u043c\u043e\u043b\u0447\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e AD \u0443\u0447\u0451\u0442\u043a\u0443, \u0447\u0442\u043e\u00a0\u0432\u043e\u0442 \u043d\u0430\u0441 \u0432\u00a0\u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u00a0\u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u00a0nickName \u043d\u0435\u00a0\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0431\u0435\u0437\u00a0\u0440\u043e\u043b\u0438 MS AD account 2.0. \u0418 \u0435\u0441\u043b\u0438 \u043c\u044b \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0440\u043e\u043b\u044c MS AD account 2.0, \u043d\u043e\u00a0\u0443\u00a0\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0435\u0441\u0442\u044c AD\u2011\u0440\u043e\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u0430 \u0442\u043e \u0443\u0447\u0451\u0442\u043a\u0430 AD \u0443\u00a0\u043d\u0435\u0433\u043e \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f.<\/p>\n<p>\u042d\u0442\u043e \u0434\u0430\u0436\u0435 \u043d\u0435\u00a0\u043c\u0438\u043d\u0443\u0441, \u0430\u00a0\u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f\u00a0\u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u0438\u0445 IDM \u0433\u0440\u0430\u0431\u0435\u043b\u044c, \u043d\u043e\u00a0\u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u043c Policy, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0435\u0449\u0435 SOD\u00a0\u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u0432\u00a0Midpoint \u0434\u043b\u044f\u00a0SOD \u043d\u0435\u0442, \u043d\u043e\u00a0\u0432\u043e\u0442 \u043f\u043e\u00a0\u0441\u043c\u044b\u0441\u043b\u0443 \u044d\u0442\u043e Policy.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 AD \u0433\u0440\u0443\u043f\u043f\u0443 \u0440\u043e\u043b\u044c, \u0442\u043e \u043e\u043d\u0430 \u043d\u0435 \u0432\u044b\u0434\u0430\u0451\u0442\u0441\u044f, \u0430 administrator \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 case \u043d\u0430 \u0440\u0430\u0437\u0431\u043e\u0440.<\/p>\n<p>\u0412 \u0430\u0440\u0445\u0435\u0442\u0438\u043f \u0433\u0440\u0443\u043f\u043f Archetypes\\AD Group ArcheType \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 inducement \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u043a\u043e\u0434\u043e\u043c<\/p>\n<pre><code class=\"xml\">&lt;inducement id=\"30\"&gt;         &lt;policyRule&gt;             &lt;name&gt;User must have role MS AD account 2.0&lt;\/name&gt;             &lt;policyConstraints&gt;                 &lt;requirement id=\"31\"&gt;                     &lt;targetRef oid=\"1cae659f-69f2-43b8-b075-8226d718eef9\" relation=\"org:default\" type=\"c:RoleType\"&gt;                         &lt;!-- MS AD account 2.0 --&gt;                     &lt;\/targetRef&gt;                 &lt;\/requirement&gt;             &lt;\/policyConstraints&gt;             &lt;policyActions&gt;                 &lt;approval id=\"35\"&gt;                     &lt;approverRef oid=\"00000000-0000-0000-0000-000000000002\" relation=\"org:default\" type=\"c:UserType\"&gt;                         &lt;!-- administrator --&gt;                         &lt;_metadata id=\"37\"&gt;                             &lt;provenance&gt;                                 &lt;acquisition id=\"38\"&gt;                                     &lt;actorRef oid=\"00000000-0000-0000-0000-000000000002\" relation=\"org:default\" type=\"c:UserType\"&gt;                                         &lt;!-- administrator --&gt;                                     &lt;\/actorRef&gt;                                     &lt;channel&gt;http:\/\/midpoint.evolveum.com\/xml\/ns\/public\/common\/channels-3#user&lt;\/channel&gt;                                     &lt;timestamp&gt;2024-11-20T06:54:42.638Z&lt;\/timestamp&gt;                                 &lt;\/acquisition&gt;                             &lt;\/provenance&gt;                         &lt;\/_metadata&gt;                     &lt;\/approverRef&gt;                 &lt;\/approval&gt;             &lt;\/policyActions&gt;             &lt;evaluationTarget&gt;assignment&lt;\/evaluationTarget&gt;         &lt;\/policyRule&gt;     &lt;\/inducement&gt;<\/code><\/pre>\n<p> \u0414\u0430 \u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u043e\u0439 \u0432\u043e\u0442<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/245\/dec\/d14\/245decd14d41bc3cb546d1db08505739.png\" width=\"1375\" height=\"1655\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/245\/dec\/d14\/245decd14d41bc3cb546d1db08505739.png\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0434\u0430\u0451\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043b\u044e\u0431\u0443\u044e AD \u0440\u043e\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u0443, \u0435\u0441\u043b\u0438 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u0440\u043e\u043b\u0438 MS AD account 2.0, \u043e\u043d \u0435\u0451 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0432 administrator \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 Case.<\/p>\n<p>administrator \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0432 Cases\\My work items \u0438 \u0432\u0438\u0434\u0438\u0442 \u043e\u0434\u0438\u043d \u043a\u0435\u0439\u0441 <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/624\/ff1\/100\/624ff11008a80e47bd9551fb0ea7018d.png\" width=\"1375\" height=\"1135\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/624\/ff1\/100\/624ff11008a80e47bd9551fb0ea7018d.png\"\/><\/figure>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f administrator \u043f\u043e\u0439\u0442\u0438 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0432\u044b\u0434\u0430\u0442\u044c \u0435\u043c\u0443 \u0433\u0440\u0443\u043f\u043f\u0443  MS AD account 2.0, case \u043d\u0435 \u0443\u043c\u043d\u044b\u0439 \u0441\u0430\u043c \u043d\u0435 \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0434\u0430\u0447\u0438, \u043d\u0430\u0434\u043e \u0437\u0430\u0439\u0442\u0438 \u0432 \u043d\u0435\u0433\u043e \u0438 Approve. \u041d\u0435\u0443\u0434\u043e\u0431\u043d\u043e? \u0414\u0430! \u041d\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u043b\u0438 \u0431\u0435\u0437\u0434\u0443\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 AD \u0441 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043a\u0430\u043a\u0438\u043c nickName, \u0430 \u0432 \u043f\u043b\u0430\u043d\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 &#8212; \u0442\u0443\u0442 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0438 \u0433\u0440\u0430\u0431\u043b\u0438.<\/p>\n<p><strong>IV \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438\u0437 OU MS AD<\/strong><\/p>\n<p>\u041a\u0430\u043a \u0447\u0430\u0441\u0442\u044c \u0440\u043e\u043b\u0435\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u0430 \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430. \u0412\u043e\u0437\u044c\u043c\u0451\u043c OU \u0438\u0437 MS AD, \u043e\u043d\u0438 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0442\u0434\u0435\u043b\u0430\u043c (\u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435). \u0412\u0441\u0435, \u043a\u0442\u043e \u0432 \u043e\u0442\u0434\u0435\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u0440\u043e\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u0430 \u0438 <s>\u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0440\u043e\u043b\u044c \u0434\u0435\u043f\u0430\u0440\u0442\u0430\u043c\u0435\u043d\u0442\u0430<\/s>.  <\/p>\n<p><strong>\u041e\u0414\u041d\u0410\u041a\u041e:<\/strong> \u0421\u043a\u0432\u043e\u0437\u043d\u043e\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0435\u0434\u0438\u043d\u0438\u0446 \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u043a\u0430\u043a \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b. \u0412 Evolveum \u0441\u043e\u043e\u0431\u0449\u0438\u043b. \u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u0432 OrgType inducement \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a assignment, \u0445\u043e\u0442\u044f \u043f\u043e inducement \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e, \u0430 \u043d\u0435 \u0440\u043e\u043b\u0438 &#8212; \u0432 \u044d\u0442\u043e\u043c \u0432\u0441\u044f \u0441\u0443\u0442\u044c Midpoint!<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f \u043f\u043e\u0434 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b. \u0412 Archetypes\\New archetypes \u0438\u043c\u044f AD OU ArcheType \u0438 \u043f\u043e\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0432 Archetypes\\AD Group ArcheType\\Archetype policy\\Display\\Icon \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0432\u043e\u0438\u043c \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f\u043c<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e8e\/9c8\/a63\/e8e9c8a63368bcf814137d815ce1b306.png\" width=\"1375\" height=\"1248\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e8e\/9c8\/a63\/e8e9c8a63368bcf814137d815ce1b306.png\"\/><\/figure>\n<p>\u0418\u0434\u0451\u043c \u0432 \u0440\u0435\u0441\u0443\u0440\u0441 Windows MS AD \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c Object Type \u0432 Resources\\Windows MS AD\\Schema Handling\\Object type\\Add object type<\/p>\n<p>\u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435, \u0438\u043c\u044f MS AD OrgUnit<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/308\/ee5\/819\/308ee581925ac545baece207bbb76e63.png\" width=\"1375\" height=\"1209\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/308\/ee5\/819\/308ee581925ac545baece207bbb76e63.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/774\/518\/983\/774518983c6ffc5bc9fc1c58fec89186.png\" width=\"1375\" height=\"932\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/774\/518\/983\/774518983c6ffc5bc9fc1c58fec89186.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b35\/b50\/6bb\/b35b506bb72ce595d7b2fe3fdbdf48be.png\" width=\"1375\" height=\"905\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b35\/b50\/6bb\/b35b506bb72ce595d7b2fe3fdbdf48be.png\"\/><\/figure>\n<p>Scheme Handling Object Type \u0441\u043e\u0437\u0434\u0430\u043d, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432  Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD OrgUnit<\/p>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u044e \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>Mapping Inbound<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/48b\/5ef\/1c2\/48b5ef1c224518e5976a7ef7145cc4ad.png\" width=\"1375\" height=\"1201\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/48b\/5ef\/1c2\/48b5ef1c224518e5976a7ef7145cc4ad.png\"\/><\/figure>\n<p>Outbound \u043d\u0435\u0442.  <\/p>\n<p>01 in ou &#8212; \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c name \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c<\/p>\n<p><code>\"ADOU:\" + input<\/code><\/p>\n<p>05 in ou &#8212; \u0441\u044e\u0434\u0430 \u043f\u0438\u0448\u0435\u043c \u0432 \u043a\u0430\u043a\u043e\u043c OU \u043d\u0430\u0448\u0430 OU<\/p>\n<p><code>return ((basic.stringify(input).split(',')).tail()).join(',');<\/code><\/p>\n<p> Synchronization<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7d\/78a\/79a\/c7d78a79a2fcc4ebffe902adb367f961.png\" width=\"1375\" height=\"892\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c7d\/78a\/79a\/c7d78a79a2fcc4ebffe902adb367f961.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3da\/158\/b54\/3da158b54b3a8a87a250d9bd17c9a5ac.png\" width=\"1375\" height=\"801\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3da\/158\/b54\/3da158b54b3a8a87a250d9bd17c9a5ac.png\"\/><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/232\/4e4\/9a2\/2324e49a25df6f49a28d67813938de62.png\" width=\"1375\" height=\"750\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/232\/4e4\/9a2\/2324e49a25df6f49a28d67813938de62.png\"\/><\/figure>\n<p>\u041a\u043e\u0434  Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD OrgUnit<\/p>\n<pre><code class=\"xml\">&lt;objectType id=\"878\"&gt;             &lt;kind&gt;generic&lt;\/kind&gt;             &lt;intent&gt;intent MS AD OrgUnit&lt;\/intent&gt;             &lt;displayName&gt;MS AD OrgUnit&lt;\/displayName&gt;             &lt;delineation&gt;                 &lt;objectClass&gt;ri:organizationalUnit&lt;\/objectClass&gt;             &lt;\/delineation&gt;             &lt;focus&gt;                 &lt;type&gt;c:OrgType&lt;\/type&gt;                 &lt;archetypeRef oid=\"fd97bda5-6d7a-41ca-badb-f321fec3d9ff\" relation=\"org:default\" type=\"c:ArchetypeType\"&gt;                     &lt;!-- AD OU ArcheType --&gt;                 &lt;\/archetypeRef&gt;             &lt;\/focus&gt;             &lt;attribute id=\"888\"&gt;                 &lt;ref&gt;ri:cn&lt;\/ref&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"891\"&gt;                 &lt;ref&gt;ri:dn&lt;\/ref&gt;                 &lt;inbound id=\"892\"&gt;                     &lt;name&gt;02 in ou&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;identifier&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;                 &lt;inbound id=\"899\"&gt;                     &lt;name&gt;05 in ou&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;return ((basic.stringify(input).split(',')).tail()).join(',');&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;locality&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"893\"&gt;                 &lt;ref&gt;ri:description&lt;\/ref&gt;                 &lt;inbound id=\"894\"&gt;                     &lt;name&gt;04 in ou&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;description&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;attribute id=\"901\"&gt;                 &lt;ref&gt;ri:ou&lt;\/ref&gt;                 &lt;inbound id=\"902\"&gt;                     &lt;name&gt;01 in ou&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;expression&gt;                         &lt;script&gt;                             &lt;code&gt;\"ADOU:\" + input&lt;\/code&gt;                         &lt;\/script&gt;                     &lt;\/expression&gt;                     &lt;target&gt;                         &lt;path&gt;name&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;                 &lt;inbound id=\"903\"&gt;                     &lt;name&gt;03 in ou&lt;\/name&gt;                     &lt;strength&gt;strong&lt;\/strength&gt;                     &lt;target&gt;                         &lt;path&gt;displayName&lt;\/path&gt;                     &lt;\/target&gt;                 &lt;\/inbound&gt;             &lt;\/attribute&gt;             &lt;correlation&gt;                 &lt;correlators&gt;                     &lt;items id=\"896\"&gt;                         &lt;name&gt;ou corr dn and identifier&lt;\/name&gt;                         &lt;item id=\"897\"&gt;                             &lt;ref&gt;identifier&lt;\/ref&gt;                         &lt;\/item&gt;                     &lt;\/items&gt;                 &lt;\/correlators&gt;             &lt;\/correlation&gt;             &lt;synchronization&gt;                 &lt;reaction id=\"880\"&gt;                     &lt;situation&gt;unmatched&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;addFocus id=\"881\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"882\"&gt;                     &lt;situation&gt;unlinked&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;link id=\"883\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;                 &lt;reaction id=\"884\"&gt;                     &lt;situation&gt;linked&lt;\/situation&gt;                     &lt;actions&gt;                         &lt;synchronize id=\"885\"\/&gt;                     &lt;\/actions&gt;                 &lt;\/reaction&gt;             &lt;\/synchronization&gt;         &lt;\/objectType&gt;<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044e Schema Handling\\Object type\\MS AD OrgUnit \u0440\u0430\u043d\u043e! \u041d\u0430\u043c \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043a\u0430\u043a OU \u0432 Midpoint \u0431\u0443\u0434\u0443\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0435\u0440\u0435\u0432\u043e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0438\u0445 \u0434\u0440\u0443\u0433 \u0432 \u0434\u0440\u0443\u0433\u0430 assignment, \u0431\u0443\u0434\u0435\u043c \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 Object Template \u0432 ArcheType<\/p>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 Object Templates\\New object template \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u0443\u0441\u0442\u043e\u0439 \u043f\u043e\u0434 \u0438\u043c\u0435\u043d\u0435\u043c AD OU Object Template<\/p>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0435\u0433\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 RAW \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c<\/p>\n<p>&lt;\/objectTemplate&gt;<\/p>\n<p>\u041a\u043e\u0434:<\/p>\n<pre><code class=\"xml\">&lt;item id=\"1\"&gt;         &lt;ref&gt;assignment&lt;\/ref&gt;         &lt;displayName&gt;Assignment to OU form locality&lt;\/displayName&gt;         &lt;mapping id=\"9\"&gt;             &lt;source&gt;                 &lt;path&gt;locality&lt;\/path&gt;             &lt;\/source&gt;             &lt;expression&gt;                 &lt;assignmentTargetSearch&gt;                     &lt;targetType&gt;OrgType&lt;\/targetType&gt;                     &lt;filter&gt;                         &lt;q:equal&gt;                             &lt;q:path&gt;identifier&lt;\/q:path&gt;                             &lt;expression&gt;                                 &lt;path&gt;$user\/locality&lt;\/path&gt;                             &lt;\/expression&gt;                         &lt;\/q:equal&gt;                     &lt;\/filter&gt;                     &lt;createOnDemand&gt;true&lt;\/createOnDemand&gt;                     &lt;populateObject&gt;                         &lt;populateItem&gt;                             &lt;expression&gt;                                 &lt;script&gt;                                     &lt;code&gt;                                                locality                                             &lt;\/code&gt;                                 &lt;\/script&gt;                             &lt;\/expression&gt;                             &lt;target&gt;                                 &lt;path&gt;name&lt;\/path&gt;                             &lt;\/target&gt;                         &lt;\/populateItem&gt;                         &lt;populateItem&gt;                             &lt;expression&gt;                                 &lt;script&gt;                                     &lt;code&gt;                                                 locality                                             &lt;\/code&gt;                                 &lt;\/script&gt;                             &lt;\/expression&gt;                             &lt;target&gt;                                 &lt;path&gt;identifier&lt;\/path&gt;                             &lt;\/target&gt;                         &lt;\/populateItem&gt;                         &lt;populateItem&gt;                             &lt;expression&gt;                                 &lt;script&gt;                                     &lt;code&gt;                                                 \"populated\"                                             &lt;\/code&gt;                                 &lt;\/script&gt;                             &lt;\/expression&gt;                             &lt;target&gt;                                 &lt;path&gt;documentation&lt;\/path&gt;                             &lt;\/target&gt;                         &lt;\/populateItem&gt;                         &lt;populateItem&gt;                             &lt;expression&gt;                                 &lt;assignmentTargetSearch&gt;                                     &lt;targetType&gt;ArchetypeType&lt;\/targetType&gt;                                     &lt;filter&gt;                                         &lt;q:equal&gt;                                             &lt;q:path&gt;name&lt;\/q:path&gt;                                             &lt;expression&gt;                                                 &lt;value&gt;AD OU ArcheType&lt;\/value&gt;                                             &lt;\/expression&gt;                                         &lt;\/q:equal&gt;                                     &lt;\/filter&gt;                                 &lt;\/assignmentTargetSearch&gt;                             &lt;\/expression&gt;                             &lt;target&gt;                                 &lt;path&gt;assignment&lt;\/path&gt;                             &lt;\/target&gt;                         &lt;\/populateItem&gt;                     &lt;\/populateObject&gt;                 &lt;\/assignmentTargetSearch&gt;             &lt;\/expression&gt;         &lt;\/mapping&gt;     &lt;\/item&gt;<\/code><\/pre>\n<p>\u0418\u0434\u0451\u043c \u0432 Archetypes\\AD Group ArcheType\\Archetype policy \u0438 \u0432 Object template reference \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c AD OU Object Template<\/p>\n<p>\u0412\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u044f\u0446\u0438\u044e Schema Handling\\Object type\\MS AD OrgUnit.<\/p>\n<p>\u0412 Org.structure\\All organization \u0443 \u043d\u0430\u0441 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0443\u0447\u0430 OU<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d59\/29b\/fe9\/d5929bfe9aead559de818885966c84f1.png\" width=\"1375\" height=\"1861\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d59\/29b\/fe9\/d5929bfe9aead559de818885966c84f1.png\"\/><\/figure>\n<p>\u0410 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043d\u0438 \u0441\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0432 \u0434\u0435\u0440\u0435\u0432\u043e \u0432 Org.structure\\Organization Tree. \u0412\u0441\u0435 \u0447\u0442\u043e \u043d\u0435 \u043f\u043e\u043f\u0430\u043b\u043e \u0432 \u0434\u0435\u0440\u0435\u0432\u043e \u0432 Organization Tree \u0431\u0443\u0434\u0435\u0442 \u0432\u0430\u043b\u044f\u0442\u0441\u044f \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0434\u0435\u0440\u0435\u0432\u044c\u044f\u043c\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fa6\/e4a\/d01\/fa6e4ad0118dff81f95c0cfda6d8ce21.png\" width=\"1375\" height=\"781\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fa6\/e4a\/d01\/fa6e4ad0118dff81f95c0cfda6d8ce21.png\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u0442\u044c \u0432 OU \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u0414\u043b\u044f OU \u0432 MS AD \u043d\u0435\u0442 member, \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a \u0441 \u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 ArcheType \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 Person \u0441\u043e\u0437\u0434\u0430\u0435\u043c Object Template \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u043b\u0435\u0439 \u043f\u043e OU \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 locality.<\/p>\n<p>\u041a \u0430\u0440\u0445\u0435\u0442\u0438\u043f\u0443 Person \u0443\u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d Person Object Template, \u0438\u0434\u0451\u043c \u0432 \u043d\u0435\u0433\u043e \u0432 Object template\\Person Object Template.<\/p>\n<p>\u0412 RAW \u043a\u043e\u0434\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0434 &lt;\/objectTemplate&gt;<\/p>\n<p>\u041a\u043e\u0434:<\/p>\n<pre><code class=\"xml\">&lt;item id=\"1\"&gt;         &lt;ref&gt;assignment&lt;\/ref&gt;         &lt;displayName&gt;Assignment to OU form user locality&lt;\/displayName&gt;         &lt;mapping id=\"9\"&gt;             &lt;name&gt;its a mapping&lt;\/name&gt;             &lt;strength&gt;strong&lt;\/strength&gt;             &lt;source&gt;                 &lt;path&gt;locality&lt;\/path&gt;             &lt;\/source&gt;             &lt;expression&gt;                 &lt;assignmentTargetSearch&gt;                     &lt;targetType&gt;OrgType&lt;\/targetType&gt;                     &lt;filter&gt;                         &lt;q:equal&gt;                             &lt;q:path&gt;identifier&lt;\/q:path&gt;                             &lt;expression&gt;                                 &lt;path&gt;$user\/locality&lt;\/path&gt;                             &lt;\/expression&gt;                         &lt;\/q:equal&gt;                     &lt;\/filter&gt;                 &lt;\/assignmentTargetSearch&gt;             &lt;\/expression&gt;         &lt;\/mapping&gt;     &lt;\/item&gt;<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u0432 MS AD \u0442\u0438\u043f\u043e\u0432\u044b\u0435 \u0440\u043e\u043b\u0438 \u0442\u0438\u043f\u0430 ADG IT Level 1 \u0434\u043e 3. \u0420\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u0438\u043c Schema Handling\\Object type\\MS AD group \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 Midpoint. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b Level 1 \u0438 indecement \u0432 \u0440\u043e\u043b\u044c  ADG:ADG IT Level 1 \u0438 \u0442\u0434 \u0434\u043e 3. \u0422\u0435\u043f\u0435\u0440\u044c \u0432 MS AD \u043a\u043b\u0430\u0434\u0451\u043c \u042e\u043b\u0438\u044e \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432\u043d\u0443 \u0432 OU=Level 1,OU=IT,OU=OOO_ODIN,DC=168testserverhome,DC=com \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0438 \u0432\u0441\u0435 \u043d\u043e\u0432\u044b\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0432 OU=New_Employees,OU=OOO_ODIN,DC=168testserverhome,DC=com.  \u0420\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u0438\u043c Schema Handling\\Object type\\MS AD account \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0442\u043e \u0443 \u042e\u043b\u0438\u0438 \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432\u043d\u044b \u0432 All accesses<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/543\/ec5\/c30\/543ec5c306be8e5a00affe8dbf8f106a.png\" width=\"1375\" height=\"1016\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/543\/ec5\/c30\/543ec5c306be8e5a00affe8dbf8f106a.png\"\/><\/figure>\n<p>\u0412\u0438\u0434\u0438\u043c \u043f\u0440\u044f\u043c\u044b\u0435 Direct \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438 \u043d\u0435\u043f\u0440\u044f\u043c\u044b\u0435 \u0438\u0437 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0435\u0434\u0438\u043d\u0446\u044b Level 1 \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0440\u043e\u043b\u044c AD \u0433\u0440\u0443\u043f\u043f\u044b ADG IT Level 1. \u041f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u042e\u043b\u0438\u044e \u0412\u0430\u0441\u0438\u043b\u044c\u0435\u0432\u043d\u0443 \u0432 MS AD \u0432  OU=Level 2,OU=IT,OU=OOO_ODIN,DC=168testserverhome,DC=com  \u0440\u0435\u043a\u043e\u043d\u0441\u0438\u043b\u0438\u043c Schema Handling\\Object type\\MS AD account \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/396\/2d9\/bc4\/3962d9bc446d8b16fa41ff4bf3a190d1.png\" width=\"1375\" height=\"1016\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/396\/2d9\/bc4\/3962d9bc446d8b16fa41ff4bf3a190d1.png\"\/><\/figure>\n<p>\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430 \u0441\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u043d\u0430 Level 2 \u0438 AD \u0440\u043e\u043b\u044c \u0433\u0440\u0443\u043f\u043f\u0430 \u0442\u043e\u0436\u0435 \u0441\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c!<\/p>\n<p><strong>\u0412\u043e\u0442 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e, \u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u043d\u0430\u0447\u0430\u0442\u044c \u0432 Midpoint \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 MS AD!<\/strong><\/p>\n<p>\u0424\u0430\u0439\u043b\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e \u0441\u0442\u0430\u0442\u044c\u0435 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e Midpoint \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 <a href=\"https:\/\/github.com\/icookycom\/Midpoint_IDM_Real_Life.git\" rel=\"noopener noreferrer nofollow\">Github<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/862112\/\"> https:\/\/habr.com\/ru\/articles\/862112\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 IDM Midpoint \u043a Microsoft Active Directory (MS AD) \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0438 \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430, \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442 Evolveum( \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u043d\u0435\u0442, \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0434\u043e\u0441\u043a\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c!<\/p>\n<p><strong>I \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Midpoint<\/strong><\/p>\n<p>\u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0435 Evolveum: <a href=\"https:\/\/docs.evolveum.com\/midpoint\/install\/bare-installation\/distribution\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/install\/bare-installation\/distribution<\/a> <a href=\"https:\/\/docs.evolveum.com\/midpoint\/reference\/support-4.9\/repository\/native-postgresql\/usage\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/reference\/support-4.9\/repository\/native-postgresql\/usage\/<\/a> <a href=\"https:\/\/docs.evolveum.com\/midpoint\/install\/bare-installation\/systemd\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/install\/bare-installation\/systemd\/<\/a><\/p>\n<p>\u0411\u0435\u0440\u0443 Ubuntu 22.04.5 LTS \u0441\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c IP 192.168.1.174<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/p>\n<p><code>sudo apt-get update &amp;&amp; sudo apt-get upgrade<\/code><\/p>\n<p><code>sudo apt install openjdk-21-jdk -y<\/code><br \/>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e<\/p>\n<p> <code>java -version<\/code><\/p>\n<p> openjdk version &#171;21.0.4&#187; 2024-07-16<\/p>\n<p>OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu222.04)<\/p>\n<p>OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu222.04, mixed mode, sharing)<\/p>\n<p> <code>sudo apt install -y postgresql<\/code><\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e (\u043d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c 14)<\/p>\n<p> <code>pg_config --version<\/code><\/p>\n<p> PostgreSQL 14.13 (Ubuntu 14.13-0ubuntu0.22.04.1)<\/p>\n<p> <code>vi \/etc\/postgresql\/14\/main\/postgresql.conf<\/code><\/p>\n<p> \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<pre><code class=\"xml\">listen_addresses = '*' # this is necessary for pg_stat_statements extension shared_preload_libraries = 'pg_stat_statements'  # To log all queries, uncomment the lines below. # Monitor the free disk space afterwards, there is no automatic cleanup! #log_directory = 'pg_log' #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' #log_statement = 'all' #logging_collector = on<\/code><\/pre>\n<p><code>vi \/etc\/postgresql\/14\/main\/pg_hba.conf<\/code><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<pre><code class=\"xml\"># Allow connections from outside (with password) host    all             all             0.0.0.0\/0            md5<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c postgre<\/p>\n<p> <code>sudo systemctl restart postgresql<\/code><\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Midpoint <a href=\"https:\/\/docs.evolveum.com\/midpoint\/release\/\" rel=\"noopener noreferrer nofollow\">docs.evolveum.com\/midpoint\/release\/<\/a><\/p>\n<p>\u042f \u0432\u0437\u044f\u043b 4.9 \u043d\u043e\u0432\u0435\u0439\u0448\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0438 \u043a \u043a\u043e\u043d\u0446\u0443 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u0436\u0430\u043b\u0435\u043b \u0443\u0436\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c&#8230; \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u044f \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438, \u043d\u043e \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043d\u0430 \u043a\u043e\u0439, \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u044f \u043d\u0430\u0434\u0435\u044f\u043b\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0433\u043b\u044e\u043a\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438, \u043d\u043e Evolveum \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043d\u043e\u0432\u044b\u0439! \u041d\u0435 \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0438  \u0434\u0430\u0436\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0432 \u043f\u043b\u0430\u043d\u0435 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f, \u043d\u043e \u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u043b\u0438\u0437\u0438\u0442\u044c!!! \u0412\u0441\u0451 \u043d\u0438\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 4.8.4-4.8.5.<\/p>\n<p><code>cd \/opt<\/code><\/p>\n<p><code>wget https:\/\/evolveum.com\/downloads\/midpoint\/4.9\/midpoint-4.9-dist.tar.gz<\/code><\/p>\n<p><code>tar -xvf midpoint-4.9-dist.tar.gz<\/code><\/p>\n<p><code>mv .\/midpoint-4.9 .\/midpoint<\/code><\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u044e \u0431\u0430\u0437\u0443 \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f Midpoint \u0432 postgresql<\/p>\n<p><code>sudo -i -u postgres psql<\/code><\/p>\n<p><code>CREATE USER midpoint WITH PASSWORD 'password_14968' LOGIN SUPERUSER;<\/code><\/p>\n<p><code>CREATE DATABASE midpoint WITH OWNER = midpoint ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;<\/code><\/p>\n<p><code>\/q<\/code><\/p>\n<p><code>cd \/opt\/midpoint\/doc\/config\/sql\/native<\/code><\/p>\n<p><code>psql -h localhost -d midpoint -U midpoint -f postgres.sql -f postgres-audit.sql -f postgres-quartz.sql<\/code><\/p>\n<p>\u0421\u0442\u0440\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u043c, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0442\u0430\u043a<br \/><code>rm \/opt\/midpoint\/var\/config.xml<\/code><\/p>\n<p><code>cp \/opt\/midpoint\/doc\/config\/config-native.xml \/opt\/midpoint\/var\/config.xml<\/code><\/p>\n<p><code>vi \/opt\/midpoint\/var\/config.xml<\/code><\/p>\n<p>\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043e \u0432\u0438\u0434\u0430<\/p>\n<pre><code class=\"xml\">        &lt;repository&gt;             &lt;type&gt;native&lt;\/type&gt;             &lt;jdbcUrl&gt;jdbc:postgresql:\/\/localhost:5432\/midpoint&lt;\/jdbcUrl&gt;             &lt;jdbcUsername&gt;midpoint&lt;\/jdbcUsername&gt;             &lt;jdbcPassword&gt;password_14968&lt;\/jdbcPassword&gt;         &lt;\/repository&gt;<\/code><\/pre>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a Midpoint<\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh start<\/code><\/p>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 \u043b\u043e\u0433\u0430\u0445, \u0434\u043e\u0441\u0442\u0430\u0435\u043c <\/p>\n<p><code>grep \"Administrator initial password\" \/opt\/midpoint\/var\/log\/midpoint.log<\/code><\/p>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c http:\/\/192.168.1.174:8080\/midpoint\/<\/p>\n<p>\u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e (\u0435\u0441\u043b\u0438 \u043d\u0435\u0442 &#8212; \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u0438\u0448\u0435\u0442 \u0432 \/opt\/midpoint\/var\/log\/midpoint.log), \u0430 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0443\u0442 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435 \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 name  \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u0435\u0439.<\/p>\n<p> \u0412 Repository objects &gt; All objects \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c SystemConfiguration<\/p>\n<p> \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u044d\u0433<\/p>\n<p> <code>&lt;internals&gt;<\/code><\/p>\n<p> \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c<\/p>\n<pre><code class=\"xml\"> &lt;polyStringNormalizer&gt;   &lt;className&gt;PassThroughPolyStringNormalizer&lt;\/className&gt;   &lt;\/polyStringNormalizer&gt;<\/code><\/pre>\n<p> \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 Midpoint  <\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh stop<\/code><\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh start<\/code><\/p>\n<p>  \u041d\u0430\u0434\u043e \u0432 Midpoint \u0432 About \u043d\u0430\u0436\u0430\u0442\u044c Reindex Repository Object<\/p>\n<figure class=\"full-width\"><\/figure>\n<p> \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Midpoint \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Ubuntu \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c<\/p>\n<p><code>sudo -i<\/code><\/p>\n<p><code>\/opt\/midpoint\/bin\/midpoint.sh generate<\/code><\/p>\n<p>\u041d\u0430\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043a\u043e\u0434, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 midpoint.sh \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c  \u0432 \u0444\u0430\u0439\u043b<\/p>\n<p><code>vi \/etc\/systemd\/system\/midpoint.service<\/code><\/p>\n<p> \u043a\u043e\u0434<\/p>\n<pre><code class=\"xml\">[Unit] Description=MidPoint Standalone Service  [Service] User=root WorkingDirectory=\/opt\/midpoint ExecStart=\"java\" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms2048M -Xmx4096M -Dpython.cachedir=\"\/opt\/midpoint\/var\/tmp\" -Djavax.net.ssl.trustStore=\"\/opt\/midpoint\/var\/keystore.jceks\" -Djavax.net.ssl.trustStoreType=jceks -Dmidpoint.home=\"\/opt\/midpoint\/var\" -jar \"\/opt\/midpoint\/lib\/midpoint.jar\" SuccessExitStatus=143  [Install] WantedBy=multi-user.target<\/code><\/pre>\n<p>\u0438 \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c<\/p>\n<p><code>sudo systemctl daemon-reload  <\/code><\/p>\n<p><code>sudo systemctl enable midpoint<\/code><\/p>\n<p>\u041d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Midpoint \u0437\u0430\u043f\u043e\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0441\u0430\u043c, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c<\/p>\n<p><code>sudo systemctl stop midpoint<\/code><\/p>\n<p><code>sudo systemctl start midpoint<\/code><\/p>\n<p>\u0438\u043b\u0438<\/p>\n<p><code>sudo systemctl restart midpoint<\/code><\/p>\n<p><strong>\u041e\u0414\u041d\u0410\u041a\u041e:<\/strong> \u0427\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u043b\u0438\u0437\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u043e\u0432\u044b\u0439 AD \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440 \u0432 4.9 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 MS AD. Evolveum \u0432\u0438\u043d\u0438\u0442 Microsoft, \u044f \u0432\u0438\u043d\u044e Evalveum \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 AD \u043e\u043d\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 Open LDAP \u0438 \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0447\u0442\u043e \u0432 MS AD \u0442\u0430\u043a \u0436\u0435! ADLDAP connector LDAP error during search: operationsError: 00002120: SvcErr: DSID-03120496, problem 5012 (DIR_ERROR), data 592060?? (1) <a href=\"https:\/\/support.evolveum.com\/projects\/midpoint\/work_packages\/10207\/activity\" rel=\"noopener noreferrer nofollow\">support.evolveum.com\/projects\/midpoint\/work_packages\/10207\/activity<\/a><\/p>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0436\u0435 \u043d\u0435\u0442 \u0432 4.9<\/p>\n<p><code>cd \/opt\/midpoint\/var\/connid-connectors<\/code><\/p>\n<p><code>wget https:\/\/nexus.evolveum.com\/nexus\/repository\/releases\/com\/evolveum\/polygon\/connector-ldap\/3.7.2\/connector-ldap-3.7.2.jar<\/code><\/p>\n<p>\u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0440\u0443\u0442\u0435\u043c Midpoint<\/p>\n<p><code>sudo systemctl restart midpoint<\/code><\/p>\n<p> <strong>II \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Midpoint \u043a MS AD<\/strong><\/p>\n<p>\u0411\u0435\u0440\u0435\u043c Windows Server 2019 (\u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e 180 \u0434\u043d\u0435\u0439) &#8212; \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0440\u043e\u043b\u0438 AD \u0438 Certification Authority  <\/p>\n<p>Midpoint \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043f\u043e LDAPS \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c Windows Server 2019 \u043f\u043e \u043b\u044e\u0431\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430 \u0441\u043b\u043e\u0432\u0430 Step by step guide to setup LDAPS on Windows Server  <\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442a\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0444\u0430\u0439\u043b \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 WindowsMSAD.cer, \u0437\u0430\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 Midpoint \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0432 \u0435\u0433\u043e keystore<\/p>\n<p>sudo keytool -ke<code>ystore \/opt\/midpoint\/var\/keystore.jceks -storetype jceks -storepass changeit -import -alias WindowsMSAD -trustcacerts -file .\/WindowsMSAD.cer<\/code><\/p>\n<p><code>sudo systemctl restart midpoint<\/code><\/p>\n<p>\u041d\u0430  Windows Server 2019 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f midpoint, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0432 \u0433\u0440\u0443\u043f\u043f\u0443 Domain Admins<\/p>\n<p> \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c Resource \u0432 Midpoint<\/p>\n<p>\u0412 Resource\\New Resorce\\From Scratch \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c AdLdapConnector 3.7.2<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c, \u0438\u043c\u044f Windows MS AD  <\/p>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<p>Bind DN \u0438 password &#8212; \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f AD midpoint<\/p>\n<p>\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c Base context, \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0434\u0430\u0451\u0442, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u043e\u0442\u043e\u043c.<\/p>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<p>\u0422\u0443\u0442 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0447\u0442\u043e \u043c\u044b \u0431\u0435\u0440\u0451\u043c \u0438\u0437 AD, \u0438 \u0432\u043e\u0442 \u044d\u0442\u043e \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c<\/p>\n<p>\u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0440\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 Midpoint<\/p>\n<p><code>user<\/code><\/p>\n<p><code>group<\/code><\/p>\n<p><code>msDS-ManagedServiceAccount<\/code><\/p>\n<p>\u0432\u0437\u044f\u043b \u0435\u0449\u0435 OU \u0431\u0443\u0434\u0443 \u0438\u0437 \u043d\u0438\u0445 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u043e\u043b\u0435\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c<\/p>\n<p><code>organizationalUnit<\/code><\/p>\n<p>\u0420\u0435\u0441\u0443\u0440\u0441 \u0433\u043e\u0442\u043e\u0432, \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u0443\u0441\u0442\u043e\u0439, \u043d\u0430 \u043d\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c Test connection &#8212; \u0445\u043e\u0440\u043e\u0448\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0451 \u0437\u0435\u043b\u0451\u043d\u043e\u0435!<\/p>\n<figure class=\"full-width\"><\/figure>\n<p> <strong>III \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 Midpoint  \u043a \u0443\u0447\u0451\u0442\u043a\u0430\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 MS AD<\/strong><\/p>\n<p>\u041d\u0430\u0448\u0430 \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 AD \u0431\u0443\u0434\u0435\u0442 \u0442\u0430\u043a\u043e\u0439.<\/p>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0432 Midpoint \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u043b\u0438 \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u0430, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u0433\u043e \u043a \u043a\u0430\u0434\u0440\u043e\u0432\u043e\u043c\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0444\u0430\u0439\u043b CSV, DB, \u0438\u043b\u0438 \u0432\u0430\u0448 \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u044b\u0439 \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440.  <\/p>\n<p>\u0423 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 Midpoint \u0432\u0438\u0434\u0438\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u044e \u0443\u0447\u0451\u0442\u043a\u0443 AD \u0441 \u0442\u0430\u043a\u0438\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c, \u0442\u043e \u043e\u043d \u044d\u0442\u0438 \u0434\u0432\u0435 \u0443\u0447\u0451\u0442\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442.  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c Midpoint \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u043a\u0438 \u0432 AD, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0440\u043e\u043b\u044c \u0441\u0434\u0435\u043b\u0430\u0439 \u0443\u0447\u0451\u0442\u043a\u0443 AD, \u0442\u043e \u0443\u0447\u0451\u0442\u043a\u0430 \u0432 AD \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 name \u0434\u043b\u044f AD \u0438 Midpoint.<\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0410\u0440\u0445\u0435\u0442\u0438\u043f \u0438\u043c \u043d\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d (\u0447\u0451\u0440\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435), \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u0447\u0442\u043e\u0431\u044b  \u0430\u0440\u0445\u0435\u0442\u0438\u043f \u0431\u044b\u043b \u0441\u0440\u0430\u0437\u0443 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435, \u043a\u0430\u043a \u0438 \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 AD \u0443\u0447\u0451\u0442\u043a\u0438 \u0441\u043c. \u043a\u043e\u043d\u0435\u0446 \u0433\u043b\u0430\u0432\u044b III.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0418\u0434\u0435\u043c \u0432 \u0440\u0435\u0441\u0443\u0440\u0441 Windows MS AD \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c Object Type \u0432 Resources\\Windows MS AD\\Schema Handling\\Object type\\Add object type<\/p>\n<p> \u0417\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445, \u0438\u043c\u044f MS AD account<\/p>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<figure class=\"full-width\"><\/figure>\n<p>\u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0443\u0447\u0451\u0442\u043a\u0438 \u0432\u044b\u0434\u0430\u0451\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f Person, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0432\u0441\u0451 \u0440\u0430\u0441\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043f\u043e \u0441\u0432\u043e\u0438\u043c \u0430\u0440\u0445\u0435\u0442\u0438\u043f\u0430\u043c, \u044d\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438.  <\/p>\n<p>Scheme Handling Object Type \u0441\u043e\u0437\u0434\u0430\u043d \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0435\u0433\u043e. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432  Resources\\Windows MS AD\\Schema Handling\\Object type\\MS AD account<\/p>\n<p>\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u044e \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445, \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438<\/p>\n<p>Mapping Inbound<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0412 4.9 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 mappings. \u041f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043a\u0440\u0443\u0436\u043e\u0447\u043a\u0438 &#8212; \u0441\u0438\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u0430\u043f\u043f\u0438\u043d\u0433 \u0447\u0451\u0440\u043d\u044b\u0439, \u0441\u043b\u0430\u0431\u044b\u0439 \u0431\u0435\u043b\u044b\u0439. Name \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0442\u0430\u043b \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u043d\u0435\u043b\u044c\u0437\u044f \u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c!!!<\/p>\n<p>01 in &#8212; \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438, \u044d\u0442\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u0430\u043f\u043f\u0438\u043d\u0433\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u0432 Use for<\/p>\n<p>02 in &#8212; \u0445\u043e\u0447\u0443 \u043f\u0438\u0441\u0430\u0442\u044c sAMAccountName \u0432 nickName \u0432 Midpoint, \u043d\u043e \u0441\u043b\u0430\u0431\u043e \u0445\u043e\u0447\u0443, \u0435\u0441\u043b\u0438 \u0443\u0436\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e, \u0442\u043e \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c &#8212; \u044d\u0442\u043e \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u044f, \u043a\u043e\u0433\u0434\u0430 \u0443 \u043d\u043e\u0432\u043e\u0433\u043e  c \u043f\u0443\u0441\u0442\u044b\u043c nickName \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 Midpoint \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0443\u0447\u0451\u0442\u043a\u0430 \u0432 AD<\/p>\n<p>03 in &#8212; \u0445\u043e\u0447\u0443 \u043f\u0438\u0441\u0430\u0442\u044c sAMAccountName \u0432 name \u0432 Midpoint, \u0430 \u0432\u043e\u0442 \u044d\u0442\u043e \u0443\u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0445\u043e\u0447\u0443. \u0412 Midpoint Name \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043b\u043e\u0433\u0438\u043d\u0430 \u0432 \u0435\u0433\u043e GUI \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u043d \u0432 AD , \u0442\u0430\u043a \u0447\u0442\u043e  \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b.<\/p>\n<p>04 in write OU to locality &#8212; \u043f\u0438\u0449\u0443\u0442 dn \u0431\u0435\u0437 cn \u0432 locality \u0434\u043b\u044f \u0434\u0430\u043b\u0435\u043a\u043e \u0438\u0434\u0443\u0449\u0438\u0445 \u043f\u043b\u0430\u043d\u043e\u0432. \u0421\u043a\u0440\u0438\u043f\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u0443\u0431\u0438\u0440\u0430\u0435\u0442  \u043f\u0435\u0440\u0432\u044b\u0439 cn \u0438\u0437 dn<\/p>\n<pre><code class=\"xml\">return ((basic.stringify(input).split(',')).tail()).join(',');<\/code><\/pre>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 4.8.4 \u0432 4.9 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c:  <\/p>\n<p>basic.stringify &#8212; Evolveum \u0443\u0436\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b \u0447\u0442\u043e \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0442\u0430\u043a \u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c, \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c!<\/p>\n<p>Mapping Outbound<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041c\u0430\u043f\u0438\u043d\u0433\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043d\u043e\u043c\u0435\u0440 \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043b, \u043d\u043e \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043e\u043d\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0435 \u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0430 \u043f\u043e \u0435\u0449\u0451 \u0447\u0435\u043c\u0443-\u0442\u043e.<\/p>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0435 \u043c\u0430\u043f\u0438\u043d\u0433\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u0447\u0435\u0442\u043a\u0438 MS AD \u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c AS IS \u043a\u0440\u043e\u043c\u0435:<\/p>\n<p>06 out new script for OU &#8212; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 OU \u0435\u0441\u043b\u0438 locality \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u0442\u043e \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0442\u0443\u0434\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0440\u0430\u0437\u0435 \u0438 \u043f\u0440\u0438 \u0432\u0441\u0435\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0445. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0442\u0430\u043c \u043f\u0443\u0441\u0442\u043e \u043a\u043b\u0430\u0434\u0451\u0442 \u0432 New_Employees<\/p>\n<p>OU \u0432\u044b\u0434\u0430\u0451\u0442 script<\/p>\n<pre><code class=\"xml\">if (locality)  { dn_value = 'CN=' + nickName + ',' + locality } else { baseContext = basic.getResourceIcfConfigurationPropertyValue(resource, 'baseContext') dn_value = 'CN=' + nickName +<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-440280","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/440280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=440280"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/440280\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=440280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=440280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=440280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}