Monitoring data can now be stored in `metrics-*` patterns when collected through elastic-agent. [Our documentation](https://www.elastic.co/guide/en/kibana/current/monitoring-data.html) recommends to use the `monitoring_user` role to view the data in Stack Monitoring application but that role does not have permissions to read from the metrics pattern.

`monitoring_user` should be allowed the same permissions on `metrics-*` as `.monitoring-*`
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authz/RBACEngineTests.java
randomBoolean()
        );
        final PlainActionFuture<PrivilegesCheckResult> future1 = new PlainActionFuture<>();
        engine.checkPrivileges(authzInfo, privilegesToCheck1, privs, future1);
        final PrivilegesCheckResult privilegesCheckResult1 = future1.actionGet();
        
        verify(role).cacheHasPrivileges(any(), eq(privilegesToCheck1), eq(privilegesCheckResult1));
        
        final RuntimeException stallCheckException = new RuntimeException("you shall not pass");
        doThrow(stallCheckException).when(role).checkApplicationResourcePrivileges(anyString(), any(), any(), any(), any());
        Mockito.clearInvocations(role);
        final PlainActionFuture<PrivilegesCheckResult> future2 = new PlainActionFuture<>();
        engine.checkPrivileges(authzInfo, privilegesToCheck1, privs, future2);
        final PrivilegesCheckResult privilegesCheckResult2 = future2.actionGet();
        assertThat(privilegesCheckResult2, is(privilegesCheckResult1));
        
        verify(role, never()).cacheHasPrivileges(any(), any(), any());
        
        final PrivilegesToCheck privilegesToCheck2 = new PrivilegesToCheck(
            new String[0],
            new IndicesPrivileges[0],
            new ApplicationResourcePrivileges[] {
                ApplicationResourcePrivileges.builder()
                    .application(appName)
                    .resources("user/hawkeye/name")
                    .privileges("DATA:read/user/*")
                    .build() },
            randomBoolean()
        );
        final RuntimeException e1 = expectThrows(