首页 > 解决方案 > 将 MSI 令牌传递给 flyway 命令行

问题描述

运行 flyway 的“迁移”命令时,访问 DB 的标准方法是提供用户和密码。就我而言,它是 Azure SQL DB,而不是用户/密码,我只有 MSI 令牌。是否可以将令牌传递到命令行?查看“迁移”命令的参数,我找不到类似的东西。

标签: azure-sql-databaseflyway

解决方案


支持Azure Active Directory MSI身份验证,请参阅 Microsoft 文档,因为它包含有关这些如何与 JDBC URL 一起使用的更多详细信息,(链接) 以下载驱动程序和适用的连接字符串属性和客户端要求,但请注意:

自驱动程序版本 v7.2 起受支持,authentication=ActiveDirectoryMSI 可用于从启用“身份”支持的 Azure 资源内部连接到 Azure SQL 数据库/数据仓库。可选地,msiClientId 也可以与此身份验证模式一起在 Connection/DataSource 属性中指定,它必须包含托管服务标识的客户端 ID,用于获取 accessToken 以建立连接。

您可以使用以下java 客户端示例从 Azure AD 联合本地主机或 Azure 主机运行此命令,然后运行 ​​migrate 命令。


推荐阅读