我有一个使用 JVM Sandboxing 的 Java WebApp ,它可以在我的本地计算机上运行。
此外,我可以生成胖罐并像java -jar my-app.jar
一样运行。也可以。
我有政策文件:
grant {
permission java.security.AllPermission;
};
我将FullEC2Access(来自政策)提供给我的EC2实例,没有运气。
我使用Elastic Beanstalk。
当我部署到Amazon EC2( t2.medium )实例时,出现以下错误:
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "createClassLoader")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[na:1.8.0_131]
at java.security.AccessController.checkPermission(AccessController.java:884) ~[na:1.8.0_131]
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[na:1.8.0_131]
at java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:611) ~[na:1.8.0_131]
at java.lang.ClassLoader.checkCreateClassLoader(ClassLoader.java:274) ~[na:1.8.0_131]
at java.lang.ClassLoader.<init>(ClassLoader.java:316) ~[na:1.8.0_131]
at java.security.SecureClassLoader.<init>(SecureClassLoader.java:76) ~[na:1.8.0_131]
at java.net.URLClassLoader.<init>(URLClassLoader.java:100) ~[na:1.8.0_131]
at clojure.lang.DynamicClassLoader.<init>(DynamicClassLoader.java:41) ~[na:na]
at clojure.lang.RT$7.run(RT.java:2126) ~[na:na]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_131]
答案 0 :(得分:0)
我创建了Docker文件并提供了所有需要的文件并启动了java进程,如:java -Djava.security.policy=example.policy -jar <your jar path>