| `drop_missing_first_last_name` | | `True` | If set to true, any users without first and last names will be dropped. |
| `page_size` | | `20` | Size of each page to fetch when extracting metadata. |
| `user_attrs_map.urn` | | `sAMAccountName` | An attribute to use in constructing the DataHub User urn. This should be something that uniquely identifies the user and is stable over time. |
| `user_attrs_map.managerUrn` | | `manager` | Alternate attrs key representing same information as user's manager in the organization. |
| `user_attrs_map.firstName` | | `givenName` | Alternate attrs key representing same information as user's givenName in the organization. |
| `user_attrs_map.lastName` | | `sn` | Alternate attrs key representing same information as user's sn (surname) in the organization. |
| `user_attrs_map.fullName` | | `cn` | Alternate attrs key representing same information as user's cn (common name) in the organization. |
| `user_attrs_map.email` | | `mail` | Alternate attrs key representing same information as user's mail in the organization. |
| `user_attrs_map.displayName` | | `displayName` | Alternate attrs key representing same information as user's displayName in the organization. |
| `user_attrs_map.departmentId` | | `departmentNumber` | Alternate attrs key representing same information as user's departmentNumber in the organization. |
| `user_attrs_map.departmentName` | | `departmentNumber` | Alternate attrs key representing same information as user's departmentName in the organization. It is defaulted to `departmentNumber` to not impact existing users. New users are recommended to use descriptive attributes like `department` or `departmantName` that may exist. |
| `user_attrs_map.title` | | `title` | Alternate attrs key representing same information as user's title in the organization. |
| `user_attrs_map.countryCode` | | `countryCode` | Alternate attrs key representing same information as user's countryCode in the organization. |
| `group_attrs_map.urn` | | `cn` | Alternate attrs key representing same information as the group's cn (common name) for the LDAP group. |
| `group_attrs_map.email` | | `mail` | Alternate attrs key representing same information as group's mail in the organization. |
| `group_attrs_map.admins` | | `owner` | Alternate attrs key representing same information as group's owner in the organization. |
| `group_attrs_map.members` | | `uniqueMember` | Alternate attrs key representing same information as group's members in the organization. |
| `group_attrs_map.displayName` | | `name` | Alternate attrs key representing same information as group's display name in the organization. |
| `group_attrs_map.description` | | `info` | Alternate attrs key representing same information as group's description in the organization. |
Every organization may implement LDAP slightly differently based on their needs. The makes a standard LDAP recipe ineffective due to missing data during LDAP ingestion. For instance, LDAP recipe assumes department information for a CorpUser would be present in the `departmentNumber` attribute. If an organization chose not to implement that attribute or rather capture similar imformation in the `department` attribute, that information can be missed during LDAP ingestion (even though the information may be present in LDAP in a slightly different form). LDAP source provides flexibility to provide optional mapping for such variations to be reperesented under `user_attrs_map` and `group_attrs_map`. So if an organization represented `departmentNumber` as `department` and `mail` as `email`, the recipe can be adapted to customize that mapping based on need. An example is show below. If `user_attrs_map` section is not provided, the default mapping will apply.