-
Notifications
You must be signed in to change notification settings - Fork 291
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
[Release 3.0] Planned Breaking Changes for 3.0 in Plugin #5031
Comments
@cwperks @peterzhuamazon what do you think about removing support for opendistro in APIs? For example APIs like -
Do we need to explicitly mark them deprecated before removing or we can remove them? |
@shikharj05 I support that idea, but #2060 is a prerequisite to that. |
Will there ever be plans to change the name of the security index (currently
All of that would be contingent on adding alias support for the security index. There are still other instances in this repo of using legacy language like |
I like the idea of aliasing to security index in general. This could potentially also help with cases like - #5010 This could be very similar to what OSD does during upgrades/migrations. |
The serialization improvement from 2.11 (#2780) was promising, but had to be disabled due to performance regressions with DLS.
The original issue also explored more alternatives. @cwperks @DarshitChanpura @shikharj05 - do you think we can target this? (While technically this can be done in a minor version, a major version seems more appropriate to improvise on). |
I think we will need to explicitly mark these deprecated and document them for deprecation in 2.19. Post that, we can take a decision if we want to deprecate from 3.0. If we think the timelines are too close, we can move For e.g. the SAML path change should be documented in places like here for users. https://semver.org/#how-should-i-handle-deprecating-functionality Generally, SAML path changes might be more involved - changing recipient and assertion fields require migration support to not break upgrading clusters. |
A major version upgrade would be the right time to remove InjectSecurity from common-utils, but I don't think 3.0.0 is a feasible time frame. Ideally, I'd like to make the replacement available for fresh clusters behind a feature flag and have the option available to use the new model for scheduled job security. For existing plugins that rely on A few high-level steps to complete
For plugins that use the existing InjectSecurity model, there would need to be a migration to extract information about user and roles currently stored in the jobs index and migrate them to the central store of the security plugin. One option would be something akin to the Migrate API to perform this migration. Plugins that currently use The most common way user info is stored in jobs indices is in the common-utils User.toXContent() format. Example of GET Detector from AD: https://opensearch.org/docs/latest/observing-your-data/ad/api/#get-detector Different plugins store this in different fields of the job's metadata. I have seen I'd love to get 1 and 2 from #5052 into 3.0.0, but 3 and 4 would be a stretch. As you pointed out, the end goal of #5052 would be to remove all security related code from common-utils. |
Part of #4380 is removing DLS/FLS/FieldMasking rules from the ThreadContext headers which was a major culprit for serde issues. See the PR description from #4706 for more details, effectively the data structure would contain a map of all concrete indices from the user's role mappings to the DLS/FLS/FieldMasking rules applicable to those indices regardless of what indices the current request targeted. For the rollout of Optimized Privilege Evaluation in 2.19, the FLS/DLS/FieldMasking improvements were intentionally left out but are planned for inclusion in a subsequent release (like 3.0.0) Edit: Nils has written 2 blogs (looks like a 3rd yet to be published on DLS/FLS/FieldMasking is particular) around the Optimized Privilege Evaluation |
[Release 3.0] Planned Breaking Changes for 3.0 in Plugin
As mentioned in this META Issue, we want to track and increase transparency around the breaking changes planned for the 3.0 release across participating plugins.
Please kindly document all planned breaking changes related to your plugin for 3.0 here, by sharing detailed information about the changes, expected impact, and any guidance for users or other teams to adapt to the changes.
If needed, please also prepare PRs on documentation-website changes as part of the 3.0 release process.
Overall, this would help us deliver a smooth and seamless upgrade experience.
Thanks.
Changes in main not present on 2.x:
_opendistro
route #2060transport_enabled
setting on an auth domain and authorizer may be unnecessary after transport client removal #3191Major Updates
The text was updated successfully, but these errors were encountered: