2016-01-05 73 views
1

在我的本地計算機中,我正在運行SSIS包以每隔一小時將數據傳輸到Azure數據庫。我如何確保我的SSIS使用SSL傳輸數據。我經歷了各種在線教程和SO帖子,但沒有找到如何確認SSL正在使用。 MS Azure教程建議在連接字符串中使用Encrypt=TrueTrustServerCertificate=False如何確保SSIS使用SSL將數據傳輸到Azure數據庫

我對OLE DB destitaion(天青)連接字符串

Data Source=tcp:AAAAAA.database.windows.net,1433; User [email protected];  
Initial Catalog=testdb; Persist Security Info=True; Encrypt=True;  
TrustServerCertificate=False; Application Name=SSIS-Package-BBBBB; 

如何理解正在使用SSL?我必須在本地計算機上安裝任何證書嗎?

+0

在引用的副本中,託尼Petrossian - 在MS工作,表示「Azure SQL數據庫的所有連接都默認加密並且未加密連接被拒絕」 – billinkc

+0

在SSIS OLE DB連接中,即使我提供Encrypt = FALSE和TrustServerCertificate = TRUE,數據傳輸沒有任何錯誤。爲什麼連接不被Azure拒絕? –

+0

因爲您信任服務器證書,我相信這是使用服務器證書來加密數據(與安全人員覈對以確認)。這[Azure文章](https://azure.microsoft.com/en-us/documentation/articles/sql-database-security/)表示不建議信任服務器證書 – billinkc

回答

0

Encrypt=True使用SSL時。來自:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

如果服務器安裝了證書,則SQL Server對客戶端和服務器之間發送的所有數據使用SSL加密。公認的價值觀是真實的,虛假的,是的,沒有。有關更多信息,請參閱連接字符串語法。

從.NET Framework 4.5開始,當TrustServerCertificate爲false且Encrypt爲true時,SQL Server SSL證書中的服務器名稱(或IP地址)必須與連接字符串中指定的服務器名稱(或IP地址)完全匹配。否則,連接嘗試將失敗。有關支持主題以通配符(*)開頭的證書的信息,請參閱服務器證書用於服務器身份驗證的接受通配符。

如果您想仔細檢查,可以使用Wireshark觀察網絡流量。

相關問題