我的理解是,为了实现Azure中对SQL数据库的Azure AD托管服务标识访问,我需要创建一个带有检索标记的SqlConnection
。
要将该标记添加到SqlConnection
,.NET 4.6+具有AccessToken
属性来执行此操作。 .NET Core 2.0没有。
有什么方法吗?
在核心应用程序中实现Azure AD托管服务标识此时似乎不可能,除非我误解。
答案 0 :(得分:1)
解决方法是将连接字符串存储在Azure Key Vault中,然后实施MSI以从Key Vault中检索它。
答案 1 :(得分:1)
从SqlClient软件包4.6.0开始,SqlConnection
现在为.NET Core 2.2的AccessToken
支持SqlClient
。
答案 2 :(得分:0)
现在是2020年6月,正在使用.NET 5.0 Preview 4。但仍然不支持Blazor Asp.NET Core中基于AccessToken的SqlConnection连接。
Azure SQL数据库中的“连接字符串”部分说要在Authentication =“ Active Directory Interactive”的连接字符串中使用“用户ID”,但是在.NET EF Core中,我们收到错误消息,无法使用AD Integrated或AD Interactive设置用户ID 。另一种方法是使用Azure Vault。
我们更喜欢在连接字符串和AccessToken中使用动态用户ID(来自AAD可显示ID)。在.NET 5最终版本之前会支持吗?