LDAP source

The LDAP source provides entities from a LDAP catalog configured by a LDAP system.

It supports the following properties:

Prototype

{
    "type": "ldap",
    "system": "ldap-system-id",
    "search_base": "*",
    "search_filter": "(objectClass=organizationalPerson)",
    "attributes": "*",
    "id_attribute": "cn",
    "page_size": 500,
    "attribute_blacklist": ["a","list","of","attributes","to","exclude"]
}

Properties

Property

Type

Description

Default

Req

system

String

ID of the LDAP system component to use

Yes

search_base

String

The base LDAP search expression to use when looking for records

“*”

search_filter

String

LDAP filter expression to apply to all records found by the search_base expression

“(objectClass=organizationalPerson)”

attributes

String

A wildcard expression specifying which attributes to include in the entity.

“*”

id_attribute

String

Sets which of the LDAP attributes to use for the _id property of a entity.

“cn”

page_size

Integer

The default number of records to read at a time from the LDAP service.

500

attribute_blacklist

List

A list of attribute names (as strings) to exclude from the record when constructing entities.

[]

if_source_empty

Enum<String>

Determines the behaviour of the pipe when the LDAP source does not return any entities. Normally, any previously synced entities will be deleted even if the pipe does not receive any entities from its source. If set to "fail", the pipe will automatically fail if the source returns no entities. This means that any previous entities in the pipe’s dataset are not deleted. If set to "accept", the pipe will not fail and any previously synced entities will be deleted.

The global default global_defaults.if_source_empty can be set for all pipes in the service metadata.

"accept"

Continuation support

See the section on continuation support for more information.

Property

Value

supports_since

false (Fixed)

is_since_comparable

true (Fixed)

is_chronological

false (Fixed)

Example configuration

The outermost object would be your pipe configuration, which is omitted here for brevity:

{
    "source": {
        "type": "ldap",
        "system": "example_ldap",
        "search_base": "ou=Example,dc=example,dc=org"
    }
}