# Connecting SailPoint and Microsoft Azure SQL Database

To connect SailPoint with Microsoft Azure SQL Database, 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**.

## Connector Files

Upload the .jar file used for the source connection. The current file and upload history are listed below the button.

> [!NOTE]
>
> **Screenshot**
>
> [![Connector Files](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/upload_files.png>)](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/upload_files.png>)

> [!WARNING]
>
> Ensure that the file you upload is not vulnerable or malicious.

1. Drag and drop the file onto the **Upload Files** box to upload it, or select anywhere within the **Upload Files** box to choose the file on your computer.
2. Select **Save**.

## Connection Settings

Enter the credentials needed to connect to and authenticate with the source.

> [!NOTE]
>
> **Screenshot**
>
> [![Connection Settings](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/connection_settings_1.png>)](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/connection_settings_1.png>)
>
> [![Connection Settings authentication](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/connection_settings_2.png>)](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/connection_settings_2.png>)
>
> [![Connection Settings parameters](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/connection_settings_3.png>)](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/img/connection_settings_3.png>)

1. Go to **Connection Settings**.
2. Select an **Authentication Type**:

   - **SQL Authentication** - Connect with a SQL login and password.
   - **Microsoft Entra ID Authentication** - Connect with an App Registration (service principal) using Client ID and Client Secret.
3. Enter the SQL Account **Login Name** used to connect to the Microsoft Azure SQL Database.
4. Enter the **Password** for the associated with the Microsoft Azure SQL Database login name.
5. Enter the **Database URL** to connect to the Microsoft Azure SQL Database. The format is `jdbc:sqlserver://<server_name>:<port_number>`

   Where:

   - `jdbc:sqlserver://` - Known as the sub-protocol and is constant. This is required.
   - `server_name` - The address of the server to connect to.
   - `port_number` - The port to connect to the server. The default is 1433.
6. For Microsoft Entra ID Authentication:

   a. Select a **Grant Type** for OAuth token requests. The default is **Client Credentials**.

   b. Enter the **Tenant ID** for your Microsoft Entra tenant.

   c. Enter the **Client ID** of the App Registration (service principal). The principal must be created as an external user in Azure SQL Database with the permissions the connector needs.

   d. Enter the **Client Secret** for the App Registration.
7. Enter the fully qualified name of the **Driver Class** supported by JDBC. For example, `com.microsoft.sqlserver.jdbc.SQLServerDriver`.
8. In **Additional Connection Parameters**, enter connection parameters as key-value pairs. For example, `encrypt=true`. Press Enter after each parameter to add it to the list.
9. Select **Save**.

## Additional Settings

Configure additional connection parameters for your aggregation.

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

1. Go to **Connection Settings \> Additional Settings**.
2. In the **Aggregation Connection Parameters** field, enter one or more parameters that you want to use in the aggregation in the form of a key-value pair. When entering values, press the **Enter** key to add it to the list of additional parameters. For example, `integratedSecurity=true` or `encrypt=true`.
3. Select **Save**.

## Aggregation Settings

Configure your aggregation settings by completing the fields on this page. For more information about aggregation, refer to [Aggregation](<https://documentation.sailpoint.com/connectors/microsoft/azure_sql_db/va/help/aggregation.html>).

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

> [!NOTE]
>
> If you leave the **Databases to Include** and **Databases to Exclude** fields blank, SailPoint aggregates all server logins and users from all available databases.

1. Go to **Aggregation Settings**.
2. In the **Databases to Include** field, enter a comma-separated list of database names you want to be included in the aggregation and provisioning operations.
3. In the **Databases to Exclude** field, enter a comma-separated list of database names that you want to exclude from the aggregation and provisioning operations.

   > **Important**
   >
   > If the **Databases to Include** field is populated, any input in the **Databases to Exclude** field is ignored.
4. Select the **Aggregate Database Users Without Roles** checkbox to include database users that do not have an assigned role during account aggregation.
5. Select the **Aggregate Fixed Database Roles From Master** checkbox to include fixed database roles from the master database during group aggregation.
6. In the **Fetch Size** field, enter a value to specify the size of the result set buffer returned by the server to the connector. The default value is 1000.
7. Select **Save**.

## 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.
