2015-04-17 5 views
5

Ich verfüge über eine SQL Azure-Datenbank und lasse die Überwachung aktivieren. Laut dem Portal erfordert Auditing die Verwendung von sicherheitsaktivierten Verbindungszeichenfolgen und hat daher den Parameter "Zugriff mit Sicherheitsfunktion" im DB-Portal auf "Erforderlich" gesetzt, damit keine Apps mit nicht sicheren Verbindungszeichenfolgen an meine Datenbank gelangen. Verwendung von nicht sicheren Verbindung String Servernamen wie MyAzureServer.database.windows.net Ich erhalte eine Fehlermeldung, nur Verbindungen mit sicherer VerbindungszeichenfolgeSQL Azure-Datenbank. Anmeldung mit nicht sicherer Verbindungszeichenfolge

Wenn ich versuche, von SSMS zu vernetzen sind erlaubt das ist, was ich erwartete

jedoch meine .NET-Anwendung Die nicht sichere Verbindungszeichenfolge wie unten funktioniert einwandfrei und ohne Fehler. Ich konnte auch sehen, dass es eine Aufzeichnung in Prüfprotokolle, die Erfolg-Login

Server=tcp:MyDBServer.database.windows.net,1433; 
Database=DemoDB; 
User [email protected]; 
Password=password123%; 
Encrypt=True; 
TrustServerCertificate=False; 
Connection Timeout=30; 

Meine Frage ist, wie meine NET-Anwendung, die nicht sichere Verbindung String System anmelden kann, um meine Azure SQL Server verwenden, obwohl ich gezwungen hatte, Mein Server akzeptiert nur Verbindungen mit sicherer Verbindungszeichenfolge.

Auch ich bin mir nicht sicher, ob ich sichere und nicht sichere Verbindungszeichenfolgen vollständig verstehe, außer dass Sie den gesicherten Text in Ihren Servernamen wie MyDBServer.secure.database.windows.net aufnehmen. Ich würde gerne mehr dazu verstehen.

Wie immer wird jede Hilfe sehr geschätzt.

Antwort

1

Ich bin froh, dass Sie, dass letzte Woche zu informieren, haben wir das Verhalten der DB „Required“ Modus verbessert, was die Notwendigkeit, die sichere Verbindung Zeichenfolge verwenden eliminiert Rechnungsprüfung oder Datenmaskierung zu verwenden.

Das bedeutet, dass SSMS oder .NET-App versucht, die Datenbank zu verbinden, die Standardverbindungszeichenfolge wird ohne Fehler funktioniert gut, nachdem Sie die Sicherheit aktiviert Access-Parameter auf dem DB-Portal auf „Required“ gesetzt,

Könnten Sie bitte versuchen, von SSMS über die Standardverbindungszeichenfolge eine Verbindung herzustellen, nachdem Sie den Parameter "Zugriff mit Sicherheit" im DB-Portal auf "Erforderlich?

+0

Ist dies ein Zitat aus einem Blog (bitte fügen Sie den Verweis auf den Artikel hinzu)? Oder sind Sie einer der Entwickler bei Azure (bitte stellen Sie sich dann vor)? – Cristik

+0

Ich bin ein Programm-Manager bei SQL –

+0

Vielen Dank @ ron-matchoro. Nadav Helfman von Microsoft hat auf meine Frage auf Azure Support Portal geantwortet. [link] (http://disq.us/8n0ut3). Hoffe, dass die Dokumentation bald aktualisiert wird. Wenn Sie die TDS-Version 7.3 oder niedriger verwenden, wird die Verbindung nicht hergestellt, wenn Sie eine nicht sichere Verbindungszeichenfolge verwenden und die Option "Sicherheitsaktivierter Zugriff" in Ihrer Azure-Datenbank auf TRUE gesetzt ist. SQL 2008 SSMS verwendet TDS 7.3 und so der Fehler. Meine .NET-App verwendete FW 4.5, die TDS 7.4 verwendet und so keinen Fehler. Neukompiliert auf FW 3.5 und ich habe den Fehler gesehen. –

1

Ihre Verbindungszeichenfolge enthält Encrypt=True;TrustServerCertificate=False, die sich als sichere Verbindung qualifiziert. Die Verbindung zwischen Client und Server wird SSL-verschlüsselt und das Zertifikat wird validiert.

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

+0

Thanx @ alex-s. Gemäß MSDN Traditionelles Verbindungszeichenfolgenformat: .database.windows.net und Sicherheitsfähige Verbindungszeichenfolge: .database.secure.windows.net. Ich wollte wissen, was genau passiert, wenn wir Secure vs. non secure connection string senden. –

15

Server=tcp:MyDBServer.database.windows.net,1433;Database=DemoDB;User [email protected];Password=password123%;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30; 
Ändern Sie einfach

Um

Server=tcp:MyDBServer.database.secure.windows.net,1433;Database=DemoDB;User [email protected];Password=password123%;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30; 
+0

Meine Frage war, wie meine .NET-Anwendung, die die nicht sichere Verbindungszeichenfolge verwendet, sich bei meinem Azure SQL Server anmelden konnte, obwohl ich meinen Server gezwungen hatte, nur Verbindungen mit sicherer Verbindungszeichenfolge zu akzeptieren. –

Verwandte Themen