Connecting to a SQL Database in Microsoft Fabric

I have a requirement to connect to a Lakehouse in Microsoft Fabric, using a MSSQL Driver and a Service Principal for authentication. I have proven out that I can connect to the instance over JDBC using the application DbVisualizer. I am using the MSSQL DBC Driver version 12.8 and several other dependencies to connect (shown below):

With the following driver and dependencies I can connect over JDBC using a Service Principal, without issue, using a string like the following:

jdbc:sqlserver://.datawarehouse.fabric.microsoft.com:1433;DatabaseName=;authentication=ActiveDirectoryServicePrincipal;user=;password=

I would like to build a connector in SailPoint that can leverage the same JDBC connection, with the intent of using the DB Connection as an authoritative source for users. I have considered both the “Microsoft Azure SQL Database” connector and the “JDBC SAAS” connector.

For the “Microsoft Azure SQL Database” connector I am limited to uploading only 5 Jar files, so I’m wondering how I would upload all the different Jars shown in my dependency screenshot (See above). Wondering if I can combine all the Jars into one somehow, or if there is a way to increase the number of Jars I am allowed to upload. If anyone has setup something similar, please let me know.

For the JDBC SAAS connector, I was able to ZIP all the Jars into a single file and then upload them using the CLI command: (sail conn customizers upload -c -f ), but I’m unsure if this is the right way to go/if the connector is only expecting 1 Jar file as described in the documentation.

I have had no luck getting a successful Test Connection so far for either source type.

Please let me know if anyone else has setup a JDBC connection leveraging an Azure Service Principal for authentication. I would like to know which source type you used, and how exactly you loaded all the different Jar dependencies for an MSSQL driver.

JDBC SaaS, I assume you looked into this? It supports multiple JARs in one zip, I would assume:

“Use a connectivity customizer to upload the required .jar files for your JDBC SaaS source.”

(Single source, plural files)

There’s additional info here, around the 27 minutes mark:

Hey Terry,

I appreciate the insight.

I am currently trying to get the JDBC SAAS source to work in our environment, but I’m a little unsure on a couple of the steps.

My Questions include:

  1. For the below steps in the JDBC SAAS Connector Documentation, can someone confirm for sure that multiple Jars can be included in this zip file? The plural “Jars” is used at the top of the documentation (as Terry mentioned), but the specific step shown below is singular: “Jar”

    “Upload a JAR File Using Connectivity Customizers” - “Building the Customizer”:
    “Copy the .jar file to the respective directory.”
    “Create a .zip file of your .jar file using the following command”"

  2. For the below steps in the general Customizers SAAS documentation, the steps mention running the command: “npm run pack-zip.” This builds the zip file which is required to upload for the customizer. The JDBC SAAS Connector does not mention this step, but I am wondering if it is still required. If it is required, does this mean I need to provide 2 zip files for the customizer? - One for the Jar file (s) and one with the result of the npm run pack-zip command? Or does the JDBC SAAS source require one zip file uploaded with both?

    “SAAS Connectivity” - “Customizers” - “Build and Upload” - “Build the Customizer”
    Run Command:
    npm run pack-zip

The lack of documentation for this type of setup is very disappointing. Our SailPoint account team has confirmed that we should be able to connect to a Microsoft Fabric Database over JDBC using a Service Principal; however, there is no guidance in the documentation for this kind of setup.