【发布时间】:2020-08-05 15:15:53
【问题描述】:
在 Azure 中的应用服务上运行时,我想使用托管服务标识对具有两组权限的 Azure SQL Server 进行身份验证。在我的服务中,我想要一个读/写 DBContext 和一个只读 DBContext。有没有办法在认证后降级访问?
我不一定有权访问具有只读副本的 AG,因此我认为我不能使用 applicationintent=readonly 和 EXECUTE AS 似乎只适用于存储过程或函数。
还有其他建议吗?
【问题讨论】:
-
不确定我是否理解这个问题....在 SQL 服务器上设置 MSI 时,身份在 SQL 中管理,就像可以运行 SQL 脚本以分配用户权限的任何其他用户一样.
-
是的,但我想将我的应用程序逻辑分离为具有读取表面 (API) 和写入表面(入站服务总线消息)。如果没有两个不同的权限级别,API 也将具有写访问权限。
-
2 个 MSI?我建议您首先在没有 MSI 的情况下使用此功能,因为您可以在 SQL 中使用 2 个登录名/2 个用户轻松完成此操作
-
哦,我们当然可以只使用用户名和密码,这看起来很简单。 Azure 应用服务是否能够获得两个身份?
标签: azure entity-framework-core azure-sql-database azure-web-app-service