-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[POC] [Security Manager Replacement] GraalVM sandboxing #16863
base: main
Are you sure you want to change the base?
Conversation
❌ Gradle check result for a8e52f3: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
❌ Gradle check result for 6201d8c: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
libs/espresso-sm/src/main/java/org/opensearch/espresso/sandbox/Sandbox.java
Outdated
Show resolved
Hide resolved
Thank-you again for putting this up. Apart from the debugging pain, which i hope would be one-time while setting up a plugin); I don't see a reason why we would not include this as an alternative for SM. Let's see what others feel about it. This would look much better, allowing plugins to move to JDK-24 with a real look-and-feel of a plugin sandbox env when Graal fully addresses oracle/graal#10239 |
I have included it here #16861 but to reiterate, the most difficult issue with such a model is communication between host and spawned JVM/context: it seems not being possible to wire up the services from the host JVM. I will spend more time to explore the limitations here. |
plugins/identity-shiro/src/main/java/org/opensearch/identity/shiro/ShiroIdentityPlugin.java
Outdated
Show resolved
Hide resolved
❌ Gradle check result for ed8cd55: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Asking to keep myself upto-date -- I guess you have figured it out using |
Yes, sadly it is. And AFAIK, the earliest release with the fix is in March (as per Slack thread response), this is a blocker for us at the moment since we cannot support host <-> guest exchange :( |
(posting for visibility) |
Signed-off-by: Andriy Redko <[email protected]>
❌ Gradle check result for c3e5143: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Description
Use GraalVM capability to spin off a separate JVM to host the sandboxed component. With this model, it becomes possible to:
The POC does a bare minimum work to host the
ShiroIdentityPlugin
in the separated JVM (21.0.5+11-Ubuntu-1ubuntu124.10
) that is running underSecurityManager
:With host to guest communication:
Related Issues
Closes #16861
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.