-
Notifications
You must be signed in to change notification settings - Fork 564
[FR] Better way to work with non-ecs fields #3262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
👋 Hey @stevengoossensB we hear you! We started reviewing this file a while back in (see #1776 for context). TLDR; The main issue at the time was integration fields sometimes changed between stack versions, and since we backport, forcing us to use this file in some cases. We also explored migrating these fields to the integrations themselves (by opening PRs, e.g. elastic/integrations#5115), which still is a good idea long term (given the fields match older stacks that we support). Can you provide an example field your missing and the full index to the schema? The other options you mentioned may be viable options to solve your issue with subfields. |
My specific example required manually adding the field "panw.panos.action" to the log stream "logs-panw.panos-*." However, I anticipate this issue arising in other scenarios as well. To accommodate the diverse data sources and compliance levels encountered in customer environments, perhaps the tool could introduce an option that loosens ECS compliance requirements. This would enable the tool's validation and deployment capabilities to be utilized more effectively. |
We're planning some future work where we take into account these types of things. In short, we plan to make it easy to bypass some of these checks (e.g. potentially environment variables set to bypass). As we get more issues similar to this we bump the priority, so thank you for raising the issue. Would something like an environment variable bypass help in your situation? |
Bypass would work, skipping that validation, or returning warnings rather then errors (it is still good to know where we are not ECS compliant and where we could improve in the future). |
What I am doing personally as a hack is: 1). Created file: non-ecs-schema_extension.json
2). I am appending that file to: |
I'm doing something similar, by overwriting the non-ecs-schema.json file with my own version. However, in an environment with plenty of index patterns, different custom data sources, custom fields that are used in multiple index patterns,... It becomes a bit of a mess. Maybe there could be a way to just add the exception filed names, regardless of the index, to a list (by specifying them in the * index?) |
Hi, We have hundreds of custom fields, which when using in detection rules we manually add to the non-ecs-schema file. There are a couple of possible improvements i think:
I.m.h.o this will improve the experience, introduce a bit of flexibility and still support the usage of the test case. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This will be addressed through the DAC feature branch Bring Your Own Schema support #3618. |
I'm always frustrated when we use a non-ecs field in our custom rules and I need to manually update the non-ecs-schema.json to include that field.
I would like a possibility to add a field with all of it's subfields, or even a full index to the schema, so the fields don't get checked for ECS compliance, so we can exclude certain indices from ECS validation or put all non-ecs fields as subfields to one field.
The text was updated successfully, but these errors were encountered: