Skip to content

Commit

Permalink
Edit related_integrations field for custom rules in UI [classic] (#5151)
Browse files Browse the repository at this point in the history
* Add new step to all rule types

* Mention type-ahead

* Apply feedback from serverless twin PR

https://github.com/elastic/staging-serverless-security-docs/pull/337

* Apply changes from Ben's review
  • Loading branch information
joepeeples authored Jul 3, 2024
1 parent 7daa866 commit 50c3806
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 18 deletions.
18 changes: 0 additions & 18 deletions docs/detections/prebuilt-rules-management.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -116,21 +116,3 @@ image::images/prebuilt-rules-update-diff.png[Prebuilt rule comparison,75%]
* Update multiple rules: Select the rules and click *Update _x_ selected rule(s)*.
+
TIP: Use the search bar and *Tags* filter to find the rules you want to update. For example, filter by `OS: Windows` if your environment only includes Windows endpoints. For more on tag categories, refer to <<prebuilt-rule-tags>>.

[float]
[[rule-prerequisites]]
=== Confirm rule prerequisites

Many Elastic prebuilt rules are designed to work with specific Elastic integrations and data fields. These prerequisites are identified in the *Related integrations* and *Required fields* fields on a rule's details page (*Rules* -> *Detection rules (SIEM)*, then click a rule's name). *Related integrations* also displays each integration's installation status and includes links for installing and configuring the listed integrations.

Additionally, the *Setup guide* section provides guidance on setting up the rule's requirements.

[role="screenshot"]
image::images/rule-details-prerequisites.png[Rule details page with Related integrations, Required fields, and Setup guide highlighted]

You can also check rules' related integrations in the *Installed Rules* and *Rule Monitoring* tables. Click the *integrations* badge to display the related integrations in a popup.

[role="screenshot"]
image::images/rules-table-related-integrations.png[Rules table with related integrations popup,75%]

TIP: You can hide the *integrations* badge in the rules tables. Go to *{kib}* -> *Stack Management* -> *Advanced Settings*, then turn off `securitySolution:showRelatedIntegrations`.
64 changes: 64 additions & 0 deletions docs/detections/rules-ui-create.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,16 @@ then select:
+
NOTE: If a required job isn't currently running, it will automatically start when you finish configuring and enable the rule.
.. The anomaly score threshold above which alerts are created.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click **Continue** to <<rule-ui-basic-params, configure basic rule settings>>.

[discrete]
Expand Down Expand Up @@ -82,6 +92,15 @@ When you use a saved query, the *Load saved query "_query name_" dynamically on
* Deselect this to load the saved query as a one-time way of populating the rule's *Custom query* field and filters. This copies the settings from the saved query to the rule, so you can then further adjust the rule's query and filters as needed. If the saved query is later changed, the rule will not inherit those changes.

. (Optional, https://www.elastic.co/pricing[Platinum or higher subscription] required) Use *Suppress alerts by* to reduce the number of repeated or duplicate alerts created by the rule. Refer to <<alert-suppression>> for more information.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click **Continue** to <<rule-ui-basic-params, configure basic rule settings>>.

Expand Down Expand Up @@ -109,6 +128,15 @@ You can also leave the *Group by* field undefined. The rule then creates an aler
IMPORTANT: Alerts created by threshold rules are synthetic alerts that do not resemble the source documents. The alert itself only contains data about the fields that were aggregated over (the *Group by* fields). Other fields are omitted, because they can vary across all source documents that were counted toward the threshold. Additionally, you can reference the actual count of documents that exceeded the threshold from the `kibana.alert.threshold_result.count` field.

. preview:[] (Optional, https://www.elastic.co/pricing[Platinum or higher subscription] required) Select *Suppress alerts* to reduce the number of repeated or duplicate alerts created by the rule. Refer to <<alert-suppression>> for more information.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click *Continue* to <<rule-ui-basic-params, configure basic rule settings>>.

Expand Down Expand Up @@ -159,6 +187,15 @@ NOTE: For sequence events, the {security-app} generates a single alert when all
+

. preview:[] (Optional, https://www.elastic.co/pricing[Platinum or higher subscription] required) Use *Suppress alerts by* to reduce the number of repeated or duplicate alerts created by the rule. Refer to <<alert-suppression>> for more information.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click *Continue* to <<rule-ui-basic-params, configure basic rule settings>>.

Expand Down Expand Up @@ -213,6 +250,15 @@ in the Timeline, Timeline query values are replaced with their corresponding ale
field values.
+
. preview:[] (Optional, https://www.elastic.co/pricing[Platinum or higher subscription] required) Select *Suppress alerts* to reduce the number of repeated or duplicate alerts created by the rule. Refer to <<alert-suppression>> for more information.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click *Continue* to <<rule-ui-basic-params, configure basic rule settings>>.

Expand Down Expand Up @@ -259,6 +305,15 @@ IMPORTANT: When checking multiple fields, each unique combination of values from
For example, if a rule has an interval of 5 minutes, no additional look-back time, and a history window size of 7 days, a term will be considered new only if the time it appears within the last 7 days is also within the last 5 minutes. Configure the rule interval and additional look-back time when you <<rule-schedule, set the rule's schedule>>.

. preview:[] (Optional, https://www.elastic.co/pricing[Platinum or higher subscription] required) Use *Suppress alerts by* to reduce the number of repeated or duplicate alerts created by the rule. Refer to <<alert-suppression>> for more information.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click *Continue* to <<rule-ui-basic-params, configure basic rule settings>>.

Expand All @@ -277,6 +332,15 @@ NOTE: Refer to the sections below to learn more about <<esql-rule-query-types,{e
+
TIP: Click the help icon (image:images/esql-help-ref-button.png[Click the ES|QL help icon,20,20]) to open the in-product reference documentation for all {esql} commands and functions.
+

////
The following step is repeated across all rule types. If you change anything
in the step or its sub-steps, apply the change to the other rule types, too.
////
. (Optional) Add *Related integrations* to associate the rule with one or more {integrations-docs}[Elastic integrations]. This indicates the rule's dependency on specific integrations and the data they generate, and allows users to confirm each integration's <<rule-prerequisites,installation status>> when viewing the rule.
.. Click *Add integration*, then select an integration from the list. You can also start typing an integration's name to find it faster.
.. Enter the version of the integration you want to associate with the rule, using https://semver.org[semantic versioning]. For version ranges, you must use tilde or caret syntax. For example, `~1.2.3` is from 1.2.3 to any patch version less than 1.3.0, and `^1.2.3` is from 1.2.3 to any minor and patch version less than 2.0.0.

. Click *Continue* to <<rule-ui-basic-params, configure basic rule settings>>.

[float]
Expand Down
19 changes: 19 additions & 0 deletions docs/detections/rules-ui-manage.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ On the Rules page, you can:
* <<manage-rules-ui>>
* <<snooze-rule-actions>>
* <<import-export-rules-ui>>
* <<rule-prerequisites>>
* <<troubleshoot-signals>>

[float]
Expand Down Expand Up @@ -159,3 +160,21 @@ NOTE: Imported rules must be in an `.ndjson` file.
.. (Optional) Select *Overwrite existing connectors with conflicting action "id"* to update existing connectors if they match the `action id` value of any rule actions in the import file. Configuration data included with the actions is also overwritten.
.. Click *Import rule*.
.. (Optional) If a connector is missing sensitive information after the import, a warning displays and you're prompted to fix the connector. In the warning, click *Go to connector*. On the Connectors page, find the connector that needs to be updated, click *Fix*, then add the necessary details.

[float]
[[rule-prerequisites]]
=== Confirm rule prerequisites

Many detection rules are designed to work with specific {integrations-docs}[Elastic integrations] and data fields. These prerequisites are identified in *Related integrations* and *Required fields* on a rule's details page (*Rules* -> *Detection rules (SIEM)*, then click a rule's name). *Related integrations* also displays each integration's installation status and includes links for installing and configuring the listed integrations.

Additionally, the *Setup guide* section provides guidance on setting up the rule's requirements.

[role="screenshot"]
image::images/rule-details-prerequisites.png[Rule details page with Related integrations, Required fields, and Setup guide highlighted]

You can also check rules' related integrations in the *Installed Rules* and *Rule Monitoring* tables. Click the *integrations* badge to display the related integrations in a popup.

[role="screenshot"]
image::images/rules-table-related-integrations.png[Rules table with related integrations popup,75%]

TIP: You can hide the *integrations* badge in the rules tables. Go to *{kib}* -> *Stack Management* -> *Advanced Settings*, then turn off `securitySolution:showRelatedIntegrations`.

0 comments on commit 50c3806

Please sign in to comment.