### Description

In Elasticsearch, all GET requests that have a body must also support that body being passed as a URL parameter named `source`. (This is because GET requests with a body are not standardized and not all clients can support it.)

The `RestSearchProfilesAction` does not support the "source" parameter, as shown in this test failure:
```
./gradlew ':x-pack:plugin:yamlRestTest' \
  --tests "org.elasticsearch.xpack.test.rest.XPackRestIT.test {p0=user_profile/10_basic/Test search user profile}"  \
  -Dtests.seed=70BB2C6E68358B31 -Dtests.locale=lv -Dtests.timezone=Europe/Skopje \
  -Druntime.java=17 -Dtests.fips.enabled=true
```

You can solve this by switching `hasContent` + `contentParser` to `hasContentOrSourceParam()` + `contentOrSourceParamParser()` (for an example, see `RestQueryApiKeyAction`)
  
x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/rest/action/profile/RestSearchProfilesAction.java
PARSER.declareInt(optionalConstructorArg(), new ParseField("size"));
    }
    public RestSearchProfilesAction(Settings settings, XPackLicenseState licenseState) {
        super(settings, licenseState);
    }
    @Override
    public List<Route> routes() {
        return List.of(new Route(GET, "/_security/profile/_search"), new Route(POST, "/_security/profile/_search"));
    }
    @Override
    public String getName() {
        return "xpack_security_search_profile";
    }
    @Override
    protected RestChannelConsumer innerPrepareRequest(RestRequest request, NodeClient client) throws IOException {
        final Set<String> dataKeys = Strings.tokenizeByCommaToSet(request.param("data", null));
        final Payload payload = request.hasContent() ? PARSER.parse(request.contentParser(), null) : new Payload(null, null);
        final SearchProfilesRequest searchProfilesRequest = new SearchProfilesRequest(dataKeys, payload.name(), payload.size());
        return channel -> client.execute(SearchProfilesAction.INSTANCE, searchProfilesRequest, new RestToXContentListener<>(channel));
    }
    record Payload(String name, Integer size) {
        public String name() {
            return name != null ? name : "";
        }
        public Integer size() {
            return size != null ? size : 10;
        }
    }
}