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
final User user = new User("joe");
        final boolean changePasswordRequest = randomBoolean();
        final TransportRequest request = changePasswordRequest
            ? new ChangePasswordRequestBuilder(mock(Client.class)).username(user.principal()).request()
            : new HasPrivilegesRequestBuilder(mock(Client.class)).username(user.principal()).request();
        final String action = changePasswordRequest ? ChangePasswordAction.NAME : HasPrivilegesAction.NAME;
        final Authentication.RealmRef authenticatedBy = new Authentication.RealmRef(
            randomAlphaOfLengthBetween(3, 8),
            changePasswordRequest ? randomFrom(ReservedRealm.TYPE, NativeRealmSettings.TYPE) : randomAlphaOfLengthBetween(4, 12),
            randomAlphaOfLengthBetween(3, 8)
        );
        final Authentication authentication = AuthenticationTestHelper.builder().realm().realmRef(authenticatedBy).user(user).build(false);
        assertThat(request, instanceOf(UserRequest.class));
        assertTrue(RBACEngine.checkSameUserPermissions(action, request, authentication));
    }
    public void testSameUserPermissionDoesNotAllowNonMatchingUsername() {
        final User authUser = new User("admin", "bar");
        final User user = new User("joe");
        final boolean changePasswordRequest = randomBoolean();
        final String username = randomFrom("", "joe" + randomAlphaOfLengthBetween(1, 5), randomAlphaOfLengthBetween(3, 10));
        final TransportRequest request = changePasswordRequest
            ? new ChangePasswordRequestBuilder(mock(Client.class)).username(username).request()
            : new HasPrivilegesRequestBuilder(mock(Client.class)).username(username).request();
        final String action = changePasswordRequest ? ChangePasswordAction.NAME : HasPrivilegesAction.NAME;
        final Authentication.RealmRef authenticatedBy = new Authentication.RealmRef(
            randomAlphaOfLengthBetween(3, 8),
            randomAlphaOfLengthBetween(4, 12),
            randomAlphaOfLengthBetween(3, 8)
        );
        final Authentication.RealmRef lookedUpBy = new Authentication.RealmRef(