Skip to content

Commit 6dae5a0

Browse files
[JupiterOne] - Fix Cannot execute ILM policy delete step (elastic#140049) (elastic#140058)
This PR focuses on the short term solution which add the `logs-jupiter_one.risks_and_alerts-*` index 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. (cherry picked from commit 4646112) # Conflicts: # x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/store/KibanaOwnedReservedRoleDescriptors.java # x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/security/authz/store/ReservedRolesStoreTests.java
1 parent 463ca87 commit 6dae5a0

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

docs/changelog/140049.yaml

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

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,8 @@ static RoleDescriptor kibanaSystem(String name) {
563563
TransportDeleteIndexAction.TYPE.name()
564564
)
565565
.build(),
566-
// For ExtraHop, QualysGAV, SentinelOne, Island Browser, Cyera, IRONSCALES and Axonius specific actions.
566+
// For ExtraHop, QualysGAV, SentinelOne, Island Browser, Cyera, IRONSCALES, Axonius
567+
// and JupiterOne specific actions.
567568
// Kibana reads, writes and manages this index
568569
// for configured ILM policies.
569570
RoleDescriptor.IndicesPrivileges.builder()
@@ -589,7 +590,8 @@ static RoleDescriptor kibanaSystem(String name) {
589590
"logs-axonius.network-*",
590591
"logs-axonius.storage-*",
591592
"logs-axonius.ticket-*",
592-
"logs-axonius.user-*"
593+
"logs-axonius.user-*",
594+
"logs-jupiter_one.risks_and_alerts-*"
593595
)
594596
.privileges(
595597
"manage",

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2002,7 +2002,8 @@ public void testKibanaSystemRole() {
20022002
assertThat(kibanaRole.indices().allowedIndicesMatcher(RolloverAction.NAME).test(indexAbstraction), is(true));
20032003
});
20042004

2005-
// Tests for third-party agent indices (ExtraHop, QualysGAV, SentinelOne, Island Browser, Cyera, IRONSCALES, Axonius) that
2005+
// Tests for third-party agent indices (ExtraHop, QualysGAV, SentinelOne, Island Browser, Cyera,
2006+
// IRONSCALES, Axonius and JupiterOne) that
20062007
// `kibana_system` has full management access to
20072008
// This includes read, write, create, delete, and all ILM-related management actions.
20082009
Arrays.asList(
@@ -2027,7 +2028,8 @@ public void testKibanaSystemRole() {
20272028
"logs-axonius.network-" + randomAlphaOfLength(randomIntBetween(1, 10)),
20282029
"logs-axonius.storage-" + randomAlphaOfLength(randomIntBetween(1, 10)),
20292030
"logs-axonius.ticket-" + randomAlphaOfLength(randomIntBetween(1, 10)),
2030-
"logs-axonius.user-" + randomAlphaOfLength(randomIntBetween(1, 10))
2031+
"logs-axonius.user-" + randomAlphaOfLength(randomIntBetween(1, 10)),
2032+
"logs-jupiter_one.risks_and_alerts-" + randomAlphaOfLength(randomIntBetween(1, 10))
20312033
).forEach((index_qualys_extra_hop) -> {
20322034
final IndexAbstraction indexAbstraction = mockIndexAbstraction(index_qualys_extra_hop);
20332035

0 commit comments

Comments
 (0)