next up previous
: セキュリティポリシーの設定 : セキュリティ : セキュリティ

セキュリティマネージャ

Java RMIは,ネットワークを介してオブジェクトのやりとりを行うため,セキュリティマ ネージャの作成・インストールが必要である. セキュリティマネージャはプログラムがセキュリティ上問題のあるような動作を行う際に, それが実際に問題がないかを確認し,セキュリティ上問題がある場合には例外を発生する.

RMIでは標準的なセキュリティマネージャとして RMISecurityManagerが用意され ているのでこれを用いることができる. RMISecurityManagerを用いるには,プログラムのmain()メソッドにおいて 以下のように記述する.




\begin{boxedminipage}{13.7cm}
\begin{alltt}
\relax{}
\\ System.setSecurityManager(new RMISecurityManager());
\\
\\ \relax \end{alltt}\end{boxedminipage}



これを行うと,プログラムは標準のセキュリティポリシーに従ってネットワークの接続を 行うことになる. 標準のセキュリティポリシーは Java のインストールされたディレクトリ下の java.policy ファイルによって指定されており,ネットワークの接続に関しては


    permission java.net.SocketPermission "localhost:1024-", "listen";
となっているが,これは「ローカルホストのポート番号1024以上へのソケット接続は listen(待機)のみ許可される」ということで,ほとんどの接続については許可されない. このため,RMIを用いる場合にはセキュリティポリシーを自分で設定する必要がある.



U-GM\murao 平成14年7月12日