使用基于访问令牌的身份验证连接到Azure SQL

时间:2018-12-04 04:08:21

标签: liquibase

是否可以运行基于基于Azure AD令牌的身份验证(通过使用AD服务主体)连接到Azure SQL的liquibase命令行迁移? (这意味着不会在连接字符串或属性中传递用户名或密码)

我能够运行Java代码,使用here中所述的身份验证方法打开与Azure SQL DB的JDBC连接。

这需要针对AD进行身份验证,并使用ADAL4J库检索访问令牌,然后在调用getConnection()之前将该令牌传递给DataSource对象。

代码摘录:

SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("aad-managed-demo.database.windows.net"); 
ds.setDatabaseName("demo"); 
ds.setAccessToken(accessToken);

Connection connection = ds.getConnection();

但是,在运行liquibase命令行迁移时,无法设置accesstoken属性,因为该属性不在有效属性列表中。并且根据文档,不能通过连接字符串设置访问令牌。

是否可以使用这种身份验证方法使liquibase连接到SQL DB?

这是否需要使用自定义的Properties类实现? (请参阅命令行选项:--propertyProviderClass)

有关如何做到这一点的任何指针?

0 个答案:

没有答案