Skip to content
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

Add field event.agent_id_status #1454

Merged
merged 4 commits into from
Jun 14, 2021

Conversation

andrewkroh
Copy link
Member

This adds a field that can be used to reflect the status of the agent.id verification performed by the receiving system or data pipeline. If the receiving system checks that the sender is authorized for a given agent.id value then the outcome can be added to this field.

For example you might implement mTLS for authenticating agents sending data to Logstash. You could add the agent's ID to the agent's client cert subject and then validate incoming events in your Logstash pipeline to ensure the data has the agent ID.

Or with Elasticsearch you could provide each of your agents with an API key that has the agent.id associated to the API key metadata. Then using an Ingest Node pipeline you can validate the agent.id against the client's API key metadata.

Copy link
Member

@ebeahan ebeahan left a comment

Choose a reason for hiding this comment

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

Two thoughts about naming and the allowed values:

  1. What about dropping the agent_id_ prefix and simply use mismatch and missing? The prefix feels a bit redundant with the field name specifying agent_id already.
  2. I don't have an issue with event.agent_id_status and understand shorter field names are often preferred, but I do think something more detailed, like event.agent_id_validation_status, describes the field's purpose better.

schemas/event.yml Outdated Show resolved Hide resolved
CHANGELOG.next.md Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
@andrewkroh
Copy link
Member Author

andrewkroh commented Jun 9, 2021

What about dropping the agent_id_ prefix and simply use mismatch and missing? The prefix feels a bit redundant with the field name specifying agent_id` already.

Good idea. That change is reflected in the changes I pushed.

I don't have an issue with event.agent_id_status and understand shorter field names are often preferred, but I do think something more detailed, like event.agent_id_validation_status, describes the field's purpose better.

I had similar thoughts. Initially I had event.agent_id_validation_status, but I struggled with the overall length. So that's how I got to the shorter name. But if more folks weigh in and want the more descriptive value then I can be swayed.

This adds a field that can be used to reflect the status of the agent.id verification performed by the receiving system or data pipeline. If the receiving system checks that the sender is authorized for a given agent.id value then the outcome can be added to this field.

For example you might implement mTLS for authenticating agents sending data to Logstash. You could add the agent's ID to the agent's client cert subject and then validate incoming events in your Logstash pipeline to ensure the data has the agent ID.

Or with Elasticsearch you could provide each of your agents with an API key that has the agent.id associated to the API key metadata. Then using an Ingest Node pipeline you can validate the agent.id against the client's API key metadata.
@andrewkroh andrewkroh force-pushed the feature/event-agent-id-status branch from 1e7cfcb to d9c9904 Compare June 9, 2021 20:53
@andrewkroh
Copy link
Member Author

Doc preview:

Screen Shot 2021-06-09 at 5 19 04 PM

Copy link
Member

@ebeahan ebeahan left a comment

Choose a reason for hiding this comment

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

Thanks, the doc preview for the field looks great 👍

@andrewkroh andrewkroh merged commit 23c95be into elastic:master Jun 14, 2021
ebeahan pushed a commit to ebeahan/ecs that referenced this pull request Jun 14, 2021
* Add field event.agent_id_status

This adds a field that can be used to reflect the status of the agent.id verification performed by the receiving system or data pipeline. If the receiving system checks that the sender is authorized for a given agent.id value then the outcome can be added to this field.

For example you might implement mTLS for authenticating agents sending data to Logstash. You could add the agent's ID to the agent's client cert subject and then validate incoming events in your Logstash pipeline to ensure the data has the agent ID.

Or with Elasticsearch you could provide each of your agents with an API key that has the agent.id associated to the API key metadata. Then using an Ingest Node pipeline you can validate the agent.id against the client's API key metadata.

* Shorten value names, remove allowed_values
# Conflicts:
#	experimental/generated/csv/fields.csv
#	generated/csv/fields.csv
ebeahan added a commit that referenced this pull request Jun 14, 2021
* Add field event.agent_id_status

This adds a field that can be used to reflect the status of the agent.id verification performed by the receiving system or data pipeline. If the receiving system checks that the sender is authorized for a given agent.id value then the outcome can be added to this field.

For example you might implement mTLS for authenticating agents sending data to Logstash. You could add the agent's ID to the agent's client cert subject and then validate incoming events in your Logstash pipeline to ensure the data has the agent ID.

Or with Elasticsearch you could provide each of your agents with an API key that has the agent.id associated to the API key metadata. Then using an Ingest Node pipeline you can validate the agent.id against the client's API key metadata.

* Shorten value names, remove allowed_values

Co-authored-by: Andrew Kroh <andrew.kroh@elastic.co>
andrewkroh added a commit to elastic/kibana that referenced this pull request Jun 21, 2021
…2805)

This updates the Fleet final pipeline added in #100973 to match the specification of
`event.agent_id_status` field as defined in ECS. The field was added to ECS in
elastic/ecs#1454. Basically the values of the field were simplified
from what was originally proposed and implemented.
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Jun 21, 2021
…stic#102805)

This updates the Fleet final pipeline added in elastic#100973 to match the specification of
`event.agent_id_status` field as defined in ECS. The field was added to ECS in
elastic/ecs#1454. Basically the values of the field were simplified
from what was originally proposed and implemented.
kibanamachine added a commit to elastic/kibana that referenced this pull request Jun 22, 2021
…2805) (#102832)

This updates the Fleet final pipeline added in #100973 to match the specification of
`event.agent_id_status` field as defined in ECS. The field was added to ECS in
elastic/ecs#1454. Basically the values of the field were simplified
from what was originally proposed and implemented.

Co-authored-by: Andrew Kroh <andrew.kroh@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants