### 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
static final ConstructingObjectParser<Payload, Void> PARSER = new ConstructingObjectParser<>(
        "search_profile_request_payload",
        a -> new Payload((String) a[0], (Integer) a[1])
    );
    static {
        PARSER.declareString(optionalConstructorArg(), new ParseField("name"));