應用程式安全性
使用 Microsoft JDBC Driver for SQL Server 時,請務必採取一些預防措施以確保應用程式的安全性。 下列章節會提供保護應用程式時可採取之步驟的相關資訊。
使用 Java 原則權限
使用 Microsoft JDBC Driver for SQL Server 時,請務必指定 JDBC 驅動程式所需的必要 Java 原則權限。 Java Runtime Environment (JRE) 提供廣泛的安全性模型。 該模型可以在執行階段使用,以判斷執行緒是否具有資源的存取權。 安全性原則檔可控制這個存取權限。 原則檔案本身是由部署者和容器的系統管理員所管理。 本文所列的權限是會影響 JDBC 驅動程式運作的權限。
原則檔中典型的權限看起來如下:
// Example policy file entry.
grant [signedBy <signer>,] [codeBase <code source>] {
permission <class> [<name> [, <action list>]];
};
下列程式碼基底應該限制為 JDBC 驅動程式程式碼基底,以確定您授與最少量的權限。
grant codeBase "file:/install_dir/lib/-" {
// Grant access to data source.
permission java.util.PropertyPermission "java.naming.*", "read,write";
// Specify which hosts can be connected to.
permission java.net.socketPermission "host:port", "connect";
// Logger permission to take advantage of logging.
permission java.util.logging.LoggingPermission;
// Grant listen/connect/accept permissions to the driver if
// connecting to a named instance as the client driver.
// This connects to a udp service and listens for a response.
permission java.net.SocketPermission "*", "listen, connect, accept";
};
注意
程式碼 "file:/install_dir/lib/-" 是指 JDBC 驅動程式的安裝目錄。
保護伺服器通訊
當您使用 JDBC 驅動程式與 SQL Server 資料庫通訊時,請務必保護通道的安全。 您可以使用網際網路通訊協定安全性 (IPSEC) 或傳輸層安全性 (TLS) (先前稱為安全通訊端層 (SSL)) 來保護通道,或者您可以使用這兩者。
TLS 支援可以用於提供 IPSEC 之外的額外一層保護。 如需使用 TLS 的詳細資訊,請參閱使用加密。