Skip to content

Commit 7c5a707

Browse files
[Island Browser] - Fix Cannot execute ILM policy delete step (elastic#134636) (elastic#135268)
This PR focuses on the short term solution which add the logs-island_browser.user-* and logs-island_browser.device-* 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. (cherry picked from commit ae63901)
1 parent ac8857d commit 7c5a707

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

docs/changelog/134636.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 134636
2+
summary: "[Island Browser] 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+
- 134136

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -477,11 +477,17 @@ static RoleDescriptor kibanaSystem(String name) {
477477
TransportDeleteIndexAction.TYPE.name()
478478
)
479479
.build(),
480-
// For ExtraHop, QualysGAV, and SentinelOne Application Dataset specific actions. Kibana reads, writes and manages this
481-
// index
480+
// For ExtraHop, QualysGAV, SentinelOne Application Dataset and Island Browser specific actions.
481+
// Kibana reads, writes and manages this index
482482
// for configured ILM policies.
483483
RoleDescriptor.IndicesPrivileges.builder()
484-
.indices("logs-extrahop.investigation-*", "logs-qualys_gav.asset-*", "logs-sentinel_one.application-*")
484+
.indices(
485+
"logs-extrahop.investigation-*",
486+
"logs-qualys_gav.asset-*",
487+
"logs-sentinel_one.application-*",
488+
"logs-island_browser.user-*",
489+
"logs-island_browser.device-*"
490+
)
485491
.privileges(
486492
"manage",
487493
"create_index",

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
@@ -1862,12 +1862,15 @@ public void testKibanaSystemRole() {
18621862
assertThat(kibanaRole.indices().allowedIndicesMatcher(RolloverAction.NAME).test(indexAbstraction), is(true));
18631863
});
18641864

1865-
// Tests for third-party agent indices (ExtraHop, QualysGAV, SentinelOne) that `kibana_system` has full management access to
1865+
// Tests for third-party agent indices (ExtraHop, QualysGAV, SentinelOne, Island Browser) that `kibana_system`
1866+
// has full management access to
18661867
// This includes read, write, create, delete, and all ILM-related management actions.
18671868
Arrays.asList(
18681869
"logs-extrahop.investigation-" + randomAlphaOfLength(randomIntBetween(1, 10)),
18691870
"logs-qualys_gav.asset-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1870-
"logs-sentinel_one.application-" + randomAlphaOfLength(randomIntBetween(1, 10))
1871+
"logs-sentinel_one.application-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1872+
"logs-island_browser.user-" + randomAlphaOfLength(randomIntBetween(1, 10)),
1873+
"logs-island_browser.device-" + randomAlphaOfLength(randomIntBetween(1, 10))
18711874
).forEach((index_qualys_extra_hop) -> {
18721875
final IndexAbstraction indexAbstraction = mockIndexAbstraction(index_qualys_extra_hop);
18731876

0 commit comments

Comments
 (0)