Azure App Service无法访问SQL Server-用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

荒唐

我在Azure中有一个应用程序服务,用作我正在设计的系统的API。由于API负责直接访问数据库,因此我显然不想在任何可能的地方存储包含凭据的连接字符串,因此希望使用托管身份向App Service授予对数据库的访问权限(也托管在Azure上) 。

在Azure门户中,我已在App Service的“设置”部分中启用了系统分配的身份,然后通过SQL Server->访问控制->角色分配->添加,为该服务赋予SQL Server所有者的角色。

据我了解,Active Directory用户甚至不应该参与其中,因为它们是用户分配的身份而不是系统分配的身份,并且需要进行更多设置(或将其凭据存储在连接字符串中)。

至于代码,它几乎是此版本的副本>> https://github.com/medhatelmasry/JwtAuthentication,唯一的区别是我添加了

services.BuildServiceProvider().GetService<ApplicationDbContext>().Database.Migrate();

至中ConfigureServices方法的末尾Startup.cs,并ApplicationDbContext按照Microsoft的说明将以下内容添加到的构造函数中

var conn = (System.Data.SqlClient.SqlConnection)Database.GetDbConnection();

conn.AccessToken = (new Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider()).GetAccessTokenAsync("https://database.windows.net/").Result;

但是,当尝试在Azure中运行此服务时,在调用时出现异常services.BuildServiceProvider().GetService<ApplicationDbContext>().Database.Migrate();

用户“ NT AUTHORITY \ ANONYMOUS LOGON”的登录失败

我已经尝试过StackOverflow,MSDN,Azure帮助,Pluralsight以及Google出现的任何随机论坛,但都没有找到任何答案。我只熬了整整一个星期,直到每天愚蠢的时间试图修复连接字符串配置,才发现Azure正在更改我给它的连接字符串参数的名称,而不是说它(也没有任何Microsoft文档中的内容)。

Azure正在使我痛苦不堪,我什至还没有开始向API添加端点,更不用说创建一个实际的应用程序来使用它了,这太荒谬了。

荒唐

最终在这里找到答案>> https://docs.microsoft.com/zh-cn/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql#create-a-contained数据库中代表用户的vms系统分配的身份

App Service确实已设置为服务器的所有者,但尚未在数据库上配置用户,因此我的问题通过通过SSMS登录数据库并运行来解决:

CREATE USER [My App Service Name] FROM EXTERNAL PROVIDER

然后:

ALTER ROLE db_owner ADD MEMBER [My App Service Name]

但是,我在服务器的访问控制(IAM)页面上删除了App Service的所有权角色,并且仍然能够成功连接,不确定为什么会这样,但这可能只是我缺乏SQL用户知识。实际上,这很适合我,因为目前我的App Service具有一个预配置的SQL用户,db_owner用户在数据库本身而不是在整个服务器上分配角色。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Azure SQL Server-用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

来自分类Dev

SQL Server 2008中用户“ NT AUTHORITY \ ANONYMOUS LOGON”的登录失败

来自分类Dev

用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。- MSI(托管身份)

来自分类Dev

SSRS报告,SQL Linkedservers,用户“ NT AUTHORITY \ ANONYMOUS LOGON”的登录失败

来自分类Dev

远程服务的模拟显示用户“ NT Authority \ Anonymous Logon”的登录失败

来自分类Dev

SQL Server登录错误:用户“ NT AUTHORITY \ SYSTEM”的登录失败

来自分类Dev

一段时间后访问令牌连接失败,登录失败 NT AUTHORITY\ANONYMOUS LOGON 错误

来自分类Dev

从应用程序服务器连接到数据库服务器:(0x80131904):用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

来自分类Dev

用户“NT AUTHORITYANONYMOUS LOGON”登录失败

来自分类Dev

用户NT Authority \ System的登录失败

来自分类Dev

OLE DB或ODBC错误:用户'NT AUTHORITY \ NETWORK SERVICE登录失败

来自分类Dev

SQL Server Azure“用户登录失败”

来自分类Dev

SQL Server Azure“用户登录失败”

来自分类Dev

IIS AppPool授予SQL Server权限(添加NT AUTHORITY \ IUSR)

来自分类Dev

IIS AppPool授予SQL Server权限(添加NT AUTHORITY \ IUSR)

来自分类Dev

SQL Server用户的用户登录失败

来自分类Dev

是“ NT AUTHORITY \ SYSTEM”用户还是组?

来自分类Dev

无法创建SQL Server Express登录-用户登录失败

来自分类Dev

需要将运行TFS构建服务(NT AUTHORITY \ NETWORK SERVICE)的帐户作为系统用户添加到Release Management Server中。

来自分类Dev

Intranet NT登录的用户

来自分类Dev

用户NT权限/匿名登录的BCP导出登录失败

来自分类Dev

用户sql登录失败

来自分类Dev

用户域\名称的SQL Server Express登录失败

来自分类Dev

使用Python连接到SQL Server时,用户“”登录失败

来自分类Dev

从Azure App访问令牌而无需用户登录

来自分类Dev

登录失败(pyodbc.InterfaceError)('28000',“ [28000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户'xxxx'的登录失败

来自分类Dev

用户 '' 的 JDBC SQL Server 登录失败,在 pymssql 中登录成功

来自分类Dev

Azure Function App - 给我登录的用户

来自分类Dev

“ [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户登录失败”错误

Related 相关文章

  1. 1

    Azure SQL Server-用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

  2. 2

    SQL Server 2008中用户“ NT AUTHORITY \ ANONYMOUS LOGON”的登录失败

  3. 3

    用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。- MSI(托管身份)

  4. 4

    SSRS报告,SQL Linkedservers,用户“ NT AUTHORITY \ ANONYMOUS LOGON”的登录失败

  5. 5

    远程服务的模拟显示用户“ NT Authority \ Anonymous Logon”的登录失败

  6. 6

    SQL Server登录错误:用户“ NT AUTHORITY \ SYSTEM”的登录失败

  7. 7

    一段时间后访问令牌连接失败,登录失败 NT AUTHORITY\ANONYMOUS LOGON 错误

  8. 8

    从应用程序服务器连接到数据库服务器:(0x80131904):用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

  9. 9

    用户“NT AUTHORITYANONYMOUS LOGON”登录失败

  10. 10

    用户NT Authority \ System的登录失败

  11. 11

    OLE DB或ODBC错误:用户'NT AUTHORITY \ NETWORK SERVICE登录失败

  12. 12

    SQL Server Azure“用户登录失败”

  13. 13

    SQL Server Azure“用户登录失败”

  14. 14

    IIS AppPool授予SQL Server权限(添加NT AUTHORITY \ IUSR)

  15. 15

    IIS AppPool授予SQL Server权限(添加NT AUTHORITY \ IUSR)

  16. 16

    SQL Server用户的用户登录失败

  17. 17

    是“ NT AUTHORITY \ SYSTEM”用户还是组?

  18. 18

    无法创建SQL Server Express登录-用户登录失败

  19. 19

    需要将运行TFS构建服务(NT AUTHORITY \ NETWORK SERVICE)的帐户作为系统用户添加到Release Management Server中。

  20. 20

    Intranet NT登录的用户

  21. 21

    用户NT权限/匿名登录的BCP导出登录失败

  22. 22

    用户sql登录失败

  23. 23

    用户域\名称的SQL Server Express登录失败

  24. 24

    使用Python连接到SQL Server时,用户“”登录失败

  25. 25

    从Azure App访问令牌而无需用户登录

  26. 26

    登录失败(pyodbc.InterfaceError)('28000',“ [28000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户'xxxx'的登录失败

  27. 27

    用户 '' 的 JDBC SQL Server 登录失败,在 pymssql 中登录成功

  28. 28

    Azure Function App - 给我登录的用户

  29. 29

    “ [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户登录失败”错误

热门标签

归档