应用程序安全性
使用 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 数据库进行通信时,务必确保信道的安全。 可以使用 Internet 协议安全性 (IPSEC) 或传输层安全性 (TLS)(以前称为安全套接字层 (SSL))来保护信道,或者可以同时使用这两者。
TLS 支持可用于提供包括 IPSEC 在内的其他保护级别。 有关使用 TLS 的详细信息,请参阅使用加密。