SQL Azure数据库。使用非安全连接字符串登录

时间:2015-04-17 21:12:19

标签: sql-server azure connection-string auditing

我有一个SQL Azure数据库,并在其上启用了审核。根据门户网站,审计需要使用安全性启用的连接字符串,因此将数据库门户上的Security Enabled Access参数设置为“Required”,以便没有带有非安全连接字符串的应用程序进入我的数据库。

当我尝试使用非安全连接字符串服务器名称(例如MyAzureServer.database.windows.net)从SSMS连接时,我收到一条错误消息,指出只允许与安全连接字符串的连接,这是我的预期

但是我的.NET应用程序使用如下所示的非安全连接字符串工作正常,没有错误。我还可以看到审计日志中有一条登录成功的记录

Server=tcp:MyDBServer.database.windows.net,1433;
Database=DemoDB;
User ID=Srisail@MyDBServer;
Password=password123%;
Encrypt=True;
TrustServerCertificate=False;
Connection Timeout=30;

我的问题是我的.NET应用程序如何使用非安全连接字符串能够登录我的Azure SQL Server,尽管我强制我的服务器只接受带有安全连接字符串的连接。

此外,我不确定我是否完全理解安全和非安全连接字符串,除非您在服务器名称中包含文本secure MyDBServer.secure.database.windows.net。我想更多地了解这一点。

总是任何帮助都非常感激。

3 个答案:

答案 0 :(得分:15)

只需更改

Server=tcp:MyDBServer.database.windows.net,1433;Database=DemoDB;User ID=Srisail@MyDBServer;Password=password123%;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

Server=tcp:MyDBServer.database.secure.windows.net,1433;Database=DemoDB;User ID=Srisail@MyDBServer;Password=password123%;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

答案 1 :(得分:1)

您的连接字符串包含Encrypt=True;TrustServerCertificate=False,因此有资格成为安全连接。 客户端和服务器之间的连接将进行SSL加密,证书将被验证。

https://msdn.microsoft.com/en-us/library/azure/ff394108.aspx#encryption

答案 2 :(得分:1)

我很高兴地通知您,上周我们改进了DB“必需”模式的行为,这消除了使用安全连接字符串来使用审计或数据屏蔽的需要。

这意味着在将数据库门户上的Security Enabled Access参数设置为“Required”后,SSMS或.NET应用程序尝试使用标准连接字符串连接数据库将正常工作,没有错误,

在将数据库门户上的Security Enabled Access参数设置为“Required?”之后,您可以尝试使用标准连接字符串从SSMS连接吗?