|Support provided by||Evolveum|
|Target systems||Active Directory|
AD DS 2012R2
Connector for Active Directory servers based on the LDAP protocol. This connector is the recommended way to connect midPoint with Active Directory servers.
This is a specialized version of the LDAP Connector to support the Active Directory LDAP quirks.
LDAP or LDAPS
Capabilities and Features
|Schema||YES||Including experimental ability to use native AD schema instead of standard LDAP schema.|
Active Directory DirSync synchronization supported.
Activation using the userAccountControl attribute.
Simple Paged Results and VLV
|Native attribute names||YES|
Use ri:dn instead of icfs:name
Use ri:GUID instead of icfs:uid
|Scripting||YES||Command execution and Powershell by using WinRM|
This connector is based on the LDAP Connector which was completely rewritten from scratch during 2015-2016.
|Bundled with midPoint|
Official release (experimental)
|18.104.22.168||Evolveum||April 2016||Official release (stable)|
|22.214.171.124||Evolveum||September 2016||3.4.1||Powershell support. Bundled with midPoint 3.4.1.|
|126.96.36.199||Evolveum||October 2016||188.8.131.52||Improved handling od DNs in AD multi-domain environment. - MID-2926Getting issue details... STATUS|
|1.4.4||Evolveum||April 2017||184.108.40.206||3.5.1||CredSSP and Powershell and Exchange support.|
|1.4.5||Evolveum||3rd July 2017||220.127.116.11||3.6||Powershell improvements.|
|1.5||Evolveum||4th October 2017||18.104.22.168||3.6.1||Powerhell support. Alternative objectclass detection. Logging improvements.|
|1.5.1||Evolveum||11th December 2017||22.214.171.124||3.7||Powerhell fixes.|
|1.6||Evolveum||4th May 2018||126.96.36.199||3.8||Support for CredSSP version 5 and 6 (CVE-2018-0886)|
|1.6.1||Evolveum||17th April 2018||188.8.131.52||TBD||Fix of security vulnerability: missing check of certificate validity.|
|2.0||Evolveum||7th November 2018||184.108.40.206||3.9||Native timestamp support.|
Support for delta-based updates.
Textual representation of SID.
RunAs support that allows password changes using user's own identity.
Additional search filter support.
|2.1||Evolveum||17th April 2019||220.127.116.11||none||Fix of security vulnerability: missing check of certificate validity.|
|2.2||Evolveum||31st May 2019||18.104.22.168||none||Upgrade of Apache Directory API (may fix some connection issues)|
Fixed binary encoding of unicodePwd (MID-5242)
Support for substring filter anchors (MID-5383)
Fixing localization of configuration properties
|2.3||Evolveum||13th August 2019||22.214.171.124||4.0|
Upgrade of Apache Directory API
|2.4||Evolveum||22th November 2019||126.96.36.199||TBD|
Upgrade of Apache Directory API
|3.0||Evolveum||3rd April 2020||188.8.131.52||4.1|
Separated PowerShell to a dedicated PowerShell Connector.
|3.1||Evolveum||20th October 2020||184.108.40.206||4.2|
Additional filter fixes at several places.
|3.2||Evolveum||31st March 2021||220.127.116.11||4.3|
Optional unbind before disconnect
Following versions of Active Directory are supported:
- Active Directory Domain Services (AD DS), Windows Server 2012R2, 2019
Active Directory Lightweight Directory Services (AD LDS) or any other variants of Active Directory or related services are NOT supported.
The connector supports only a subset of the operations that are available by using LDAP protocol and at the same time are documented in public Microsoft documentation. The connector does not claim to support all AD operations and complete AD functionality. Basic provisioning functionality is supported and it is tested in numerous real-world deployments. But advanced functionality may not be supported at all. Active Directory is a complex, proprietary and heavily non-standard system. It is not possible for the connector to support all the available operations. We recommend to conduct a feasibility testing before deploying this connector. In case some connector functionality is missing then we recommend to purchase midPoint platform subscription to cover the functionality gap.
Active Directory 2008 and any of its variants (2008R2) are no longer supported for any new midPoint deployments. Those AD servers may be supported under some circumstances for customers that purchased midPoint subscription before release of midPoint 4.0.2. Please contact Evolveum sales for the details.
- Synchronization based on modifyTimestamp has a simplistic implementation. It does not support SPR, VLV or referral-following functionality. This synchronization method is inherently inefficient and unreliable. It should be used only as a last resort, if no other method is available. Active Directory DirSync method should be preferred whenever available.
MS Exchange Interoperability
Technically, this connector can be used to provision Microsoft Exchange servers in a indirect way by using PowerShell scripts.
Firstly, the Exchange attributes are accessible in Active Directory when the Exchange software is installed. The AD/LDAP connector dynamically discovers AD schema and therefore it will discover presence of these attributes. Then these attributes can be manipulated in a normal way. Please note that some Exchange attributes may not be properly propagated in the AD LDAP schema. In such case there is a workaround to specify these attributes in the
operationalAttributes connector configuration property.
Secondly, since version 18.104.22.168 the connector has support to execute commands and powershell scripts remotely using the WinRM interface. This feature can be used to manage Exchange mailboxes and additional settings. Please see Powershell Support in AD/LDAP Connector page for more details.
However, support for MS Exchange is not included in the "bundled" support for this connector (see below).
This connector is bundled with midPoint distribution. Support for LDAP connector is included in standard midPoint support service (a.k.a bundled support) - however, there are limitations:
- Only some Active Directory versions are supported (see above)
- Only some Active Directory features are supported (see above). The connector does not claim to be feature-complete. We recommend to conduct a feasibility testing before deploying this connector. In case some connector functionality is missing then we recommend to purchase midPoint platform subscription to cover the functionality gap.
- PowerShell scripting implemented in this connector is supposed to be used to supplement creation of Active Directory (windows) accounts by using simple scripts. It is not supposed to be used to manage Microsoft Exchange accounts. Management of Exchange accounts can be quite a complex matter, requiring complicated PowerShell scripts. Support for the use of this connector to manage Exchange accounts has to be purchased separately.
There may be exception to this rule for the customers that purchased support before the release of midPoint 4.0. In case of any doubts please contact Evolveum sales representatives.
The connector itself is available under the terms of Apache License 2.0. The connector is using only the LDAP protocol to access Active Directory. We are not using any Microsoft library or any other component that might be subject to Microsoft licensing. To our best knowledge no extra license is needed to use the connector with Active Directory. However the Microsoft license texts are not entirely clear and we are not lawyers. Therefore it is recommended for each user to make his own analysis of the licensing issues. Please use your Microsoft support program and contact Microsoft with the licensing question when in doubt.
Additional Notes for Provisioning
ConnId Result Handlers
Those "result handlers" are an artifact of an original original Identity Connector Framework over-engineering. The handlers are supposed to assist connectors by implementing "mechanism" that the connector or resource does not support - such as search result filtering, data normalization and so on. However, those handler are generic and they know nothing about the particulars of the resource that the connector connects to. Therefore in vast majority of cases those handlers just get into the way and they distort the data. Good connectors usually do not need those handlers at all. Unfortunately, these handler are enabled by default and there is no way for a connector to tell the framework to turn them off. The handlers needs to be explicitly disabled in the resource configuration.
Please make sure you are using the following
enableAttributesToGetSearchResultsHandler is important to be
false, otherwise you may be unable to see all attributes (just identifiers stored in shadow).
Natural way to use LDAP is to use "short" search filters, such as
(cn=foo). However, such search filter can match objects of several incompatible objectclasses, producing incorrect results. Therefore a strict way to construct a search filter is to always add an objectclass clause to the filter, resulting in
(&(objectclass=inetOrgPerson)(cn=foo)) filter. Use of such search filter ensures that the results will be correct.
This search filter should work flawlessly on servers that are correctly configured and populated. Therefore since connector version 3.2, use of such search filters is tuned on by default. However, such search filters may cause issues on incorrectly configured and/or populated servers. In such case, the behavior can be controlled by
includeObjectClassFilter configuration property.