[Security Solution][PoC] AI 4 SOC navigation #212128
Draft
+133
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This is an example of navigation changes to implement the AI 4 SOC.
It's built on top of existing functionalities (navigationTree, ProductFeatures, AppLinks configs, capabilities...). It does not require any modification of existing frameworks.
Note
When the classic navigation is deprecated we won't need to support both config formats, so we'll be able to clean and simplify the navigation links infrastructure. For now, we need to stay compatible, this is a simple way to accomplish the goal without major changes. When we do the refactor we will be able to create a static nav tree for "AI 4 SOC".
Test:
in your
config/serverless.security.dev.yml
:Important parts:
Left nav links
The
applyAiSocNavigation
is where we update thenavigationTree
only when theproductLevel.ai
is enabled. Here we can make any modifications to the tree:kibana/x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/ai_soc_navigation.ts
Lines 30 to 62 in ea0fcac
Disable links
With the current approach, the easiest way to make links inaccessible (left nav, global search, direct URL access...) it to use the
capabilities
property of the links, and add the capabilities conditionally for the ProductFeature, creating new if necessary.I implemented the example for
rules
,alerts
,explore
,dashboards
,timeline
, andnotes
.