Skip to content

Add FGAC integration tests for multi-index PPL queries#5581

Draft
finnegancarroll wants to merge 1 commit into
opensearch-project:mainfrom
finnegancarroll:analytics-engine-security-it-wildcards
Draft

Add FGAC integration tests for multi-index PPL queries#5581
finnegancarroll wants to merge 1 commit into
opensearch-project:mainfrom
finnegancarroll:analytics-engine-security-it-wildcards

Conversation

@finnegancarroll

Copy link
Copy Markdown
Contributor

Description

Adds regression tests verifying that FGAC correctly evaluates permissions on all indices in comma-separated multi-source PPL queries. Previously, only the first index in the list was checked, allowing unauthorized access to subsequent indices.

Test cases

Test Scenario
testPPLMultiIndexDeniedWhenSecondIndexUnauthorized source = allowed, forbidden → must be 403
testPPLMultiIndexDeniedWithBackticksAuthorizedFirst Same with backtick-quoted indices
testPPLMultiIndexDeniedWithUnauthorizedFirst source = forbidden, allowed → 403 (control)
testPPLMultiIndexAllowedWhenAllAuthorized source = allowed1, allowed2 → succeeds

Also fixes

Plugin install order in analyticsEngineSecurityIT cluster config — composite-engine must be installed before analytics-backend-lucene (dependency).

Validation

All 4 tests pass on latest upstream main — confirms the bypass is not present on current HEAD.

Signed-off-by: Finnegan Carroll carrofin@amazon.com

@finnegancarroll finnegancarroll force-pushed the analytics-engine-security-it-wildcards branch 13 times, most recently from b6fc89f to 9de2f9d Compare June 24, 2026 23:21
Regression tests for authorization bypass where PPL multi-index queries
(source = idx1, idx2) only evaluated permissions on the first index,
allowing unauthorized access to subsequent indices.

Tests cover:
- Authorized index first, unauthorized second (the bypass vector)
- Backtick-quoted variant of the same
- Unauthorized index first (control: should be denied)
- Both indices authorized (positive case)

Signed-off-by: Finnegan Carroll <carrofin@amazon.com>
Signed-off-by: Finn Carroll <carrofin@amazon.com>
@finnegancarroll finnegancarroll force-pushed the analytics-engine-security-it-wildcards branch from 9de2f9d to 38a327d Compare June 24, 2026 23:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant