Skip to content

Commit 99c5ed6

Browse files
muskan-agarwal26muskan-crestelasticsearchmachineelena-shostakShourieG
committed
[Cyera] - Fix Cannot execute ILM policy delete step (elastic#134894)
This PR focuses on the short term solution which add the logs-cyera.classification-*, logs-cyera.issue-* and logs-cyera.datastore-* indices under the kibana_system role with deletion privileges to prevent a failed deletion error when the index enters the deletion phase for the ILM lifecycle, in upcoming PR. As it ships transform pipeline too hence read, write permissions are also required. --------- Co-authored-by: muskan-crest <[email protected]> Co-authored-by: elasticsearchmachine <[email protected]> Co-authored-by: Elena Shostak <[email protected]> Co-authored-by: Shourie Ganguly <[email protected]> (cherry picked from commit e31eb4b)
1 parent 3e5fb5a commit 99c5ed6

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

docs/changelog/134894.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 134894
2+
summary: "[Cyera] Add `manage`, `create_index`, `read`, `index`, `write`, `delete`, permission for third party agent indices `kibana_system`"
3+
area: Authorization
4+
type: enhancement
5+
issues:
6+
- 134183

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/KibanaOwnedReservedRoleDescriptors.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ static RoleDescriptor kibanaSystem(String name) {
536536
TransportDeleteIndexAction.TYPE.name()
537537
)
538538
.build(),
539-
// For ExtraHop, QualysGAV, SentinelOne Application Dataset and Island Browser specific actions.
539+
// For ExtraHop, QualysGAV, SentinelOne Application Dataset, Island Browser and Cyera specific actions.
540540
// Kibana reads, writes and manages this index
541541
// for configured ILM policies.
542542
RoleDescriptor.IndicesPrivileges.builder()
@@ -545,7 +545,10 @@ static RoleDescriptor kibanaSystem(String name) {
545545
"logs-qualys_gav.asset-*",
546546
"logs-sentinel_one.application-*",
547547
"logs-island_browser.user-*",
548-
"logs-island_browser.device-*"
548+
"logs-island_browser.device-*",
549+
"logs-cyera.classification-*",
550+
"logs-cyera.issue-*",
551+
"logs-cyera.datastore-*"
549552
)
550553
.privileges(
551554
"manage",

x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1915,15 +1915,18 @@ public void testKibanaSystemRole() {
19151915
assertThat(kibanaRole.indices().allowedIndicesMatcher(RolloverAction.NAME).test(indexAbstraction), is(true));
19161916
});
19171917

1918-
// Tests for third-party agent indices (ExtraHop, QualysGAV, SentinelOne, Island Browser) that `kibana_system`
1918+
// Tests for third-party agent indices (ExtraHop, QualysGAV, SentinelOne, Island Browser, Cyera) that `kibana_system`
19191919
// has full management access to
19201920
// This includes read, write, create, delete, and all ILM-related management actions.
19211921
Arrays.asList(
19221922
"logs-extrahop.investigation-" + randomAlphaOfLength(randomIntBetween(1, 10)),
19231923
"logs-qualys_gav.asset-" + randomAlphaOfLength(randomIntBetween(1, 10)),
19241924
"logs-sentinel_one.application-" + randomAlphaOfLength(randomIntBetween(1, 10)),
19251925
"logs-island_browser.user-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1926-
"logs-island_browser.device-" + randomAlphaOfLength(randomIntBetween(1, 10))
1926+
"logs-island_browser.device-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1927+
"logs-cyera.classification-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1928+
"logs-cyera.issue-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1929+
"logs-cyera.datastore-" + randomAlphaOfLength(randomIntBetween(1, 10))
19271930
).forEach((index_qualys_extra_hop) -> {
19281931
final IndexAbstraction indexAbstraction = mockIndexAbstraction(index_qualys_extra_hop);
19291932

0 commit comments

Comments
 (0)