アプリケーションのセキュリティ

Microsoft SQL Server JDBC Driver を使用するときは、アプリケーションのセキュリティを確保するための対策を講じることが重要です。以下のセクションでは、アプリケーションをセキュリティ保護するために実行できる手順に関する情報を提供します。

Java のポリシー アクセス許可の使用

Microsoft SQL Server 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 データベースと通信する場合、インターネット プロトコル セキュリティ (IPSec) または SSL (Secure Sockets Layer) を使用して、通信チャネルをセキュリティで保護できます。また、IPSec と SSL の両方を使用することも可能です。

SSL のサポートは、IPSec 以外の追加の保護レベルを提供するために使用できます。SSL の使用方法の詳細については、「SSL 暗号化の使用」を参照してください。

参照

その他のリソース

JDBC ドライバ アプリケーションのセキュリティ保護