Skip to content

Commit 8ed88e2

Browse files
committed
changes on comments to PR
1 parent a676235 commit 8ed88e2

File tree

2 files changed

+18
-32
lines changed

2 files changed

+18
-32
lines changed

alerting/src/test/kotlin/org/opensearch/alerting/AlertingRestTestCase.kt

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1135,31 +1135,7 @@ abstract class AlertingRestTestCase : ODFERestTestCase() {
11351135
client().performRequest(request)
11361136
}
11371137

1138-
fun createIndexRoleWithDocLevelSecurity(name: String, index: String, dlsQuery: String) {
1139-
val request = Request("PUT", "/_plugins/_security/api/roles/$name")
1140-
var entity = "{\n" +
1141-
"\"cluster_permissions\": [\n" +
1142-
"],\n" +
1143-
"\"index_permissions\": [\n" +
1144-
"{\n" +
1145-
"\"index_patterns\": [\n" +
1146-
"\"$index\"\n" +
1147-
"],\n" +
1148-
"\"dls\": \"$dlsQuery\",\n" +
1149-
"\"fls\": [],\n" +
1150-
"\"masked_fields\": [],\n" +
1151-
"\"allowed_actions\": [\n" +
1152-
"\"crud\"\n" +
1153-
"]\n" +
1154-
"}\n" +
1155-
"],\n" +
1156-
"\"tenant_permissions\": []\n" +
1157-
"}"
1158-
request.setJsonEntity(entity)
1159-
client().performRequest(request)
1160-
}
1161-
1162-
fun createCustomIndexRoleWithDocLevelSecurity(name: String, index: String, dlsQuery: String, clusterPermissions: String?) {
1138+
fun createIndexRoleWithDocLevelSecurity(name: String, index: String, dlsQuery: String, clusterPermissions: String? = "") {
11631139
val request = Request("PUT", "/_plugins/_security/api/roles/$name")
11641140
var entity = "{\n" +
11651141
"\"cluster_permissions\": [\n" +

alerting/src/test/kotlin/org/opensearch/alerting/resthandler/SecureMonitorRestApiIT.kt

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,13 @@ class SecureMonitorRestApiIT : AlertingRestTestCase() {
9696
// Create Monitor related security tests
9797
fun `test create monitor with an user with alerting role`() {
9898

99-
createUserWithTestData(user, TEST_HR_INDEX, TEST_HR_ROLE, TEST_HR_BACKEND_ROLE)
100-
createUserRolesMapping(ALERTING_FULL_ACCESS_ROLE, arrayOf(user))
99+
createUserWithTestDataAndCustomRole(
100+
user,
101+
TEST_HR_INDEX,
102+
TEST_HR_ROLE,
103+
TEST_HR_BACKEND_ROLE,
104+
getClusterPermissionsFromCustomRole(ALERTING_INDEX_MONITOR_ACCESS)
105+
)
101106
try {
102107
// randomMonitor has a dummy user, api ignores the User passed as part of monitor, it picks user info from the logged-in user.
103108
val monitor = randomQueryLevelMonitor().copy(
@@ -113,7 +118,6 @@ class SecureMonitorRestApiIT : AlertingRestTestCase() {
113118
assertUserNull(createResponse?.asMap()!!["monitor"] as HashMap<String, Any>)
114119
} finally {
115120
deleteRoleAndRoleMapping(TEST_HR_ROLE)
116-
deleteRoleMapping(ALERTING_FULL_ACCESS_ROLE)
117121
}
118122
}
119123

@@ -451,7 +455,13 @@ class SecureMonitorRestApiIT : AlertingRestTestCase() {
451455
assertEquals("Unexpected status", RestStatus.FORBIDDEN, e.response.restStatus())
452456
}
453457
// add alerting roles and search as userOne - must return 1 docs
454-
createUserRolesMapping(ALERTING_FULL_ACCESS_ROLE, arrayOf(user))
458+
createUserWithTestDataAndCustomRole(
459+
user,
460+
TEST_HR_INDEX,
461+
TEST_HR_ROLE,
462+
TEST_HR_BACKEND_ROLE,
463+
getClusterPermissionsFromCustomRole(ALERTING_SEARCH_MONITOR_ONLY_ACCESS)
464+
)
455465
try {
456466
val userOneSearchResponse = userClient?.makeRequest(
457467
"POST",
@@ -462,7 +472,7 @@ class SecureMonitorRestApiIT : AlertingRestTestCase() {
462472
assertEquals("Search monitor failed", RestStatus.OK, userOneSearchResponse?.restStatus())
463473
assertEquals("Monitor not found during search", 1, getDocs(userOneSearchResponse))
464474
} finally {
465-
deleteRoleMapping(ALERTING_FULL_ACCESS_ROLE)
475+
deleteRoleAndRoleMapping(TEST_HR_ROLE)
466476
}
467477
}
468478

@@ -822,7 +832,7 @@ class SecureMonitorRestApiIT : AlertingRestTestCase() {
822832

823833
createUser(user, user, arrayOf(TEST_HR_BACKEND_ROLE))
824834
createTestIndex(TEST_HR_INDEX)
825-
createCustomIndexRoleWithDocLevelSecurity(TEST_HR_ROLE, TEST_HR_INDEX, TERM_DLS_QUERY, getClusterPermissionsFromCustomRole(ALERTING_INDEX_MONITOR_ACCESS))
835+
createIndexRoleWithDocLevelSecurity(TEST_HR_ROLE, TEST_HR_INDEX, TERM_DLS_QUERY, getClusterPermissionsFromCustomRole(ALERTING_INDEX_MONITOR_ACCESS))
826836
createUserRolesMapping(TEST_HR_ROLE, arrayOf(user))
827837

828838
// Add a doc that is accessible to the user
@@ -872,7 +882,7 @@ class SecureMonitorRestApiIT : AlertingRestTestCase() {
872882

873883
createUser(user, user, arrayOf(TEST_HR_BACKEND_ROLE))
874884
createTestIndex(TEST_HR_INDEX)
875-
createCustomIndexRoleWithDocLevelSecurity(TEST_HR_ROLE, TEST_HR_INDEX, TERM_DLS_QUERY, getClusterPermissionsFromCustomRole(ALERTING_INDEX_MONITOR_ACCESS))
885+
createIndexRoleWithDocLevelSecurity(TEST_HR_ROLE, TEST_HR_INDEX, TERM_DLS_QUERY, getClusterPermissionsFromCustomRole(ALERTING_INDEX_MONITOR_ACCESS))
876886
createUserRolesMapping(TEST_HR_ROLE, arrayOf(user))
877887

878888
// Add a doc that is accessible to the user

0 commit comments

Comments
 (0)