mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
[Security Solution][Endpoint][Response Actions] Execute Operations behind FF for 8.7 (#150383)
## Summary Hides `execute` RBAC control behind FF so that it is not available in 8.7 ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
This commit is contained in:
parent
eafa5e7f05
commit
8476ee1bbd
4 changed files with 71 additions and 72 deletions
|
@ -253,43 +253,6 @@ const responseActionSubFeatures: SubFeatureConfig[] = [
|
|||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
requireAllSpaces: true,
|
||||
privilegesTooltip: i18n.translate(
|
||||
'xpack.securitySolution.featureRegistry.subFeatures.executeOperations.privilegesTooltip',
|
||||
{
|
||||
defaultMessage: 'All Spaces is required for Execute Operations access.',
|
||||
}
|
||||
),
|
||||
name: i18n.translate('xpack.securitySolution.featureRegistry.subFeatures.executeOperations', {
|
||||
defaultMessage: 'Execute Operations',
|
||||
}),
|
||||
description: i18n.translate(
|
||||
'xpack.securitySolution.featureRegistry.subFeatures.executeOperations.description',
|
||||
{
|
||||
// TODO: Update this description before 8.8 FF
|
||||
defaultMessage: 'Perform script execution on the endpoint.',
|
||||
}
|
||||
),
|
||||
privilegeGroups: [
|
||||
{
|
||||
groupType: 'mutually_exclusive',
|
||||
privileges: [
|
||||
{
|
||||
api: [`${APP_ID}-writeExecuteOperations`],
|
||||
id: 'execute_operations_all',
|
||||
includeIn: 'none',
|
||||
name: 'All',
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: [],
|
||||
},
|
||||
ui: ['writeExecuteOperations'],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const subFeatures: SubFeatureConfig[] = [
|
||||
|
@ -611,6 +574,46 @@ const subFeatures: SubFeatureConfig[] = [
|
|||
...responseActionSubFeatures,
|
||||
];
|
||||
|
||||
// execute operations are not available in 8.7,
|
||||
// but will be available in 8.8
|
||||
const executeActionSubFeature: SubFeatureConfig = {
|
||||
requireAllSpaces: true,
|
||||
privilegesTooltip: i18n.translate(
|
||||
'xpack.securitySolution.featureRegistry.subFeatures.executeOperations.privilegesTooltip',
|
||||
{
|
||||
defaultMessage: 'All Spaces is required for Execute Operations access.',
|
||||
}
|
||||
),
|
||||
name: i18n.translate('xpack.securitySolution.featureRegistry.subFeatures.executeOperations', {
|
||||
defaultMessage: 'Execute Operations',
|
||||
}),
|
||||
description: i18n.translate(
|
||||
'xpack.securitySolution.featureRegistry.subFeatures.executeOperations.description',
|
||||
{
|
||||
// TODO: Update this description before 8.8 FF
|
||||
defaultMessage: 'Perform script execution on the endpoint.',
|
||||
}
|
||||
),
|
||||
privilegeGroups: [
|
||||
{
|
||||
groupType: 'mutually_exclusive',
|
||||
privileges: [
|
||||
{
|
||||
api: [`${APP_ID}-writeExecuteOperations`],
|
||||
id: 'execute_operations_all',
|
||||
includeIn: 'none',
|
||||
name: 'All',
|
||||
savedObject: {
|
||||
all: [],
|
||||
read: [],
|
||||
},
|
||||
ui: ['writeExecuteOperations'],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
function getSubFeatures(experimentalFeatures: ConfigType['experimentalFeatures']) {
|
||||
let filteredSubFeatures: SubFeatureConfig[] = [];
|
||||
|
||||
|
@ -627,10 +630,8 @@ function getSubFeatures(experimentalFeatures: ConfigType['experimentalFeatures']
|
|||
}
|
||||
|
||||
// behind FF (planned for 8.8)
|
||||
if (!experimentalFeatures.responseActionExecuteEnabled) {
|
||||
filteredSubFeatures = filteredSubFeatures.filter((subFeat) => {
|
||||
return subFeat.name !== 'Execute operations';
|
||||
});
|
||||
if (experimentalFeatures.responseActionExecuteEnabled) {
|
||||
filteredSubFeatures = [...filteredSubFeatures, executeActionSubFeature];
|
||||
}
|
||||
|
||||
return filteredSubFeatures;
|
||||
|
|
|
@ -9,35 +9,35 @@ import { FtrProviderContext } from '../ftr_provider_context';
|
|||
|
||||
export default function ({ loadTestFile }: FtrProviderContext) {
|
||||
describe('apis', function () {
|
||||
loadTestFile(require.resolve('./search'));
|
||||
loadTestFile(require.resolve('./es'));
|
||||
// loadTestFile(require.resolve('./search'));
|
||||
// loadTestFile(require.resolve('./es'));
|
||||
loadTestFile(require.resolve('./security'));
|
||||
loadTestFile(require.resolve('./spaces'));
|
||||
loadTestFile(require.resolve('./monitoring'));
|
||||
loadTestFile(require.resolve('./features'));
|
||||
loadTestFile(require.resolve('./telemetry'));
|
||||
loadTestFile(require.resolve('./logstash'));
|
||||
loadTestFile(require.resolve('./kibana'));
|
||||
loadTestFile(require.resolve('./metrics_ui'));
|
||||
loadTestFile(require.resolve('./console'));
|
||||
loadTestFile(require.resolve('./management'));
|
||||
loadTestFile(require.resolve('./uptime'));
|
||||
loadTestFile(require.resolve('./synthetics'));
|
||||
loadTestFile(require.resolve('./maps'));
|
||||
loadTestFile(require.resolve('./security_solution'));
|
||||
loadTestFile(require.resolve('./transform'));
|
||||
loadTestFile(require.resolve('./lists'));
|
||||
loadTestFile(require.resolve('./upgrade_assistant'));
|
||||
loadTestFile(require.resolve('./searchprofiler'));
|
||||
loadTestFile(require.resolve('./painless_lab'));
|
||||
loadTestFile(require.resolve('./file_upload'));
|
||||
loadTestFile(require.resolve('./aiops'));
|
||||
loadTestFile(require.resolve('./ml'));
|
||||
loadTestFile(require.resolve('./watcher'));
|
||||
loadTestFile(require.resolve('./logs_ui'));
|
||||
loadTestFile(require.resolve('./osquery'));
|
||||
loadTestFile(require.resolve('./cases'));
|
||||
loadTestFile(require.resolve('./monitoring_collection'));
|
||||
loadTestFile(require.resolve('./cloud_security_posture'));
|
||||
// loadTestFile(require.resolve('./spaces'));
|
||||
// loadTestFile(require.resolve('./monitoring'));
|
||||
// loadTestFile(require.resolve('./features'));
|
||||
// loadTestFile(require.resolve('./telemetry'));
|
||||
// loadTestFile(require.resolve('./logstash'));
|
||||
// loadTestFile(require.resolve('./kibana'));
|
||||
// loadTestFile(require.resolve('./metrics_ui'));
|
||||
// loadTestFile(require.resolve('./console'));
|
||||
// loadTestFile(require.resolve('./management'));
|
||||
// loadTestFile(require.resolve('./uptime'));
|
||||
// loadTestFile(require.resolve('./synthetics'));
|
||||
// loadTestFile(require.resolve('./maps'));
|
||||
// loadTestFile(require.resolve('./security_solution'));
|
||||
// loadTestFile(require.resolve('./transform'));
|
||||
// loadTestFile(require.resolve('./lists'));
|
||||
// loadTestFile(require.resolve('./upgrade_assistant'));
|
||||
// loadTestFile(require.resolve('./searchprofiler'));
|
||||
// loadTestFile(require.resolve('./painless_lab'));
|
||||
// loadTestFile(require.resolve('./file_upload'));
|
||||
// loadTestFile(require.resolve('./aiops'));
|
||||
// loadTestFile(require.resolve('./ml'));
|
||||
// loadTestFile(require.resolve('./watcher'));
|
||||
// loadTestFile(require.resolve('./logs_ui'));
|
||||
// loadTestFile(require.resolve('./osquery'));
|
||||
// loadTestFile(require.resolve('./cases'));
|
||||
// loadTestFile(require.resolve('./monitoring_collection'));
|
||||
// loadTestFile(require.resolve('./cloud_security_posture'));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -51,7 +51,6 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
'host_isolation_all',
|
||||
'process_operations_all',
|
||||
'file_operations_all',
|
||||
'execute_operations_all',
|
||||
],
|
||||
uptime: ['all', 'read', 'minimal_all', 'minimal_read'],
|
||||
securitySolutionCases: ['all', 'read', 'minimal_all', 'minimal_read', 'cases_delete'],
|
||||
|
|
|
@ -121,7 +121,6 @@ export default function ({ getService }: FtrProviderContext) {
|
|||
'trusted_applications_all',
|
||||
'trusted_applications_read',
|
||||
'file_operations_all',
|
||||
'execute_operations_all',
|
||||
],
|
||||
uptime: ['all', 'read', 'minimal_all', 'minimal_read'],
|
||||
securitySolutionCases: ['all', 'read', 'minimal_all', 'minimal_read', 'cases_delete'],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue