Permanently switch from SecurityManager to Entitlements#124865
Permanently switch from SecurityManager to Entitlements#124865ldematte merged 4 commits intoelastic:9.0from
Conversation
|
Pinging @elastic/es-core-infra (Team:Core/Infra) |
|
Should this be |
This one. It's not breaking b/c this isn't user API related, but we should have a changelog entry. |
|
👍 |
Perhaps "upgrade" since this is all centered around the move to Java 24? None of the release notes sections are a great fit for non-functional stuff like this. Perhaps we need an new label/section for these kinds of things. We have a |
rjernst
left a comment
There was a problem hiding this comment.
LGTM. >upgrade is fine. We just want to make sure this is noted in the release notes.
docs/changelog/124865.yaml
Outdated
| With JDK24, the Java SecurityManager has been completely disabled. In order to retain an additional protection | ||
| mechanism, Elasticsearch is replacing SecurityManager with our own protection mechanism, Entitlements." |
There was a problem hiding this comment.
optional nit
| With JDK24, the Java SecurityManager has been completely disabled. In order to retain an additional protection | |
| mechanism, Elasticsearch is replacing SecurityManager with our own protection mechanism, Entitlements." | |
| With JDK24, the Java SecurityManager has been completely disabled. In order to retain a similar protection | |
| mechanism, Elasticsearch is replacing SecurityManager with its own protection mechanism, Entitlements." |
There was a problem hiding this comment.
Wondering, this makes it sound a bit like entitlements are just a JDK 24 thing. Should we explicitly mention that this is the case for all versions of ES supporting JDK 24 regardless of which JDK version used at runtime?
There was a problem hiding this comment.
Maybe like this?
| With JDK24, the Java SecurityManager has been completely disabled. In order to retain an additional protection | |
| mechanism, Elasticsearch is replacing SecurityManager with our own protection mechanism, Entitlements." | |
| With JDK24, the Java SecurityManager has been completely disabled. In order to retain a similar protection | |
| mechanism, Elasticsearch is replacing SecurityManager with its own protection mechanism, Entitlements. | |
| This is the case for all versions of Elasticsearch supporting JDK24 regardless of the JDK version used at runtime." |
There was a problem hiding this comment.
I rephrased it so the focus in not on JDK 24 anymore, and stating we are making the switch permanently. But let me know if you think I should still add "This is the case for all versions of Elasticsearch supporting JDK24 regardless of the JDK version used at runtime."
💔 Backport failed
You can use sqren/backport to manually backport by running |
The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921
The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921
…) (#125073) * Permanently switch from SecurityManager to Entitlements (#124865) The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921 * Update changelog
… (#125076) * Permanently switch from SecurityManager to Entitlements (#124865) The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921 * Update changelog
The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921
…25117) The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921
…) (elastic#125117) The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921
…) (elastic#125117) The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project. Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a NotEntitledException will be thrown. This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version. Relates to ES-10921
The JDK team has completely disabled the Java SecurityManager from Java 24. Elasticsearch has always used the Java SecurityManager as an additional protection mechanism; in order to retain this second line of defense, the Elasticsearch Core/Infra team has been working on the Entitlements project.
Similar to SecurityManager, Entitlements only allow calling specific methods in the JDK when the caller has a matching policy attached. In other words, if some code (in the main Elasticsearch codebase, in a plugin/module, or in a script) attempts to perform a "privileged" operation and it is not entitled to do so, a
NotEntitledExceptionwill be thrown.This PR includes the minimal set of changes to always use Entitlements, regardless of system properties or Java version.
Relates to ES-10921