使用 Microsoft SQL Server 2005 JDBC 驱动程序时,采取预防措施以确保应用程序的安全性非常重要。可以采取一些步骤来帮助保护应用程序,下列部分提供了有关此方面信息。

使用 Java 策略权限

使用 Microsoft SQL Server 2005 JDBC Driver 时,指定 JDBC 驱动程序所要求的 Java 策略权限非常重要。Java 运行时环境 (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) 或安全套接字层 (SSL) 来保护通信通道;也可以同时使用这两者来进行保护。

SSL 是 Microsoft SQL Server 2005 JDBC Driver 版本 1.2 的一项新增功能,可用来在 IPSEC 保护措施之外提供另一层保护。有关使用 SSL 的详细信息,请参阅使用 SSL 加密

另请参见

保护 JDBC Driver 应用程序