Skip to content

[Failure Store] ES|QL security tests #125586

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

Merged
Prev Previous commit
Next Next commit
[Failure Store] ES|QL security tests
  • Loading branch information
n1v0lg committed Mar 25, 2025
commit cb7144b789241e6bcf2db3dbc6cb93d5541d4da9
Original file line number Diff line number Diff line change
Expand Up @@ -866,9 +866,11 @@ public void testFailureStoreAccess() throws Exception {
case STAR_READ_ONLY_ACCESS, BOTH_ACCESS, DATA_ACCESS, FAILURE_STORE_ACCESS, FAILURE_INDEX_DATA_ACCESS,
FAILURE_INDEX_FAILURE_ACCESS, BACKING_INDEX_DATA_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case ADMIN_USER, BACKING_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 404);
expectEsqlThrows(user, request, 400);
break;
default:
fail("must cover user: " + user);
Expand Down Expand Up @@ -896,6 +898,7 @@ public void testFailureStoreAccess() throws Exception {
case DATA_ACCESS, FAILURE_STORE_ACCESS, ADMIN_USER, STAR_READ_ONLY_ACCESS, BOTH_ACCESS, BACKING_INDEX_DATA_ACCESS,
BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearch(user, request);
expectEsqlThrows(user, request, 400);
break;
default:
fail("must cover user: " + user);
Expand All @@ -909,6 +912,7 @@ public void testFailureStoreAccess() throws Exception {
case DATA_ACCESS, FAILURE_STORE_ACCESS, ADMIN_USER, STAR_READ_ONLY_ACCESS, BOTH_ACCESS, BACKING_INDEX_DATA_ACCESS,
BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearch(user, request);
expectEsqlThrows(user, request, 400);
break;
default:
fail("must cover user: " + user);
Expand All @@ -922,9 +926,11 @@ public void testFailureStoreAccess() throws Exception {
case DATA_ACCESS, STAR_READ_ONLY_ACCESS, BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS,
FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case ADMIN_USER, FAILURE_STORE_ACCESS, BOTH_ACCESS:
expectSearchThrows(user, request, 404);
expectEsqlThrows(user, request, 400);
break;
default:
fail("must cover user: " + user);
Expand All @@ -951,12 +957,17 @@ public void testFailureStoreAccess() throws Exception {
var request = new Search("test1,test1::failures");
for (var user : users) {
switch (user) {
case DATA_ACCESS, FAILURE_STORE_ACCESS, STAR_READ_ONLY_ACCESS, BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS,
FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
case DATA_ACCESS, FAILURE_STORE_ACCESS, STAR_READ_ONLY_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 403);
break;
case BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case ADMIN_USER, BOTH_ACCESS:
expectSearch(user, request, dataDocId, failuresDocId);
expectEsql(user, request, dataDocId, failuresDocId);
break;
default:
fail("must cover user: " + user);
Expand Down Expand Up @@ -992,12 +1003,17 @@ public void testFailureStoreAccess() throws Exception {
var request = new Search("test1," + failureIndexName);
for (var user : users) {
switch (user) {
case DATA_ACCESS, FAILURE_STORE_ACCESS, BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS,
FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
case DATA_ACCESS, FAILURE_STORE_ACCESS, FAILURE_INDEX_DATA_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 403);
break;
case BACKING_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS, BACKING_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case ADMIN_USER, BOTH_ACCESS, STAR_READ_ONLY_ACCESS:
expectSearch(user, request, dataDocId, failuresDocId);
expectEsql(user, request, dataDocId, failuresDocId);
break;
default:
fail("must cover user: " + user);
Expand Down Expand Up @@ -1032,12 +1048,17 @@ public void testFailureStoreAccess() throws Exception {
var request = new Search("test1::failures," + dataIndexName);
for (var user : users) {
switch (user) {
case DATA_ACCESS, FAILURE_STORE_ACCESS, STAR_READ_ONLY_ACCESS, BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS,
FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
case DATA_ACCESS, FAILURE_STORE_ACCESS, STAR_READ_ONLY_ACCESS, BACKING_INDEX_DATA_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 403);
break;
case BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case ADMIN_USER, BOTH_ACCESS:
expectSearch(user, request, dataDocId, failuresDocId);
expectEsql(user, request, dataDocId, failuresDocId);
break;
default:
fail("must cover user: " + user);
Expand Down Expand Up @@ -1073,15 +1094,21 @@ public void testFailureStoreAccess() throws Exception {
var request = new Search("test1,*::failures");
for (var user : users) {
switch (user) {
case FAILURE_STORE_ACCESS, BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_DATA_ACCESS,
FAILURE_INDEX_FAILURE_ACCESS:
case FAILURE_STORE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 403);
break;
case BACKING_INDEX_DATA_ACCESS, FAILURE_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case DATA_ACCESS, STAR_READ_ONLY_ACCESS:
expectSearch(user, request, dataDocId);
expectEsql(user, request, dataDocId);
break;
case ADMIN_USER, BOTH_ACCESS:
expectSearch(user, request, dataDocId, failuresDocId);
expectEsql(user, request, dataDocId, failuresDocId);
break;
default:
fail("must cover user: " + user);
Expand Down Expand Up @@ -1119,13 +1146,19 @@ public void testFailureStoreAccess() throws Exception {
switch (user) {
case FAILURE_STORE_ACCESS:
expectSearch(user, request, failuresDocId);
expectEsql(user, request, failuresDocId);
break;
case DATA_ACCESS, STAR_READ_ONLY_ACCESS, BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS,
FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
case BACKING_INDEX_DATA_ACCESS, BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_DATA_ACCESS, FAILURE_INDEX_FAILURE_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 400);
break;
case DATA_ACCESS, STAR_READ_ONLY_ACCESS:
expectSearchThrows(user, request, 403);
expectEsqlThrows(user, request, 403);
break;
case ADMIN_USER, BOTH_ACCESS:
expectSearch(user, request, dataDocId, failuresDocId);
expectEsql(user, request, dataDocId, failuresDocId);
break;
default:
fail("must cover user: " + user);
Expand Down Expand Up @@ -1163,15 +1196,19 @@ public void testFailureStoreAccess() throws Exception {
switch (user) {
case FAILURE_STORE_ACCESS:
expectSearch(user, request, failuresDocId);
expectEsql(user, request, failuresDocId);
break;
case DATA_ACCESS, STAR_READ_ONLY_ACCESS:
expectSearch(user, request, dataDocId);
expectEsql(user, request, dataDocId);
break;
case ADMIN_USER, BOTH_ACCESS:
expectSearch(user, request, dataDocId, failuresDocId);
expectEsql(user, request, dataDocId, failuresDocId);
break;
case BACKING_INDEX_FAILURE_ACCESS, FAILURE_INDEX_FAILURE_ACCESS, BACKING_INDEX_DATA_ACCESS, FAILURE_INDEX_DATA_ACCESS:
expectSearch(user, request);
expectEsqlThrows(user, request, 400);
break;
default:
fail("must cover user: " + user);
Expand Down