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

SQL Azure Database. Login with non-secure connection string

我有一个 SQL Azure 数据库并启用了审核。根据门户网站,审计需要使用启用安全的连接字符串,因此将数据库门户上的启用安全访问参数设置为“必需”,这样带有非安全连接字符串的应用程序就不会访问我的数据库。

当我尝试使用 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 服务器,尽管我强制我的服务器只接受具有安全连接字符串的连接。

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

一如既往,我们将不胜感激。

您的连接字符串包含 Encrypt=True;TrustServerCertificate=False,因此符合安全连接的条件。 客户端和服务器之间的连接将被 SSL 加密并验证证书。

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

很高兴地通知您,上周我们改进了数据库“必需”模式的行为,无需使用安全连接字符串即可使用审核或数据屏蔽。

这意味着 SSMS 或 .NET 应用程序尝试使用标准连接字符串连接数据库将正常工作,没有错误,在您将数据库门户上的“启用安全访问”参数设置为“必需”后,

在将数据库门户上的“启用安全访问”参数设置为“必需”后,您能否尝试使用标准连接字符串从 SSMS 连接?

改变一下

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;