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

[RFC] Extend event.kind allowed values with asset #2178

Merged
merged 7 commits into from
Mar 31, 2023

Conversation

taylor-swanson
Copy link
Contributor

This RFC proposes extending event.kind with an additional allowed value, asset. For the Entity Analytics project, we are looking to identify user, host, and other types of entity assets.

@taylor-swanson taylor-swanson self-assigned this Mar 2, 2023
@taylor-swanson taylor-swanson marked this pull request as ready for review March 2, 2023 16:44
@taylor-swanson taylor-swanson requested a review from a team as a code owner March 2, 2023 16:44
@taylor-swanson
Copy link
Contributor Author

@SourinPaul or @MikePaquette, feel free to add any links or other notes that should be added to the RFC. (If you want, just comment and I'll add it to the markdown document).

# 0038: Extend event.kind allowed values with asset
<!-- Leave this ID at 0000. The ECS team will assign a unique, contiguous RFC number upon merging the initial stage of this RFC. -->

- Stage: **0 (strawperson)** <!-- Update to reflect target stage. See https://elastic.github.io/ecs/stages.html -->
Copy link
Member

Choose a reason for hiding this comment

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

Since the scope of this change is small and the proposal is already well detailed, I propose we target stage 2 initially instead of stage 0.

By moving to stage 2, event.kind: asset will be added into ECS but as a beta allowed value. We'll still have some flexibility to make adjustments if necessary.

@taylor-swanson if you agree with targeting to stage 2, can you capture any necessary detail in the Scope of impact and Concerns?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ebeahan, That seems to be reasonable to me.

@SourinPaul, do we have anything specific to call out here for Scope of Impact or Concerns? I can add them to the PR once we have them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

cc @MikePaquette in case you have any additional input here (see my comment for Sourin immediately above).

Copy link
Contributor

@SourinPaul SourinPaul Mar 28, 2023

Choose a reason for hiding this comment

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

Scope of Impact:
We expect to consistently use the asset value within the security solution across asset management, external asset integration, and persisting related metadata. This field may be further leveraged in o11y topology work as they also are exploring ways to extend the asset.* fields within ECS.

Concerns:
There are no breaking changes identified. I do not have any concerns to document at this time.

@taylor-swanson, please let me know if I can elaborate anything further. Thanks for driving this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks, @SourinPaul, I think this looks good.

I think this could wait to Stage 3 as Eric mentioned, but to add to his comment below, should we include verbiage in description for asset to say something on the lines of:

This value is used by Elastic Security for asset management solutions.

Usage of this value is reserved, and data ingestion pipelines must not populate event.kind with the value "asset".

Copy link
Member

Choose a reason for hiding this comment

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

data ingestion pipelines must not populate event.kind with the value "asset".

For event:kind: asset events, data pipelines (like the Azure AD user entity integration) will be populating this field, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh good point. I think when I read that initially, I was thinking "anything not our pipeline". I'll remove this line in that case, just keeping that its intended use is with the security solution.

- name: asset
description: >
This value indicates events whose primary purpose is to store an inventory of
assets/entities and their attributes. Assets/entities are objects that are
Copy link
Member

Choose a reason for hiding this comment

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

I think it should be clearer here about what objects fall under our definition of asset. Users and devices are implied from the examples later, but I think it's best our definition be explicit.

We can take it even further and clarify this value is reserved and to be used by features of the Elastic stack, like signal.


## Usage

We want to represent a catalog of assets where each document represents some type of user or device entity. The `event.kind` field with `asset` value will be used to identity these types of documents. It has also been proposed that we combine this with other fields to have a more exact definition. For example, a user document may have these event fields specified:
Copy link
Member

Choose a reason for hiding this comment

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

In the final (stage 3) version, it may be nice to have examples for other entities included here for completeness, like groups and devices, if those definitions are finalized at that point.

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.

LGTM

@ebeahan ebeahan merged commit 1127228 into elastic:main Mar 31, 2023
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.

4 participants