### 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
final CachingServiceAccountTokenStore store;
            final CachingServiceAccountTokenStore otherStore;
            if (tokenSource == TokenInfo.TokenSource.FILE) {
                store = fileServiceAccountTokenStore;
                otherStore = indexServiceAccountTokenStore;
            } else {
                store = indexServiceAccountTokenStore;
                otherStore = fileServiceAccountTokenStore;
            }
            
            final ServiceAccountId accountId4 = new ServiceAccountId(ElasticServiceAccounts.NAMESPACE, "fleet-server");
            final ServiceAccountToken token4 = new ServiceAccountToken(accountId4, randomAlphaOfLengthBetween(3, 8), secret);
            final ServiceAccountToken token5 = new ServiceAccountToken(
                accountId4,
                randomAlphaOfLengthBetween(3, 8),
                new SecureString(randomAlphaOfLength(20).toCharArray())
            );
            final String nodeName = randomAlphaOfLengthBetween(3, 8);
            doAnswer(invocationOnMock -> {
                @SuppressWarnings("unchecked")
                final ActionListener<ServiceAccountTokenStore.StoreAuthenticationResult> listener = (ActionListener<
                    ServiceAccountTokenStore.StoreAuthenticationResult>) invocationOnMock.getArguments()[1];
                listener.onResponse(new ServiceAccountTokenStore.StoreAuthenticationResult(true, store.getTokenSource()));
                return null;
            }).when(store).authenticate(eq(token4), any());
            doAnswer(invocationOnMock -> {
                @SuppressWarnings("unchecked")
                final ActionListener<ServiceAccountTokenStore.StoreAuthenticationResult> listener = (ActionListener<
                    ServiceAccountTokenStore.StoreAuthenticationResult>) invocationOnMock.getArguments()[1];
                listener.onResponse(new ServiceAccountTokenStore.StoreAuthenticationResult(false, store.getTokenSource()));