mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
# Backport This will backport the following commits from `main` to `8.12`: - [Add docs for SentinelOne connector (#174696)](https://github.com/elastic/kibana/pull/174696) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Patryk Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2024-02-01T17:15:26Z","message":"Add docs for SentinelOne connector (#174696)\n\n## Summary\r\n\r\nAdd docs for SentinelOne connector\r\n\r\n---------\r\n\r\nCo-authored-by: Joe Peeples <joe.peeples@elastic.co>\r\nCo-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: lcawl <lcawley@elastic.co>","sha":"04004ddaaccb672ae446bcf2ac4e43958f5f5194","branchLabelMapping":{"^v8.13.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","docs","Feature:Actions/ConnectorTypes","v8.12.0","v8.13.0"],"title":"Add docs for SentinelOne connector","number":174696,"url":"https://github.com/elastic/kibana/pull/174696","mergeCommit":{"message":"Add docs for SentinelOne connector (#174696)\n\n## Summary\r\n\r\nAdd docs for SentinelOne connector\r\n\r\n---------\r\n\r\nCo-authored-by: Joe Peeples <joe.peeples@elastic.co>\r\nCo-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: lcawl <lcawley@elastic.co>","sha":"04004ddaaccb672ae446bcf2ac4e43958f5f5194"}},"sourceBranch":"main","suggestedTargetBranches":["8.12"],"targetPullRequestStates":[{"branch":"8.12","label":"v8.12.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.13.0","branchLabelMappingKey":"^v8.13.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/174696","number":174696,"mergeCommit":{"message":"Add docs for SentinelOne connector (#174696)\n\n## Summary\r\n\r\nAdd docs for SentinelOne connector\r\n\r\n---------\r\n\r\nCo-authored-by: Joe Peeples <joe.peeples@elastic.co>\r\nCo-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: lcawl <lcawley@elastic.co>","sha":"04004ddaaccb672ae446bcf2ac4e43958f5f5194"}}]}] BACKPORT--> Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
This commit is contained in:
parent
3457f326b7
commit
22d5c4d220
8 changed files with 98 additions and 0 deletions
|
@ -47,6 +47,10 @@ a| <<pagerduty-action-type,PagerDuty>>
|
|||
|
||||
| Send an event in PagerDuty.
|
||||
|
||||
a| <<sentinelone-action-type,SentinelOne>>
|
||||
|
||||
| Send a request to SentinelOne.
|
||||
|
||||
a| <<server-log-action-type,ServerLog>>
|
||||
|
||||
| Add a message to a Kibana log.
|
||||
|
|
39
docs/management/connectors/action-types/sentinelone.asciidoc
Normal file
39
docs/management/connectors/action-types/sentinelone.asciidoc
Normal file
|
@ -0,0 +1,39 @@
|
|||
[[sentinelone-action-type]]
|
||||
== SentinelOne connector
|
||||
++++
|
||||
<titleabbrev>SentinelOne</titleabbrev>
|
||||
++++
|
||||
:frontmatter-description: Add a connector that can use the SentinelOne API to send actions.
|
||||
:frontmatter-tags-products: [kibana]
|
||||
:frontmatter-tags-content-type: [how-to]
|
||||
:frontmatter-tags-user-goals: [configure]
|
||||
|
||||
preview::[]
|
||||
|
||||
The SentinelOne connector communicates with SentinelOne Management Console via REST API.
|
||||
|
||||
[float]
|
||||
[[define-sentinelone-ui]]
|
||||
=== Create connectors in {kib}
|
||||
|
||||
You can create connectors in *{stack-manage-app} > {connectors-ui}*. For example:
|
||||
|
||||
[role="screenshot"]
|
||||
image::management/connectors/images/sentinelone-connector.png[SentinelOne connector]
|
||||
// NOTE: This is an autogenerated screenshot. Do not edit it directly.
|
||||
|
||||
[float]
|
||||
[[sentinelone-connector-configuration]]
|
||||
==== Connector configuration
|
||||
|
||||
SentinelOne connectors have the following configuration properties:
|
||||
|
||||
API token:: A SentinelOne API token created by the user.
|
||||
URL:: The SentinelOne tenant URL. If you are using the <<action-settings,`xpack.actions.allowedHosts`>> setting, make sure the hostname is added to the allowed hosts.
|
||||
|
||||
|
||||
[float]
|
||||
[[sentinelone-action-parameters]]
|
||||
=== Test connectors
|
||||
|
||||
At this time, you cannot test the SentinelOne connector.
|
BIN
docs/management/connectors/images/sentinelone-connector.png
Normal file
BIN
docs/management/connectors/images/sentinelone-connector.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 142 KiB |
BIN
docs/management/connectors/images/sentinelone-params-test.png
Normal file
BIN
docs/management/connectors/images/sentinelone-params-test.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 88 KiB |
|
@ -8,6 +8,7 @@ include::action-types/teams.asciidoc[leveloffset=+1]
|
|||
include::action-types/openai.asciidoc[leveloffset=+1]
|
||||
include::action-types/opsgenie.asciidoc[leveloffset=+1]
|
||||
include::action-types/pagerduty.asciidoc[leveloffset=+1]
|
||||
include::action-types/sentinelone.asciidoc[leveloffset=+1]
|
||||
include::action-types/server-log.asciidoc[leveloffset=+1]
|
||||
include::action-types/servicenow.asciidoc[leveloffset=+1]
|
||||
include::action-types/servicenow-sir.asciidoc[leveloffset=+1]
|
||||
|
|
|
@ -45,6 +45,7 @@ export enum ExternalServiceSimulator {
|
|||
XMATTERS = 'xmatters',
|
||||
TORQ = 'torq',
|
||||
TINES = 'tines',
|
||||
SENTINELONE = 'sentinelone',
|
||||
}
|
||||
|
||||
export function getExternalServiceSimulatorPath(service: ExternalServiceSimulator): string {
|
||||
|
@ -63,6 +64,7 @@ export function getAllExternalServiceSimulatorPaths(): string[] {
|
|||
allPaths.push(`/api/_${NAME}/${ExternalServiceSimulator.MS_EXCHANGE}/1234567/oauth2/v2.0/token`);
|
||||
allPaths.push(`/api/_${NAME}/${ExternalServiceSimulator.SERVICENOW}/oauth_token.do`);
|
||||
allPaths.push(`/api/_${NAME}/${ExternalServiceSimulator.TINES}/webhook/path/secret`);
|
||||
allPaths.push(`/api/_${NAME}/${ExternalServiceSimulator.SENTINELONE}/web/api/v2.1/`);
|
||||
return allPaths;
|
||||
}
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) {
|
|||
loadTestFile(require.resolve('./jira_connector'));
|
||||
loadTestFile(require.resolve('./opsgenie_connector'));
|
||||
loadTestFile(require.resolve('./pagerduty_connector'));
|
||||
loadTestFile(require.resolve('./sentinelone_connector'));
|
||||
loadTestFile(require.resolve('./server_log_connector'));
|
||||
loadTestFile(require.resolve('./servicenow_itom_connector'));
|
||||
loadTestFile(require.resolve('./servicenow_itsm_connector'));
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import {
|
||||
ExternalServiceSimulator,
|
||||
getExternalServiceSimulatorPath,
|
||||
} from '@kbn/actions-simulators-plugin/server/plugin';
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||
const commonScreenshots = getService('commonScreenshots');
|
||||
const screenshotDirectories = ['response_ops_docs', 'stack_connectors'];
|
||||
const pageObjects = getPageObjects(['common', 'header']);
|
||||
const actions = getService('actions');
|
||||
const kibanaServer = getService('kibanaServer');
|
||||
const testSubjects = getService('testSubjects');
|
||||
let simulatorUrl: string;
|
||||
let editSimulatorUrl: string;
|
||||
|
||||
describe('sentinelone connector', function () {
|
||||
before(async () => {
|
||||
simulatorUrl = kibanaServer.resolveUrl(
|
||||
getExternalServiceSimulatorPath(ExternalServiceSimulator.TINES)
|
||||
);
|
||||
editSimulatorUrl = simulatorUrl.replace('/elastic:changeme@', '/');
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
|
||||
it('sentinelone connector screenshots', async () => {
|
||||
await pageObjects.common.navigateToApp('connectors');
|
||||
await pageObjects.header.waitUntilLoadingHasFinished();
|
||||
await actions.common.openNewConnectorForm('sentinelone');
|
||||
await testSubjects.setValue('nameInput', 'Sentinelone test connector');
|
||||
await testSubjects.setValue('config.url-input', editSimulatorUrl);
|
||||
await testSubjects.setValue('secrets.token-input', 'tester');
|
||||
await commonScreenshots.takeScreenshot('sentinelone-connector', screenshotDirectories);
|
||||
await testSubjects.click('create-connector-flyout-save-test-btn');
|
||||
await pageObjects.common.clearAllToasts();
|
||||
await commonScreenshots.takeScreenshot('sentinelone-params-test', screenshotDirectories);
|
||||
await testSubjects.click('euiFlyoutCloseButton');
|
||||
});
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue