gpt4 book ai didi

azure - 将 Liquibase 与 Azure SQL 和 Azure Active Directory 身份验证结合使用

转载 作者:行者123 更新时间:2023-12-04 10:26:34 25 4
gpt4 key购买 nike

如何将 Liquibase 与 Azure SQL 数据库和 Azure Active Directory 身份验证结合使用?具体来说,我想使用 ActiveDirectoryPassword 身份验证模式进行连接,如下所述:

https://learn.microsoft.com/en-us/sql/connect/jdbc/connecting-using-azure-active-directory-authentication?view=sql-server-ver15#connecting-using-activedirectorypassword-authentication-mode

我不知道如何调用 Liquibase CLI 来实现这一点。

这可能吗?

最佳答案

我能够让它发挥作用。我对 Java 不太熟悉(我们在 C# 项目中使用 Liquibase),所以我认为一些 Java 部分让我绊倒了。

为了使这项工作成功,我必须做一些事情:

  1. 我需要向发送到 Liquibase 的 URL 添加一些属性:

--url="jdbc:sqlserver://REDACTED.database.windows.net;databaseName=REDACTED;authentication=ActiveDirectoryPassword;encrypt=true;trustServerCertificate=true"

ActiveDirectoryPassword 告诉驱动程序使用我想要的身份验证机制。我还必须添加 encrypt=true 和 trustServerCertificate=true 以避免出现一些 SSL 错误(来自: https://learn.microsoft.com/en-us/sql/connect/jdbc/connecting-with-ssl-encryption?view=sql-server-ver15 )。

  • 我的类路径中需要 MSAL4J (Azure Active Directory) 库。我将它们添加到 liquibase/lib 目录中,以便默认的 Liquibase 启动器脚本将为我添加它们。我也遇到了这个问题,因为我需要使用我们不使用的 Maven。下载Maven后,我使用copy-dependencies插件下载了我需要的依赖项。

    mvn dependency:copy-dependencies

  • 这是我使用的简单的 pom.xml:

    <project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1</version>
    <dependencies>
    <dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>adal4j</artifactId>
    <version>1.6.3</version>
    </dependency>
    </dependencies>
    </project>

    我还将这些依赖项放在 liquibase/lib 目录中,以便它们自动包含在类路径中。 Microsoft 的说明有助于引导我到达正确的位置:

    https://learn.microsoft.com/en-us/sql/connect/jdbc/connecting-using-azure-active-directory-authentication?view=sql-server-ver15#connecting-using-activedirectorypassword-authentication-mode

    此外,不确定是否需要实现我的目标,但我升级到最新的 Liquibase (3.8.7) 和最新的 SQL Server 驱动程序 (8.2):

    https://learn.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15

    关于azure - 将 Liquibase 与 Azure SQL 和 Azure Active Directory 身份验证结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60618475/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com