-
Notifications
You must be signed in to change notification settings - Fork 25.6k
[Failure Store] Prevent usage of :: selectors with cross-cluster expressions #125252
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
[Failure Store] Prevent usage of :: selectors with cross-cluster expressions #125252
Conversation
Pinging @elastic/es-security (Team:Security) |
Pinging @elastic/es-data-management (Team:Data Management) |
…nt-using-selectors-for-ccs-ccr
…nt-using-selectors-for-ccs-ccr
…nt-using-selectors-for-ccs-ccr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Yeah, RCS1 is special in sense that users can define roles which grants direct access to failure store indices and search them - there is no way for us to prevent that (nor should we). I think this is fine in the short term, since we do want to support CCS in the long term. |
FIPS failures are unrelated. Fix incoming: #125754 |
💔 Backport failed
You can use sqren/backport to manually backport by running |
💚 All backports created successfully
Questions ?Please refer to the Backport tool documentation |
…essions (elastic#125252) The CCS is currently not supported for failure store backing indices. This PR adjusts the selector parsing (introduced in elastic#118614) to prevent using `::failures` and `::data` selectors with cross-cluster expressions. For example, `GET my_remote_cluster:logs-*::failures/_search` request will fail early, during expression parsing. To test manually, run `./gradlew run-ccs` and execute the example request. (cherry picked from commit 1d6c6a5) # Conflicts: # server/src/main/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolver.java # x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/parser/StatementParserTests.java
…essions (elastic#125252) The CCS is currently not supported for failure store backing indices. This PR adjusts the selector parsing (introduced in elastic#118614) to prevent using `::failures` and `::data` selectors with cross-cluster expressions. For example, `GET my_remote_cluster:logs-*::failures/_search` request will fail early, during expression parsing. To test manually, run `./gradlew run-ccs` and execute the example request.
…r expressions (#125252) (#125831) * [Failure Store] Prevent usage of :: selectors with cross-cluster expressions (#125252) The CCS is currently not supported for failure store backing indices. This PR adjusts the selector parsing (introduced in #118614) to prevent using `::failures` and `::data` selectors with cross-cluster expressions. For example, `GET my_remote_cluster:logs-*::failures/_search` request will fail early, during expression parsing. To test manually, run `./gradlew run-ccs` and execute the example request. (cherry picked from commit 1d6c6a5) # Conflicts: # server/src/main/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolver.java # x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/parser/StatementParserTests.java * backport also test assertion fix
This PR prevents using `::` selectors in remote index expressions and adds a basing integration test with security off Relates to elastic#125252
This PR prevents using `::` selectors in remote index expressions and adds a basing integration test with security off Relates to elastic#125252
…ff (elastic#125968) This PR prevents using `::` selectors in remote index expressions and adds a basic integration test with security off. Relates to elastic#125252 (cherry picked from commit 83d7fe0) # Conflicts: # server/src/main/java/org/elasticsearch/action/ResolvedIndices.java
Adjust existing RCS1 tests to randomize using API keys for authorization and `skip_unavailable` setting. Followup on #125252
…#125782) Adjust existing RCS1 tests to randomize using API keys for authorization and `skip_unavailable` setting. Followup on elastic#125252
The CCS is currently not supported for failure store backing indices. This PR adjusts the selector parsing (introduced in #118614) to prevent using
::failures
and::data
selectors with cross-cluster expressions.For example,
GET my_remote_cluster:logs-*::failures/_search
request will fail early, during expression parsing.To test manually, run
./gradlew run-ccs
and execute the example request.