Is it possible to connect to Azure SQL database the same way as I would with Microsoft SQL Management Studio - the "Active Directory - Password" option.
I followed the instructions from here (JetBrains documentation) but when I select "Use Windows Domain authentication" (as I should for Azure Active Directory) it doesn't let me to enter the credentials as SSMS does.
Everything works fine with SSMS but with DataGrip I have no luck. Is this option just not supported in there?
The solution was posted by https://codejuicer.com/, copied from following blog: https://codejuicer.com/2018/08/29/datagrip-and-azure-sql-server-active-directory-howto/
Step 1: Get A Few Required JARs. The main library you’ll be working
with is ADAL4J
(https://github.com/AzureAD/azure-activedirectory-library-for-java/wiki/ADAL4J-Basics).
The simplest way to do this step, in my opinion, is to use a barebones
Maven pom.xml. That way you don’t have to compile from source and find
all the dependencies manually. Horray!
If you don’t have Maven (https://maven.apache.org/) installed you’ll
need it. If you prefer Gradle, I’m sure the same can be accomplished
with that.
This is what my pom.xml looks like:
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
<build>
<directory>lib</directory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
Now run this command wherever your pom.xml is at:
mvn clean dependency:copy-dependencies
It will create a “lib” directory containing all the jars you need.
Step 2: Add the JARs to the Azure (Microsoft) Driver
1. In the Data Sources and Drivers window (File menu), select the Azure (Microsoft) driver. In the Driver files pane, click the + button
and select “Custom JARs...“
2. Navigate to the JARs fetched in Step 1. Select all of them.
Your screen should look
something like this (aside from the fancy blurs to hide my super
secret info).
Step 3: Altering the Advanced Connection Options There is only one
thing you need to change for Active Directory authentication. The
authentication method. It’s really easy.
At this point, I’m assuming you have an existing connection. If not,
create one and select the Azure (Microsoft) driver.
Navigate to the Advanced tab. I like to sort the options by Name.
However you do it, find the setting named “authentication.”
Click in the Value column and select ActiveDirectoryPassword (if
you’re on Windows™ and use integrated AD… select
ActiveDirectoryIntegrated).
I imagine I don’t have to tell you to “click OK or Apply.”
Success (I hope)! At this point you should be able to log in to your
database instance. Of course, that assumes your credentials and
hostname are correct. I hope this helps!