Skip to content

Commit

Permalink
Granting kibana_system reserved role access to "all" privileges to .i…
Browse files Browse the repository at this point in the history
…nternal.preview.alerts* index (#80889) (#81392)

Co-authored-by: Davis Plumlee <[email protected]>
  • Loading branch information
ywangd and dplumlee authored Dec 6, 2021
1 parent 83173fe commit 78918cf
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ public class ReservedRolesStore implements BiConsumer<Set<String>, ActionListene
public static final String ALERTS_BACKING_INDEX = ".internal.alerts*";
public static final String ALERTS_INDEX_ALIAS = ".alerts*";
public static final String PREVIEW_ALERTS_INDEX_ALIAS = ".preview.alerts*";
public static final String PREVIEW_ALERTS_BACKING_INDEX_ALIAS = ".internal.preview.alerts*";

public static final RoleDescriptor SUPERUSER_ROLE_DESCRIPTOR = new RoleDescriptor(
"superuser",
Expand Down Expand Up @@ -678,6 +679,12 @@ public static RoleDescriptor kibanaSystemRoleDescriptor(String name) {
// "Alerts as data" public index alias used in Security Solution
// Kibana system user uses them to read / write alerts.
RoleDescriptor.IndicesPrivileges.builder().indices(ReservedRolesStore.PREVIEW_ALERTS_INDEX_ALIAS).privileges("all").build(),
// "Alerts as data" internal backing indices used in Security Solution
// Kibana system user creates these indices; reads / writes to them via the aliases (see below).
RoleDescriptor.IndicesPrivileges.builder()
.indices(ReservedRolesStore.PREVIEW_ALERTS_BACKING_INDEX_ALIAS)
.privileges("all")
.build(),
// Endpoint / Fleet policy responses. Kibana requires read access to send telemetry
RoleDescriptor.IndicesPrivileges.builder().indices("metrics-endpoint.policy-*").privileges("read").build(),
// Endpoint metrics. Kibana requires read access to send telemetry
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,8 @@ public void testKibanaSystemRole() {
ReservedRolesStore.ALERTS_LEGACY_INDEX + randomAlphaOfLength(randomIntBetween(0, 13)),
ReservedRolesStore.ALERTS_BACKING_INDEX + randomAlphaOfLength(randomIntBetween(0, 13)),
ReservedRolesStore.ALERTS_INDEX_ALIAS + randomAlphaOfLength(randomIntBetween(0, 13)),
ReservedRolesStore.PREVIEW_ALERTS_INDEX_ALIAS + randomAlphaOfLength(randomIntBetween(0, 13))
ReservedRolesStore.PREVIEW_ALERTS_INDEX_ALIAS + randomAlphaOfLength(randomIntBetween(0, 13)),
ReservedRolesStore.PREVIEW_ALERTS_BACKING_INDEX_ALIAS + randomAlphaOfLength(randomIntBetween(0, 13))
).forEach(index -> assertAllIndicesAccessAllowed(kibanaRole, index));

// read-only index access, including cross cluster
Expand Down

0 comments on commit 78918cf

Please sign in to comment.