Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/changelog/134894.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
pr: 134894
summary: "[Cyera] Add `manage`, `create_index`, `read`, `index`, `write`, `delete`, permission for third party agent indices `kibana_system`"
area: Authorization
type: enhancement
issues:
- 134183
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ static RoleDescriptor kibanaSystem(String name) {
TransportDeleteIndexAction.TYPE.name()
)
.build(),
// For ExtraHop, QualysGAV, SentinelOne Application Dataset and Island Browser specific actions.
// For ExtraHop, QualysGAV, SentinelOne Application Dataset, Island Browser and Cyera specific actions.
// Kibana reads, writes and manages this index
// for configured ILM policies.
RoleDescriptor.IndicesPrivileges.builder()
Expand All @@ -509,7 +509,10 @@ static RoleDescriptor kibanaSystem(String name) {
"logs-qualys_gav.asset-*",
"logs-sentinel_one.application-*",
"logs-island_browser.user-*",
"logs-island_browser.device-*"
"logs-island_browser.device-*",
"logs-cyera.classification-*",
"logs-cyera.issue-*",
"logs-cyera.datastore-*"
)
.privileges(
"manage",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1894,15 +1894,18 @@ public void testKibanaSystemRole() {
assertThat(kibanaRole.indices().allowedIndicesMatcher(RolloverAction.NAME).test(indexAbstraction), is(true));
});

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

Expand Down