JetBrains DataGrip - Azure SQL - 连接 Active Directory - 密码

JetBrains DataGrip - Azure SQL - connect with Active Directory - Password

是否可以像使用 Microsoft SQL Management Studio 一样连接到 Azure SQL 数据库 - “Active Directory - 密码 " 选项。

I followed the instructions from here (JetBrains documentation) 但是当我 select “ 使用 Windows 域身份验证 ”(对于 Azure Active Directory 我应该这样做)时它不会不要让我像 SSMS 那样输入凭据。

在 SSMS 上一切正常,但在 DataGrip 上我运气不好。那里不支持这个选项吗?

有可能。

  1. 使用 JTDS 驱动程序,而不是 Microsoft 驱动程序。
  2. 转到数据源属性的高级选项卡,将 USENTLMV2 设置为 true 并在 DOMAIN 字段中指定域名。
  3. 然后在 user/password 字段中输入您的 Active Directory 凭据并单击测试连接。

解决方案由 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!