可以在本地为 SQL 服务器连接模拟用户分配的托管标识
Possible to impersonate user-assigned managed identity locally for SQL Server connection
我正在研究使用 Azure 用户分配的托管身份从我们使用 EntityFramework 的应用程序访问 SQL 服务器 6. 我已经使用这个包让它工作:https://www.nuget.org/packages/ErikEJ.EntityFramework.SqlServer 和具有以下属性的连接字符串:
Authentication=Active Directory Managed Identity;User Id=<clientId of managed identity>;
但是,当 运行 在本地我必须使用
Authentication=Active Directory Interactive;
如果有一种方法可以在本地以某种方式模拟托管标识,以便可以在本地调试任何架构访问问题,那就更好了。 (我们有多种不同身份可以使用的不同模式)。有什么办法吗?此时此刻,我迷失在文档和教程中。任何解决方案都必须在 .NET Core 3.1 和 .NET Framework 4.7.2 中工作。
本地环境 ManagedIdentityCredential
不支持用户管理身份。
您应该使用 DefaultAzureCredential 代码才能在本地环境中工作。
查看注意提示here。
ManagedIdentityCredential
仅适用于支持托管身份验证的 Azure 服务环境。
它在本地环境中不起作用。
使用 DefaultAzureCredential 让代码在本地和 Azure 环境中工作,因为它将回退到一些身份验证选项,包括托管身份。
如果您想在部署到 Azure 时使用 用户分配的托管身份 和 DefaultAzureCredential
,指定 clientId.
我正在研究使用 Azure 用户分配的托管身份从我们使用 EntityFramework 的应用程序访问 SQL 服务器 6. 我已经使用这个包让它工作:https://www.nuget.org/packages/ErikEJ.EntityFramework.SqlServer 和具有以下属性的连接字符串:
Authentication=Active Directory Managed Identity;User Id=<clientId of managed identity>;
但是,当 运行 在本地我必须使用
Authentication=Active Directory Interactive;
如果有一种方法可以在本地以某种方式模拟托管标识,以便可以在本地调试任何架构访问问题,那就更好了。 (我们有多种不同身份可以使用的不同模式)。有什么办法吗?此时此刻,我迷失在文档和教程中。任何解决方案都必须在 .NET Core 3.1 和 .NET Framework 4.7.2 中工作。
本地环境 ManagedIdentityCredential
不支持用户管理身份。
您应该使用 DefaultAzureCredential 代码才能在本地环境中工作。
查看注意提示here。
ManagedIdentityCredential
仅适用于支持托管身份验证的 Azure 服务环境。
它在本地环境中不起作用。
使用 DefaultAzureCredential 让代码在本地和 Azure 环境中工作,因为它将回退到一些身份验证选项,包括托管身份。
如果您想在部署到 Azure 时使用 用户分配的托管身份 和 DefaultAzureCredential
,指定 clientId.