### Description

**Background**
As part of https://github.com/elastic/kibana/issues/104986 we will be adding the ability for Elastic Agents to send agent monitoring data to a remote Elasticsearch cluster. In order to achieve this, we will need a service token for the remote cluster which fleet server will use. 

This service account will need less permissions than the `elastic/fleet-server` as integration data will not be sent to remote clusters yet.

**Service Account Details**

Name: `elastic/fleet-server-remote`

Permissions:
-  for indices `logs-*`, `metrics-*` privileges "write", "create_index", "auto_configure"

x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/service/ServiceAccountServiceTests.java
fileServiceAccountTokenStore = mock(FileServiceAccountTokenStore.class);
        indexServiceAccountTokenStore = mock(IndexServiceAccountTokenStore.class);
        when(fileServiceAccountTokenStore.getTokenSource()).thenReturn(TokenInfo.TokenSource.FILE);
        when(indexServiceAccountTokenStore.getTokenSource()).thenReturn(TokenInfo.TokenSource.INDEX);
        final Settings.Builder builder = Settings.builder().put("xpack.security.enabled", true);
        client = mock(Client.class);
        when(client.threadPool()).thenReturn(threadPool);
        serviceAccountService = new ServiceAccountService(client, fileServiceAccountTokenStore, indexServiceAccountTokenStore);
    }
    @After
    public void stopThreadPool() {
        terminate(threadPool);
    }
    public void testGetServiceAccountPrincipals() {
        assertThat(
            ServiceAccountService.getServiceAccountPrincipals(),
            containsInAnyOrder("elastic/enterprise-search-server", "elastic/fleet-server", "elastic/kibana")
        );
    }
    public void testTryParseToken() throws IOException, IllegalAccessException {
        
        assertNull(ServiceAccountService.tryParseToken(null));
        final byte[] magicBytes = { 0, 1, 0, 1 };
        final Logger satLogger = LogManager.getLogger(ServiceAccountToken.class);
        Loggers.setLevel(satLogger, Level.TRACE);
        final Logger sasLogger = LogManager.getLogger(ServiceAccountService.class);
        Loggers.setLevel(sasLogger, Level.TRACE);
        final MockLogAppender appender = new MockLogAppender();
        Loggers.addAppender(satLogger, appender);
        Loggers.addAppender(sasLogger, appender);