# Connecting SailPoint and Microsoft Lightweight Directory Services

To connect SailPoint with Microsoft Lightweight Directory Services, perform the following tasks:

## Adding the Source in SailPoint

To connect to SailPoint, perform the following steps. Once the connection is made, you can configure it to meet your company's needs.

> [!IMPORTANT]
>
> By default, the provisioning feature is **disabled**, and the connector only supports read-only operations. To support provisioning operations, you must manually enable the feature in the source configuration.

**To configure a new source:**

1. Sign in to SailPoint.
2. Go to **Admin \> Connections \> Sources**.
3. Select **Create New**.
4. Search for the connector by entering the name in the search box, and then select **Configure**.
5. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters.
6. In the **Description** field, provide additional details about the source to help distinguish it from similar sources. This field allows a maximum of 2,000 characters.
7. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two or more letters. For more information, refer to [Assigning a Source Owner](<https://documentation.sailpoint.com/saas/help/sources/index.html#assigning-a-source-owner>).
8. Under **Connection Type**, select **Direct Connection** or **Flat File**.

   - **Direct Connection** - A direct connection fetches data from the **Virtual Appliance Cluster** you choose as the application connector for the source. A direct connection configuration allows for real-time updates. For more information about configuring and deploying virtual appliances, refer to the [Virtual Appliance Reference Guide](<https://documentation.sailpoint.com/saas/help/va/index.html>).
   - **Flat File** - Select the flat file if no connector is available, or if another system restricts the connection. This option allows only reading and aggregating data as a generic/delimited application. Provisioning activity is unsupported, and additional configuration pages like connection settings and aggregation settings are unavailable.
9. If you selected **Direct Connection**, in **Virtual Appliance Cluster**, select the virtual appliance cluster that will be used as the application connector for the source.
10. (Optional) Select a governance group to grant its members [source](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level>) or [role](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-sub-admin-user-level>) sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html>).
11. If this source represents a primary system containing your organization's personnel records, select the **Authoritative Source** checkbox. For more information, refer to [Creating Identity Profiles](<https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html>).
12. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Continue to configure your connected source there.

## Base Configuration

Provide the base configuration parameters. Information you entered in the Create New Source dialog is automatically entered into the fields in the Base Configuration page. You can edit this information if necessary.

1. Enter a unique name and description for the source.
2. In the **Source Owner** dropdown list, select the identity that owns this source.

   - To find a source owner, begin entering their name.
3. In the **Virtual Appliance Cluster** dropdown list, select the virtual appliance to use when communicating with your organization's systems. For more information, refer to [SailPoint Virtual Appliances](<https://documentation.sailpoint.com/saas/help/va/index.html>).
4. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider.

   > **Note**
   >
   > To add a credential provider, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](<https://documentation.sailpoint.com/connectors/help/credential_providers.html>).
5. Configure the authentication to allow SailPoint to connect to the source. Refer to [Connection Settings](<#connection-settings>) for more information.
6. (Optional) In the **Governance Group for Source Management** dropdown list, select a governance group to associate with this source. For more information about governance groups, refer to [Associating Governance Groups with a Source](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source>).
7. (Optional) Choose whether to enable or disable provisioning for the source. Provisioning is disabled by default.

   - **Enable Provisioning** - Set the toggle to **Enabled** to allow the source to create, update, and deactivate accounts in the connected source system.
   - **Disable Provisioning** - Set the toggle to **Disabled** to disable provisioning for the source. Disabling provisioning will prevent the creation, updating, or deactivating of accounts on this source.
8. Select **Save**.

## Connection Settings

Provide the information required for SailPoint to connect and interact with the source.

> [!NOTE]
>
> **Screenshot**
>
> [![Connection Settings](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_conn.png>)](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_conn.png>)

1. Provide the **Service Account** for the instance.
2. Enter the **Password** to use when connecting to the server.
3. Enter the **Hostname or IP Address** of the host machine where the LDS server is running.
4. Enter the **Port** number the server is listening to.
5. Select the **Authorization Type** to use when connecting.

   - **Simple** - Allows you to use a clear text password for the Service Account in the Connection Credentials panel.
   - **None** - No authorization required.
6. If the connection is over TLS, click **Use TLS** to turn it on.

   For more information, refer to [TLS Configuration on Virtual Appliances](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/tls/tls_configuration_on_virtual_appliances.html>).
7. Select **Save**.

## Account and Group Settings

This section contains the information related to the [Accounts](<#account-settings>) and [Groups](<#group-settings>) scope that need to be managed by the configured source.

> [!NOTE]
>
> - The LDAP source does not record the clear text password in diagnostic logs when provisioning to a simple AD. For example, the LDS source will not log a clear text password while provisioning to the AWS AD platform.
> - The schema attributes that are not present in the out-of-the-box schema must be defined as string if not specified otherwise.
> - After Microsoft advisory ADV190023 (LDAP channel Binding and LDAP Signing) configurations are enabled, the LDS features work correctly over the TLS layer. It is mandatory that all source operations are performed over TLS/SASL.

### Account Settings

On the Account and Group Settings page, specify the search scope that will be managed by the configured source.

> [!NOTE]
>
> **Screenshot**
>
> [![Account Settings](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_ag1.png>)](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_ag1.png>)

1. Configure the **Search Scope** within the LDAP directory as follows:

   - **Subtree**: to search the specified Search DN and all containers within it.
   - **Base**: to search only the Search DN.
   - **One Level**: to search the Search DN and the containers one level below it.
2. In the **Search DN** field, enter the distinguished name of the container. For example:

   `ou=people,dc=example,dc=com`
3. The **Group Member Search DN** field represents a multivalued attribute to define the scope for group memberships.
4. The **LDAP Search Filter** is an optional filter in LDAP that limits the results returned by the Search DN.

   For example, the following filter returns all entries that do not represent a person:

   `(! (objectclass=person))`
5. The **Additional Filter** field is an optional filter applied to the results returned by the source. Derived attributes can be included in the filter.

   For example, the following filter string removes users if there is an attribute named deleted and the value is true:

   `deleted == "true"`
6. Select **Save**.

### Group Settings

On the Account and Group Settings page, specify the search scope that will be managed by the configured source.

> [!NOTE]
>
> **Screenshot**
>
> [![Group Settings](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_ag2.png>)](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_ag2.png>)

1. Configure the scope of the search (**Search Scope**) within the directory as follows:

   - **Subtree**: to search the specified Search DN and all containers within it.
   - **Base**: to search only the Search DN.
   - **One Level**: to search the Search DN and the containers one level below it.
2. In the **Search DN** field, enter the distinguished name of the container. For example:

   `ou=people,dc=example,dc=com`
3. The **LDAP Search Filter**, is an optional filter that limits the results returned by the Search DN. For example, the following filter returns all entries that do not represent a person:

   `(! (objectclass=person))`
4. The **Additional Filter** field is an optional filter applied to the results returned by the source. Derived attributes can be included in the filter.

   For example, the following filter string removes users if there is an attribute named deleted and the value is true:

   `deleted == "true"`
5. Select **Save**.

## Additional Configuration

In this section, you can enable/disable Delta Aggregation and configure the scope for deleted objects.

> [!NOTE]
>
> **Screenshot**
>
> [![Additional Configuration](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_add.png>)](<https://documentation.sailpoint.com/connectors/microsoft/lightweight_directory_services/va/help/img/lds_add.png>)

### Deleted Object Container

Specify a value in the Deleted Object Container field to grant permission to the specified object as follows:

`CN=Deleted Objects, DOMAIN`

Where DOMAIN is a place holder for the naming context where the account objects reside. Replace DOMAIN with the corresponding naming context. For example:

`CN=Deleted Objects,dc=sailpoint,dc=com`

## Review and Test

Perform a test to confirm the connection to SailPoint.

1. Go to **Review and Test**.
2. Confirm that the entries in each field are correct.

   If you note any mistakes, return to the section and make corrections.
3. Select **Test Connection**.

## SailPoint Application Onboarding

SailPoint application onboarding enables you to easily onboard new applications and create sources following the successful onboarding of a discovery source. To use this feature, continue to **Discovered Applications** in the SailPoint user interface.

For more information, refer to [Application Onboarding](<https://documentation.sailpoint.com/saas/help/ai/app_onboarding/index.html>) in the SailPoint SaaS documentation.
