Skip to content

Remove ECS field definitions from CDR transform destinations#17552

Merged
maxcold merged 6 commits intoelastic:mainfrom
maxcold:remove-ecs-mappings-transforms
Mar 2, 2026
Merged

Remove ECS field definitions from CDR transform destinations#17552
maxcold merged 6 commits intoelastic:mainfrom
maxcold:remove-ecs-mappings-transforms

Conversation

@maxcold
Copy link
Copy Markdown
Contributor

@maxcold maxcold commented Feb 24, 2026

Proposed commit message

Removes redundant ECS field definitions from transform destination index field mappings across 7 integration packages, now covered by the ecs@mappings component template added to Fleet transform destination index templates (elastic/kibana#223878).

Packages updated: wiz, cloud_security_posture, qualys_vmdr, tenable_io, rapid7_insightvm, aws, microsoft_defender_endpoint

Changes per package:

  • Deleted ecs.yml files containing ECS field definitions from transform field directories
  • Created ecs-overridden.yml where constant_keyword type overrides need to be preserved (qualys_vmdr, rapid7_insightvm, aws)
  • Minor version bumps and changelog entries

Note: The Wiz package also bumps its Kibana version constraint from ~8.16.6 || ~8.17.4 || ^8.18.0 || ^9.0.0 to ^8.19.0 || ^9.1.0 since ecs@mappings was introduced in 8.19.0/9.1.0.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Author's Checklist

  • [ ]

How to test this PR locally

Simplest to use https://github.com/elastic/security-documents-generator command csp to generate some data, build packages from this PR, install them and ingest new data. Everything should work as before. Same for first installing the new version packages and then generating data with the data generator

Related issues

Screenshots

…ered by ecs@mappings component template

Removes redundant ECS field definitions from transform destination index
field mappings across 7 integration packages: wiz, cloud_security_posture,
qualys_vmdr, tenable_io, rapid7_insightvm, aws, and
microsoft_defender_endpoint.

These ECS fields are now provided by the ecs@mappings component template
added to Fleet transform destination index templates. Only constant_keyword
type overrides are preserved in ecs-overridden.yml files where needed.
@maxcold maxcold requested review from kcreddy and opauloh February 24, 2026 17:29
@maxcold maxcold added the enhancement New feature or request label Feb 24, 2026
@maxcold maxcold marked this pull request as ready for review February 25, 2026 11:29
@maxcold maxcold requested review from a team as code owners February 25, 2026 11:29
@andrewkroh andrewkroh added Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] labels Feb 25, 2026
@elasticmachine
Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

Copy link
Copy Markdown
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking care of this.
It would be nice to also rename ecs.yml files which has only overridden fields to ecs-overridden.yml to conform to this change.
Example: aws.config, aws.inspector, aws_securityhub, google_scc etc.

…ransforms

Rename ecs.yml to ecs-overridden.yml for transforms that only contain
constant_keyword type overrides in aws (awsconfig, awsinspector),
aws_securityhub, google_scc, and microsoft_defender_endpoint.
Also strip external: ecs from all ecs-overridden.yml files for consistency.
@maxcold maxcold force-pushed the remove-ecs-mappings-transforms branch from 9b843db to c7d79c2 Compare February 27, 2026 12:50
@elasticmachine
Copy link
Copy Markdown

💔 Build Failed

Failed CI Steps

History

@maxcold
Copy link
Copy Markdown
Contributor Author

maxcold commented Feb 27, 2026

@kcreddy updated

@andrewkroh andrewkroh added Integration:aws_securityhub AWS Security Hub Integration:google_scc Google Security Command Center labels Feb 27, 2026
Copy link
Copy Markdown
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
But would like to get @chrisberkhout thoughts as per his earlier comment - elastic/elastic-package#1641 (comment)

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

Copy link
Copy Markdown
Contributor

@chrisberkhout chrisberkhout left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great!

Very nice to remove the redundant defs and a potential source of divergence between source and destination indexes.
I see the overrides remain, which is good.

The one other case I can think of to have the explicit definitions is when there's an issue with field limit and it's important to ensure that certain fields are definitely present (e.g. for rules) before dynamic mappings fight for what remains. But that should be rare and only a workaround rather than a standard practice.

Not critical to do now, but it would be good to make sure that for each transform the files in elasticsearch/transform/*/fields/*.yml files are identical in name and content to their source data stream's field definition files in data_stream/*/fields/*.yml, except is-transform-source-{false,true}.yml and anything else that doesn't match for a good reason. When definitions exist in only once place, it's good to have them in a uniquely named file. All this will get easier to keep in sync once we start using the elastic-package link function (although it currently has a bug that I'm about to fix).

@maxcold maxcold merged commit 57ce037 into elastic:main Mar 2, 2026
10 checks passed
@maxcold maxcold deleted the remove-ecs-mappings-transforms branch March 2, 2026 18:00
@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package aws - 6.3.0 containing this change is available at https://epr.elastic.co/package/aws/6.3.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package aws_securityhub - 0.2.0 containing this change is available at https://epr.elastic.co/package/aws_securityhub/0.2.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package cloud_security_posture - 3.3.0-preview07 containing this change is available at https://epr.elastic.co/package/cloud_security_posture/3.3.0-preview07/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package google_scc - 2.3.0 containing this change is available at https://epr.elastic.co/package/google_scc/2.3.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package microsoft_defender_endpoint - 4.4.0 containing this change is available at https://epr.elastic.co/package/microsoft_defender_endpoint/4.4.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package qualys_vmdr - 6.16.0 containing this change is available at https://epr.elastic.co/package/qualys_vmdr/6.16.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package rapid7_insightvm - 2.6.0 containing this change is available at https://epr.elastic.co/package/rapid7_insightvm/2.6.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package tenable_io - 4.9.0 containing this change is available at https://epr.elastic.co/package/tenable_io/4.9.0/

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package wiz - 4.1.0 containing this change is available at https://epr.elastic.co/package/wiz/4.1.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Integration:aws_securityhub AWS Security Hub Integration:aws AWS Integration:cloud_security_posture Security Posture Management Integration:google_scc Google Security Command Center Integration:microsoft_defender_endpoint Microsoft Defender for Endpoint Integration:qualys_vmdr Qualys VMDR Integration:rapid7_insightvm Rapid7 InsightVM Integration:tenable_io Tenable Vulnerability Management Integration:wiz Wiz Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants