Skip to content

Commit f9dd0a0

Browse files
committed
Adding asset criticality and entity store permissions to built in roles
1 parent 4275bc7 commit f9dd0a0

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

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

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ public class ReservedRolesStore implements BiConsumer<Set<String>, ActionListene
7171
public static final String LISTS_ITEMS_INDEX = ".items-*";
7272
public static final String LISTS_ITEMS_INDEX_REINDEXED_V8 = ".reindexed-v8-items-*";
7373

74+
/** "Security Solutions" Entity Store and Asset Criticality indices for Asset Inventory and Entity Analytics */
75+
public static final String ENTITY_STORE_V1_LATEST_INDEX = ".entities.v1.latest.security*";
76+
public static final String ASSET_CRITICALITY_INDEX = ".asset-criticality.asset-criticality-*";
77+
78+
7479
/** Index pattern for Universal Profiling */
7580
public static final String UNIVERSAL_PROFILING_ALIASES = "profiling-*";
7681
public static final String UNIVERSAL_PROFILING_BACKING_INDICES = ".profiling-*";
@@ -780,7 +785,9 @@ private static RoleDescriptor buildViewerRoleDescriptor() {
780785
ReservedRolesStore.LISTS_ITEMS_INDEX,
781786
ReservedRolesStore.ALERTS_LEGACY_INDEX_REINDEXED_V8,
782787
ReservedRolesStore.LISTS_INDEX_REINDEXED_V8,
783-
ReservedRolesStore.LISTS_ITEMS_INDEX_REINDEXED_V8
788+
ReservedRolesStore.LISTS_ITEMS_INDEX_REINDEXED_V8,
789+
ReservedRolesStore.ENTITY_STORE_V1_LATEST_INDEX,
790+
ReservedRolesStore.ASSET_CRITICALITY_INDEX
784791
)
785792
.privileges("read", "view_index_metadata")
786793
.build(),
@@ -842,10 +849,16 @@ private static RoleDescriptor buildEditorRoleDescriptor() {
842849
ReservedRolesStore.LISTS_ITEMS_INDEX,
843850
ReservedRolesStore.ALERTS_LEGACY_INDEX_REINDEXED_V8,
844851
ReservedRolesStore.LISTS_INDEX_REINDEXED_V8,
845-
ReservedRolesStore.LISTS_ITEMS_INDEX_REINDEXED_V8
852+
ReservedRolesStore.LISTS_ITEMS_INDEX_REINDEXED_V8,
853+
ReservedRolesStore.ASSET_CRITICALITY_INDEX
846854
)
847855
.privileges("read", "view_index_metadata", "write", "maintenance")
848856
.build(),
857+
// Security - Entity Store is view only
858+
RoleDescriptor.IndicesPrivileges.builder()
859+
.indices(ReservedRolesStore.ENTITY_STORE_V1_LATEST_INDEX)
860+
.privileges("read", "view_index_metadata")
861+
.build(),
849862
// Alerts-as-data
850863
RoleDescriptor.IndicesPrivileges.builder()
851864
.indices(

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3669,6 +3669,9 @@ public void testPredefinedViewerRole() {
36693669
assertOnlyReadAllowed(role, ".profiling-" + randomIntBetween(0, 5));
36703670
assertOnlyReadAllowed(role, randomAlphaOfLength(5));
36713671

3672+
assertOnlyReadAllowed(role, ".entities.v1.latest.security" + randomIntBetween(0, 5));
3673+
assertOnlyReadAllowed(role, ".asset-criticality.asset-criticality-" + randomIntBetween(0, 5));
3674+
36723675
assertOnlyReadAllowed(role, ".slo-observability." + randomIntBetween(0, 5));
36733676
assertViewIndexMetadata(role, ".slo-observability." + randomIntBetween(0, 5));
36743677

@@ -3739,6 +3742,7 @@ public void testPredefinedEditorRole() {
37393742
assertOnlyReadAllowed(role, "endgame-" + randomIntBetween(0, 5));
37403743
assertOnlyReadAllowed(role, "profiling-" + randomIntBetween(0, 5));
37413744
assertOnlyReadAllowed(role, ".profiling-" + randomIntBetween(0, 5));
3745+
assertOnlyReadAllowed(role, ".entities.v1.latest.security*" + randomIntBetween(0, 5));
37423746
assertOnlyReadAllowed(role, randomAlphaOfLength(5));
37433747

37443748
assertReadWriteDocsAndMaintenanceButNotDeleteIndexAllowed(role, ".siem-signals-" + randomIntBetween(0, 5));
@@ -3749,6 +3753,7 @@ public void testPredefinedEditorRole() {
37493753
assertReadWriteDocsAndMaintenanceButNotDeleteIndexAllowed(role, ".internal.alerts-" + randomIntBetween(0, 5));
37503754
assertReadWriteDocsAndMaintenanceButNotDeleteIndexAllowed(role, ".preview.alerts-" + randomIntBetween(0, 5));
37513755
assertReadWriteDocsAndMaintenanceButNotDeleteIndexAllowed(role, ".internal.preview.alerts-" + randomIntBetween(0, 5));
3756+
assertReadWriteDocsAndMaintenanceButNotDeleteIndexAllowed(role, ".asset-criticality.asset-criticality-" + randomIntBetween(0, 5));
37523757

37533758
assertViewIndexMetadata(role, ".slo-observability." + randomIntBetween(0, 5));
37543759
assertReadWriteAndManage(role, ".slo-observability." + randomIntBetween(0, 5));

0 commit comments

Comments
 (0)