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

[Connectors] ServiceNow ITSM & SIR Application #105440

Merged
merged 101 commits into from
Oct 12, 2021
Merged
Show file tree
Hide file tree
Changes from 98 commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
066f9b0
POC
cnasikas Jul 13, 2021
0cd0027
Before and after saving connector callbacks
cnasikas Jul 19, 2021
ed3f37f
Draft callbacks on SN
cnasikas Jul 19, 2021
48c9144
Migrate legacy connectors
cnasikas Jul 19, 2021
e0537c6
Add deprecated connector
cnasikas Jul 19, 2021
2ea1e10
Fix callbacks types
cnasikas Jul 19, 2021
c16d69d
Pass isEdit to connector forms
cnasikas Jul 19, 2021
5689c65
Get application info hook
cnasikas Jul 19, 2021
748204e
Validate instance on save
cnasikas Jul 19, 2021
09be958
Support both legacy and new app
cnasikas Jul 20, 2021
518011f
Seperate SIR
cnasikas Jul 20, 2021
503755b
Log application version & and throw otherwise
cnasikas Jul 20, 2021
8962a49
Deprecated tooltip cases
cnasikas Jul 20, 2021
3685dd1
Deprecated tooltip alerts
cnasikas Jul 20, 2021
0fb1807
Improve message
cnasikas Jul 21, 2021
6e677e1
Improve translation
cnasikas Jul 25, 2021
fdb8fc8
Change to elastic table & fix types
cnasikas Aug 5, 2021
688f83d
Add callbacks to add modal
cnasikas Aug 5, 2021
44f0e23
Pass new props to tests
cnasikas Aug 5, 2021
4775d62
Change health api url to production
cnasikas Aug 5, 2021
9e56803
Better installation message
cnasikas Aug 5, 2021
b5eef2f
Migrate connectors functionality
cnasikas Aug 5, 2021
f4ca823
Change migration version to 7.16
cnasikas Aug 31, 2021
8651cc7
Fix bug
cnasikas Aug 31, 2021
484156b
Improve message
cnasikas Sep 1, 2021
1d1b4e7
Use feature flag
cnasikas Sep 3, 2021
1c1ea44
Create credentials component
cnasikas Sep 7, 2021
bbcdf03
Add form to migration modal
cnasikas Sep 7, 2021
569c5fc
Improve installation callout
cnasikas Sep 16, 2021
d29e4a7
Improve deprecated callout
cnasikas Sep 16, 2021
9354925
Improve modal
cnasikas Sep 16, 2021
79c56cb
Improve application required modal
cnasikas Sep 16, 2021
24a6d21
Improve SN form
cnasikas Sep 16, 2021
3d220c4
Support both connectors
cnasikas Sep 18, 2021
8086ce1
Support correlation attributes
cnasikas Sep 18, 2021
c05a4cb
Use same component for SIR
cnasikas Sep 18, 2021
ec7bfb7
Prevent using legacy connectors when creating a case
cnasikas Sep 18, 2021
729c8e9
Add observables
cnasikas Sep 21, 2021
4d22f7a
Unique observables
cnasikas Sep 21, 2021
1ba41d7
Push only if there are observables
cnasikas Sep 21, 2021
783e44e
Change labels to plural
cnasikas Sep 27, 2021
b9f95e0
Pass correlation ID and value
cnasikas Sep 27, 2021
6df9ed3
Show errors on the callout
cnasikas Sep 27, 2021
9c8ebf2
Improve alerts tooltip
cnasikas Sep 27, 2021
47fc26a
Improve cases tooltip
cnasikas Sep 27, 2021
3c0b9db
Warning callout on cases configuration page
cnasikas Sep 27, 2021
c306206
Fix tooltip content
cnasikas Sep 27, 2021
3a17b5f
Add help text
cnasikas Sep 27, 2021
4129666
Change from string to array
cnasikas Sep 27, 2021
caa4292
Fix i18n
cnasikas Sep 27, 2021
a855d0f
Fix spelling
cnasikas Sep 28, 2021
3af5428
Update incidents for ITSM
cnasikas Sep 28, 2021
e446115
Update incidents for SIR
cnasikas Sep 28, 2021
6a3db84
Fix types
cnasikas Sep 28, 2021
59fee89
Fix backend tests
cnasikas Sep 28, 2021
6d95208
Fix frontend tests
cnasikas Sep 28, 2021
8711f17
Add service tests
cnasikas Sep 28, 2021
394acb4
Fix i18n
cnasikas Sep 28, 2021
378fe22
Merge branch 'master' into sn_import_set
kibanamachine Sep 28, 2021
955b1a6
Fix cypress test
cnasikas Sep 28, 2021
b250d23
Improve ServiceNow intergration tests
cnasikas Sep 29, 2021
b57fd00
Fix cases integration tests
cnasikas Sep 29, 2021
224eca1
Fix triggers actions ui end to end test
cnasikas Sep 29, 2021
d355074
Fix tests
cnasikas Sep 29, 2021
6782970
Rename modal
cnasikas Sep 29, 2021
0d48027
Show error message on modal
cnasikas Sep 29, 2021
b051285
Create useOldConnector helper
cnasikas Sep 29, 2021
c4b1865
Show the update incident toggle only on new connectors
cnasikas Sep 29, 2021
5ae1eb4
Add observables for old connectors
cnasikas Sep 29, 2021
6ddd323
Fix error when obs are empty
cnasikas Sep 29, 2021
a5bec1f
Enable SIR for alerts
cnasikas Sep 29, 2021
3ae7b4d
Fix types
cnasikas Sep 29, 2021
7f33adc
Improve combineObservables
cnasikas Sep 30, 2021
bdd26ce
Add test for the sir api
cnasikas Sep 30, 2021
2119f85
Add test for the sir service
cnasikas Sep 30, 2021
6777b94
Add documentation
cnasikas Sep 30, 2021
79dcb32
Merge branch 'master' into sn_import_set
cnasikas Sep 30, 2021
196c13e
PR feedback
cnasikas Oct 1, 2021
baa7834
Improve cases deprecated callouts
cnasikas Oct 1, 2021
33ce596
Improve observables format
cnasikas Oct 1, 2021
e2b6de2
Add integration tests for SIR
cnasikas Oct 1, 2021
cca7e80
Merge branch 'master' into sn_import_set
cnasikas Oct 4, 2021
1951495
Fix doc error
cnasikas Oct 4, 2021
dd9977c
Add config tests
cnasikas Oct 4, 2021
3932eb3
Add getIncident tests
cnasikas Oct 4, 2021
91ced67
Add util tests
cnasikas Oct 4, 2021
139ede7
Add migration tests
cnasikas Oct 4, 2021
b7f5bd2
Add tests for connectors and improve callouts
cnasikas Oct 4, 2021
da3358e
Add more tests
cnasikas Oct 4, 2021
8fead64
Add more UI tests
cnasikas Oct 5, 2021
70553f4
Merge branch 'master' into sn_import_set
kibanamachine Oct 5, 2021
4da14e8
Merge branch 'master' into sn_import_set
kibanamachine Oct 6, 2021
73700f2
Merge branch 'master' into sn_import_set
kibanamachine Oct 6, 2021
6d75546
PR feedback
cnasikas Oct 7, 2021
d2b1443
Test CI
cnasikas Oct 7, 2021
44cdf20
Improve integration tests
cnasikas Oct 7, 2021
766dcf6
Seperate ServiceNow integration tests
cnasikas Oct 11, 2021
409e31d
Merge branch 'master' into sn_import_set
cnasikas Oct 11, 2021
a801944
PR feedback
cnasikas Oct 12, 2021
97ef352
Merge branch 'master' into sn_import_set
kibanamachine Oct 12, 2021
3782c50
Merge branch 'master' into sn_import_set
kibanamachine Oct 12, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/developer/plugin-list.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,8 @@ The plugin exposes the static DefaultEditorController class to consume.


|{kib-repo}blob/{branch}/x-pack/plugins/cases/README.md[cases]
|Case management in Kibana
|[![Issues][issues-shield]][issues-url]
[![Pull Requests][pr-shield]][pr-url]


|{kib-repo}blob/{branch}/x-pack/plugins/cloud/README.md[cloud]
Expand Down
6 changes: 5 additions & 1 deletion docs/management/action-types.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,14 @@ a| <<server-log-action-type, ServerLog>>

| Add a message to a Kibana log.

a| <<servicenow-action-type, ServiceNow>>
a| <<servicenow-action-type, ServiceNow ITSM>>

| Create an incident in ServiceNow.

a| <<servicenow-sir-action-type, ServiceNow SecOps>>

| Create a security incident in ServiceNow.

a| <<slack-action-type, Slack>>

| Send a message to a Slack channel or user.
Expand Down
89 changes: 89 additions & 0 deletions docs/management/connectors/action-types/servicenow-sir.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
[role="xpack"]
[[servicenow-sir-action-type]]
=== ServiceNow connector and action
++++
<titleabbrev>ServiceNow SecOps</titleabbrev>
++++

The ServiceNow SecOps connector uses the https://docs.servicenow.com/bundle/orlando-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html[V2 Table API] to create ServiceNow security incidents.

[float]
[[servicenow-sir-connector-configuration]]
==== Connector configuration

ServiceNow SecOps connectors have the following configuration properties.

Name:: The name of the connector. The name is used to identify a connector in the **Stack Management** UI connector listing, and in the connector list when configuring an action.
URL:: ServiceNow instance URL.
Username:: Username for HTTP Basic authentication.
Password:: Password for HTTP Basic authentication.

The ServiceNow user requires at minimum read, create, and update access to the Security Incident table and read access to the https://docs.servicenow.com/bundle/paris-platform-administration/page/administer/localization/reference/r_ChoicesTable.html[sys_choice]. If you don't provide access to sys_choice, then the choices will not render.

[float]
[[servicenow-sir-connector-networking-configuration]]
==== Connector networking configuration

Use the <<action-settings, Action configuration settings>> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations.

[float]
[[Preconfigured-servicenow-sir-configuration]]
==== Preconfigured connector type

[source,text]
--
my-servicenow-sir:
name: preconfigured-servicenow-connector-type
actionTypeId: .servicenow-sir
config:
apiUrl: https://dev94428.service-now.com/
secrets:
username: testuser
password: passwordkeystorevalue
--

Config defines information for the connector type.

`apiUrl`:: An address that corresponds to *URL*.

Secrets defines sensitive information for the connector type.

`username`:: A string that corresponds to *Username*.
`password`:: A string that corresponds to *Password*. Should be stored in the <<creating-keystore, {kib} keystore>>.

[float]
[[define-servicenow-sir-ui]]
==== Define connector in Stack Management

Define ServiceNow SecOps connector properties.

[role="screenshot"]
image::management/connectors/images/servicenow-sir-connector.png[ServiceNow SecOps connector]

Test ServiceNow SecOps action parameters.

[role="screenshot"]
image::management/connectors/images/servicenow-sir-params-test.png[ServiceNow SecOps params test]

[float]
[[servicenow-sir-action-configuration]]
==== Action configuration

ServiceNow SecOps actions have the following configuration properties.

Short description:: A short description for the incident, used for searching the contents of the knowledge base.
Source Ips:: A list of source IPs related to the incident. The IPs will be added as observables to the security incident.
Destination Ips:: A list of destination IPs related to the incident. The IPs will be added as observables to the security incident.
Malware URLs:: A list of malware URLs related to the incident. The URLs will be added as observables to the security incident.
Malware Hashes:: A list of malware hashes related to the incident. The hashes will be added as observables to the security incident.
Priority:: The priority of the incident.
Category:: The category of the incident.
Subcategory:: The subcategory of the incident.
Description:: The details about the incident.
Additional comments:: Additional information for the client, such as how to troubleshoot the issue.

[float]
[[configuring-servicenow-sir]]
==== Configure ServiceNow SecOps

ServiceNow offers free https://developer.servicenow.com/dev.do#!/guides/madrid/now-platform/pdi-guide/obtaining-a-pdi[Personal Developer Instances], which you can use to test incidents.
14 changes: 8 additions & 6 deletions docs/management/connectors/action-types/servicenow.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
[[servicenow-action-type]]
=== ServiceNow connector and action
++++
<titleabbrev>ServiceNow</titleabbrev>
<titleabbrev>ServiceNow ITSM</titleabbrev>
++++

The ServiceNow connector uses the https://docs.servicenow.com/bundle/orlando-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html[V2 Table API] to create ServiceNow incidents.
The ServiceNow ITSM connector uses the https://docs.servicenow.com/bundle/orlando-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html[V2 Table API] to create ServiceNow incidents.

[float]
[[servicenow-connector-configuration]]
==== Connector configuration

ServiceNow connectors have the following configuration properties.
ServiceNow ITSM connectors have the following configuration properties.

Name:: The name of the connector. The name is used to identify a connector in the **Stack Management** UI connector listing, and in the connector list when configuring an action.
URL:: ServiceNow instance URL.
Expand Down Expand Up @@ -55,12 +55,12 @@ Secrets defines sensitive information for the connector type.
[[define-servicenow-ui]]
==== Define connector in Stack Management

Define ServiceNow connector properties.
Define ServiceNow ITSM connector properties.

[role="screenshot"]
image::management/connectors/images/servicenow-connector.png[ServiceNow connector]

Test ServiceNow action parameters.
Test ServiceNow ITSM action parameters.

[role="screenshot"]
image::management/connectors/images/servicenow-params-test.png[ServiceNow params test]
Expand All @@ -69,11 +69,13 @@ image::management/connectors/images/servicenow-params-test.png[ServiceNow params
[[servicenow-action-configuration]]
==== Action configuration

ServiceNow actions have the following configuration properties.
ServiceNow ITSM actions have the following configuration properties.

Urgency:: The extent to which the incident resolution can delay.
Severity:: The severity of the incident.
Impact:: The effect an incident has on business. Can be measured by the number of affected users or by how critical it is to the business in question.
Category:: The category of the incident.
Subcategory:: The category of the incident.
Short description:: A short description for the incident, used for searching the contents of the knowledge base.
Description:: The details about the incident.
Additional comments:: Additional information for the client, such as how to troubleshoot the issue.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/management/connectors/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ include::action-types/teams.asciidoc[]
include::action-types/pagerduty.asciidoc[]
include::action-types/server-log.asciidoc[]
include::action-types/servicenow.asciidoc[]
include::action-types/servicenow-sir.asciidoc[]
include::action-types/swimlane.asciidoc[]
include::action-types/slack.asciidoc[]
include::action-types/webhook.asciidoc[]
Expand Down
Loading