我正在尝试使用 Azure AD(将应用程序作为 DB 用户)从我的 Spring Boot (2.0.1) Web 应用程序连接到 Azure SQL DB,但似乎无法连接这些点。
我按照使用 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 =我的应用程序;"
spring.datasource.username: <user>
spring.datasource.accessToken: <key>
更大的目标是保护我的数据库对特定应用程序的访问。我已将我的应用程序添加为我的服务器上的阅读器,理想情况下将作为该应用程序进行身份验证,以跟踪该应用程序的使用/分析/等。
如果这太远了,我很抱歉,我是 Azure 和 Oauth 的新手。谢谢。