Allow population of Enrich indices to work with System Index protections #67406
Allow population of Enrich indices to work with System Index protections #67406AthenaEryma merged 13 commits intoelastic:masterfrom
Conversation
|
Note to myself: The remaining test failures are due to getting warnings from these uses of We'll need to work around this, because those index name resolutions both being done in the same context will be problematic once we lock down system index access: we'll want to resolve the index names for the search side in the user's context, and the enrich indices in Enrich's context. I think the best way to do this is to pop the validation out into a protected method and override it in |
|
Pinging @elastic/es-core-features (Team:Core/Features) |
…ons (elastic#67406) This PR does three things: 1) Tweaks existing reindex infrastructure so that different clients can be used for the "search" part and the "index" part of a reindex operation, and 2) Modifies Enrich to take advantage of this to perform the "search" part in the security context of the current user (so that DLS/FLS etc. are properly applied) while performing the "index" part in the security context of the Enrich plugin (so that access to system indices, and `.enrich-*` in particular, is allowed regardless of the permissions of the current user). 3) Adds integration tests for the above, to verify that Enrich does not leak info protected by DLS and/or FLS. Co-authored-by: Jay Modi <jay.modi@elastic.co>
…otections (#67406) This PR does three things: 1) Tweaks existing reindex infrastructure so that different clients can be used for the "search" part and the "index" part of a reindex operation, and 2) Modifies Enrich to take advantage of this to perform the "search" part in the security context of the current user (so that DLS/FLS etc. are properly applied) while performing the "index" part in the security context of the Enrich plugin (so that access to system indices, and `.enrich-*` in particular, is allowed regardless of the permissions of the current user). 3) Adds integration tests for the above, to verify that Enrich does not leak info protected by DLS and/or FLS. Co-authored-by: Jay Modi <jay.modi@elastic.co>
This PR does three things:
.enrich-*in particular, is allowed regardless of the permissions of the current user).Closes #62505
Co-authored-by: Jay Modi jay.modi@elastic.co