azure “Active Directory默认值”指的是哪个实体?

uxh89sit  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(105)

我在Azure中设置了一系列服务,即SQL Server示例、SQL数据库和运行Web API的App Service,该API与Azure中的SQL DB进行通信。
数据库运行良好;我可以从SSMS连接没有问题。当我在VS中运行时,Web API也运行得很好,与数据库进行对话没有问题,但是,一旦发布,Web API就无法连接到数据库。
App Service在配置中具有连接字符串,并且该连接字符串使用Authentication=Active Directory Default。同样,这将在本地工作(当默认解析为我的帐户时),但在发布时不工作(当默认解析为某个未知实体时)。我的问题是这个实体是什么?或者我如何才能找到并检查其访问权限?
奇怪的是,这曾经在没有任何此类考虑的情况下工作,但似乎在App Service重新启动后停止了,从那时起就无法连接。

vddsk6oq

vddsk6oq1#

当您的代码在应用程序服务中运行时,它应使用应用程序服务的托管标识来访问数据库,请参阅以下链接:
https://learn.microsoft.com/en-us/sql/connect/ado-net/sql/azure-active-directory-authentication?view=sql-server-ver16#using-active-directory-managed-identity-authentication
这也意味着必须授予服务的托管标识对数据库的访问权限。参见:https://learn.microsoft.com/en-us/sql/connect/ado-net/sql/azure-active-directory-authentication?view=sql-server-ver16#using-active-directory-managed-identity-authentication

相关问题