Jython と Java セキュリティ ポリシーを使用して、制限付きの Python スクリプトを実行するための Python サンドボックスを作成します。アクセス許可を付与するために、次のようなポリシー ファイルを定義しました。
grant {
permission java.io.FilePermission "Lib\\-", "read";
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "getProtectionDomain";
};
たとえば、python スクリプトで os.py モジュールをインポートするには、jython.jar の「Lib」フォルダーから読み取るための FilePermission が必要です。
したがって、「os.py」モジュールは jython.jar Lib フォルダーにあるため、 jython には egos.mkdir("Dir")
またはを使用する権限があります。os.getpid()
パーミッションをより具体的に付与するにはどうすればよいですか。たとえば、python スクリプトには実行パーミッションがありますos.getpid()
が、そうではありませんos.mkdir("Dir")
。