.NET Core - 使用AccessToken创建SqlConnection

时间:2018-01-25 19:01:15

标签: access-token azure-msi

我的理解是,为了实现Azure中对SQL数据库的Azure AD托管服务标识访问,我需要创建一个带有检索标记的SqlConnection

要将该标记添加到SqlConnection,.NET 4.6+具有AccessToken属性来执行此操作。 .NET Core 2.0没有。

有什么方法吗?

在核心应用程序中实现Azure AD托管服务标识此时似乎不可能,除非我误解。

3 个答案:

答案 0 :(得分:1)

解决方法是将连接字符串存储在Azure Key Vault中,然后实施MSI以从Key Vault中检索它。

答案 1 :(得分:1)

从SqlClient软件包4.6.0开始,SqlConnection现在为.NET Core 2.2的AccessToken支持SqlClient

https://www.nuget.org/packages/System.Data.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最终版本之前会支持吗?