Saved Object Mapping for Entity Source Sync Configuration (#219680)

## Summary

This PR introduces a new Saved Object mapping for Monitoring Entity
Source Configurations to support Privileged User Monitoring.

###  Implemented
* Saved object mapping schema aligned with the [current
spec](https://docs.google.com/document/d/1-c6A82p2CCjYz8Mb6tL6R7BXXemQ4mpWZliKqki0SWo/edit?tab=t.0#heading=h.4axxr154e1lc)
* DescriptorClient to handle saved object methods
* OpenAPI schema and generated types
* Implemented Data Client - SO operations exposed via GET and POST API
* Created route and registered with privmonRoutes
* Data Client Unit Testing
* Rename typename of "monitoring_entity_source-sync" ->
"entity-analytics-monitoring-entity-source"

[Figma
](https://www.figma.com/board/yBr1pBDGu4JqNxb5ZrULtk/MonEntitySourceSyncTask?node-id=0-1&p=f&t=4hQaGsdvOpghi4QS-0)-
currently working in the pink box


## Testing Steps: 
1. privilegeMonitoringEnabled: true - set this flag
2. From Dev tools - create a saved object via POST (below) and view this
saved object via GET (also below):


```
POST kbn:/api/entity_analytics/monitoring/entity_source
{
  "type": "some-type-here",
  "name": "name-here",
  "managed": false,
  "indexPattern": "logs-*",
  "enabled": true,
  "integrationName": "Okta",
 "matchers": [
    {
      "fields": ["user.role"],
      "values": ["admin"]
    }
  ],
  "filter": {}
}

```
**Expected output:** 
``` 
{
  "type": "some-type-here",
  "name": "name-here",
  "managed": false,
  "indexPattern": "logs-*",
  "enabled": true,
  "integrationName": "Okta",
  "matchers": [
    {
      "fields": [
        "user.role"
      ],
      "values": [
        "admin"
      ]
    }
  ],
  "filter": {}
}
```
GET Example
```
GET kbn:/api/entity_analytics/monitoring/entity_source
```
Output for get, expected to be the same as that for POST.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Charlotte Alexandra Wilson 2025-06-05 17:16:05 +01:00 committed by GitHub
parent cd02c54c74
commit a3de6d82ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 761 additions and 4 deletions

View file

@ -309,6 +309,19 @@
"schemaVersion"
],
"enterprise_search_telemetry": [],
"entity-analytics-monitoring-entity-source": [
"enabled",
"error",
"filter",
"indexPattern",
"integrationName",
"managed",
"matchers",
"matchers.fields",
"matchers.values",
"name",
"type"
],
"entity-definition": [
"description",
"filter",
@ -828,6 +841,19 @@
"job.job_id",
"model_id"
],
"monitoring-entity-source": [
"enabled",
"error",
"filter",
"indexPattern",
"integrationName",
"managed",
"matchers",
"matchers.fields",
"matchers.values",
"name",
"type"
],
"monitoring-telemetry": [
"reportedClusterUuids"
],

View file

@ -1059,6 +1059,37 @@
"dynamic": false,
"properties": {}
},
"entity-analytics-monitoring-entity-source": {
"dynamic": false,
"properties": {
"enabled": {
"type": "boolean"
},
"error": {
"type": "keyword"
},
"filter": {
"dynamic": false,
"type": "object"
},
"integrationName": {
"type": "keyword"
},
"managed": {
"type": "boolean"
},
"matchers": {
"dynamic": false,
"type": "object"
},
"name": {
"type": "keyword"
},
"type": {
"type": "keyword"
}
}
},
"entity-definition": {
"dynamic": false,
"properties": {