LDAP
Module ldap
This plugin extracts the following:
- People
- Names, emails, titles, and manager information for each person
- List of groups
Install the Plugin
pip install 'acryl-datahub[ldap]'
Quickstart Recipe
Check out the following recipe to get started with ingestion! See below for full configuration options.
For general pointers on writing and running a recipe, see our main recipe guide
source:
type: "ldap"
config:
# Coordinates
ldap_server: ldap://localhost
# Credentials
ldap_user: "cn=admin,dc=example,dc=org"
ldap_password: "admin"
# Options
base_dn: "dc=example,dc=org"
sink:
# sink configs
Config Details
- Options
- Schema
Note that a .
is used to denote nested fields in the YAML recipe.
View All Configuration Options
Field | Required | Type | Description | Default |
---|---|---|---|---|
ldap_server | ✅ | string | LDAP server URL. | None |
ldap_user | ✅ | string | LDAP user. | None |
ldap_password | ✅ | string | LDAP password. | None |
base_dn | ✅ | string | LDAP DN. | None |
filter | string | LDAP extractor filter. | (objectClass=*) | |
drop_missing_first_last_name | boolean | If set to true, any users without first and last names will be dropped. | True | |
page_size | integer | Size of each page to fetch when extracting metadata. | 20 | |
user_attrs_map | Dict | {} | ||
group_attrs_map | Dict | {} |
The JSONSchema for this configuration is inlined below.
{
"title": "LDAPSourceConfig",
"description": "Config used by the LDAP Source.",
"type": "object",
"properties": {
"ldap_server": {
"title": "Ldap Server",
"description": "LDAP server URL.",
"type": "string"
},
"ldap_user": {
"title": "Ldap User",
"description": "LDAP user.",
"type": "string"
},
"ldap_password": {
"title": "Ldap Password",
"description": "LDAP password.",
"type": "string"
},
"base_dn": {
"title": "Base Dn",
"description": "LDAP DN.",
"type": "string"
},
"filter": {
"title": "Filter",
"description": "LDAP extractor filter.",
"default": "(objectClass=*)",
"type": "string"
},
"drop_missing_first_last_name": {
"title": "Drop Missing First Last Name",
"description": "If set to true, any users without first and last names will be dropped.",
"default": true,
"type": "boolean"
},
"page_size": {
"title": "Page Size",
"description": "Size of each page to fetch when extracting metadata.",
"default": 20,
"type": "integer"
},
"user_attrs_map": {
"title": "User Attrs Map",
"default": {},
"type": "object"
},
"group_attrs_map": {
"title": "Group Attrs Map",
"default": {},
"type": "object"
}
},
"required": [
"ldap_server",
"ldap_user",
"ldap_password",
"base_dn"
],
"additionalProperties": false
}
Code Coordinates
- Class Name:
datahub.ingestion.source.ldap.LDAPSource
- Browse on GitHub
Questions
If you've got any questions on configuring ingestion for LDAP, feel free to ping us on our Slack