|  | @@ -993,6 +993,37 @@ public class ReservedRolesStoreTests extends ESTestCase {
 | 
	
		
			
				|  |  |              assertThat(kibanaRole.indices().allowedIndicesMatcher(RolloverAction.NAME).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        // Tests for third-party agent indices that `kibana_system` has only `read` access
 | 
	
		
			
				|  |  | +        Arrays.asList(
 | 
	
		
			
				|  |  | +            "logs-sentinel_one." + randomAlphaOfLength(randomIntBetween(0, 13)),
 | 
	
		
			
				|  |  | +            "logs-crowdstrike." + randomAlphaOfLength(randomIntBetween(0, 13))
 | 
	
		
			
				|  |  | +        ).forEach((index) -> {
 | 
	
		
			
				|  |  | +            final IndexAbstraction indexAbstraction = mockIndexAbstraction(index);
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher("indices:foo").test(indexAbstraction), is(false));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher("indices:bar").test(indexAbstraction), is(false));
 | 
	
		
			
				|  |  | +            assertThat(
 | 
	
		
			
				|  |  | +                kibanaRole.indices().allowedIndicesMatcher(TransportDeleteIndexAction.TYPE.name()).test(indexAbstraction),
 | 
	
		
			
				|  |  | +                is(false)
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(GetIndexAction.NAME).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  | +            assertThat(
 | 
	
		
			
				|  |  | +                kibanaRole.indices().allowedIndicesMatcher(TransportCreateIndexAction.TYPE.name()).test(indexAbstraction),
 | 
	
		
			
				|  |  | +                is(false)
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(TransportIndexAction.NAME).test(indexAbstraction), is(false));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(TransportDeleteAction.NAME).test(indexAbstraction), is(false));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(TransportSearchAction.TYPE.name()).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(TransportMultiSearchAction.TYPE.name()).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(TransportGetAction.TYPE.name()).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(READ_CROSS_CLUSTER_NAME).test(indexAbstraction), is(false));
 | 
	
		
			
				|  |  | +            assertThat(
 | 
	
		
			
				|  |  | +                kibanaRole.indices().allowedIndicesMatcher(TransportUpdateSettingsAction.TYPE.name()).test(indexAbstraction),
 | 
	
		
			
				|  |  | +                is(true)
 | 
	
		
			
				|  |  | +            );
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(TransportPutMappingAction.TYPE.name()).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  | +            assertThat(kibanaRole.indices().allowedIndicesMatcher(RolloverAction.NAME).test(indexAbstraction), is(true));
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          // Index for Endpoint specific actions
 | 
	
		
			
				|  |  |          Arrays.asList(".logs-endpoint.actions-" + randomAlphaOfLength(randomIntBetween(0, 13))).forEach((index) -> {
 | 
	
		
			
				|  |  |              final IndexAbstraction indexAbstraction = mockIndexAbstraction(index);
 |