【发布时间】:2019-05-26 10:49:58
【问题描述】:
我正在尝试使用 Azure AD(应用程序作为 DB 用户)从 Spring Boot (2.0.1) Web 应用程序连接到 Azure SQL DB,但似乎无法连接。
我按照Connecting using Azure AD Auth 的步骤进行操作。但是,我登录失败。
我假设这是因为没有在 JDBC url 中设置 'authentication' 属性,它只是直接对数据库进行身份验证(使用 CREATE USER FROM EXTERNAL PROVIDER 从指令创建的用户)?
有没有办法配置 spring 数据源/jdbc 库以在连接时使用正确的 Azure AD 身份验证 (adal4j-1.6.3)?该示例在代码中执行此操作,但我无法找到正确的配置。
我尝试使用“authentication=ActiveDirectoryPassword”,但不断收到“AADSTS50034:目录中不存在用户帐户”错误。
spring.datasource.url="jdbc:sqlserver://myServer.database.windows.net:1433;database=myDB;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout= 30;applicationName=myApp;"
spring.datasource.username: <user>
spring.datasource.accessToken: <key>
更大的目标是保护我对特定应用程序的数据库访问。我已将我的应用程序添加为我的服务器上的阅读器,理想情况下将作为该应用程序进行身份验证,以跟踪该应用程序的使用/分析/等。
我很抱歉,如果这太离谱了,我是 Azure 和 Oauth 的新手。谢谢。
【问题讨论】:
标签: spring jdbc azure-active-directory adal4j