mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
[Cloud Security] Updating policy deployment values (#151464)
This commit is contained in:
parent
1adf644848
commit
b17c4fb304
3 changed files with 43 additions and 11 deletions
|
@ -15,11 +15,15 @@ import {
|
|||
} from '../../../common/constants';
|
||||
import type { PostureInput } from '../../../common/types';
|
||||
|
||||
export const getMockPolicyAWS = () => getPolicyMock(CLOUDBEAT_AWS);
|
||||
export const getMockPolicyK8s = () => getPolicyMock(CLOUDBEAT_VANILLA);
|
||||
export const getMockPolicyEKS = () => getPolicyMock(CLOUDBEAT_EKS);
|
||||
export const getMockPolicyAWS = () => getPolicyMock(CLOUDBEAT_AWS, 'cspm', 'aws');
|
||||
export const getMockPolicyK8s = () => getPolicyMock(CLOUDBEAT_VANILLA, 'kspm', 'self_managed');
|
||||
export const getMockPolicyEKS = () => getPolicyMock(CLOUDBEAT_EKS, 'kspm', 'eks');
|
||||
|
||||
const getPolicyMock = (type: PostureInput): NewPackagePolicy => {
|
||||
const getPolicyMock = (
|
||||
type: PostureInput,
|
||||
posture: string,
|
||||
deployment: string
|
||||
): NewPackagePolicy => {
|
||||
const mockPackagePolicy = createNewPackagePolicyMock();
|
||||
|
||||
const awsVarsMock = {
|
||||
|
@ -44,10 +48,10 @@ const getPolicyMock = (type: PostureInput): NewPackagePolicy => {
|
|||
},
|
||||
vars: {
|
||||
posture: {
|
||||
value: type === CLOUDBEAT_VANILLA || type === CLOUDBEAT_EKS ? 'kspm' : 'cspm',
|
||||
value: posture,
|
||||
type: 'text',
|
||||
},
|
||||
deployment: { value: type, type: 'text' },
|
||||
deployment: { value: deployment, type: 'text' },
|
||||
},
|
||||
inputs: [
|
||||
{
|
||||
|
|
|
@ -35,7 +35,7 @@ describe('getPosturePolicy', () => {
|
|||
|
||||
const policy = getPosturePolicy(mockCisAws, 'cloudbeat/cis_k8s');
|
||||
expect(policy.vars?.posture.value).toBe('kspm');
|
||||
expect(policy.vars?.deployment.value).toBe('cloudbeat/cis_k8s');
|
||||
expect(policy.vars?.deployment.value).toBe('self_managed');
|
||||
|
||||
// Does not change extra vars
|
||||
expect(policy.vars?.extra.value).toBe('value');
|
||||
|
|
|
@ -43,8 +43,36 @@ export const isPostureInput = (
|
|||
SUPPORTED_POLICY_TEMPLATES.includes(input.policy_template as CloudSecurityPolicyTemplate) &&
|
||||
SUPPORTED_CLOUDBEAT_INPUTS.includes(input.type as PostureInput);
|
||||
|
||||
const getInputPolicyTemplate = (inputs: NewPackagePolicyInput[], inputType: PostureInput) =>
|
||||
inputs.filter(isPostureInput).find((i) => i.type === inputType)!.policy_template;
|
||||
const getPostureType = (policyTemplateInput: PostureInput) => {
|
||||
switch (policyTemplateInput) {
|
||||
case CLOUDBEAT_AWS:
|
||||
case CLOUDBEAT_AZURE:
|
||||
case CLOUDBEAT_GCP:
|
||||
return 'cspm';
|
||||
case CLOUDBEAT_VANILLA:
|
||||
case CLOUDBEAT_EKS:
|
||||
return 'kspm';
|
||||
default:
|
||||
return 'n/a';
|
||||
}
|
||||
};
|
||||
|
||||
const getDeploymentType = (policyTemplateInput: PostureInput) => {
|
||||
switch (policyTemplateInput) {
|
||||
case CLOUDBEAT_AWS:
|
||||
return 'aws';
|
||||
case CLOUDBEAT_AZURE:
|
||||
return 'azure';
|
||||
case CLOUDBEAT_GCP:
|
||||
return 'gcp';
|
||||
case CLOUDBEAT_VANILLA:
|
||||
return 'self_managed';
|
||||
case CLOUDBEAT_EKS:
|
||||
return 'eks';
|
||||
default:
|
||||
return 'n/a';
|
||||
}
|
||||
};
|
||||
|
||||
const getPostureInput = (
|
||||
input: NewPackagePolicyInput,
|
||||
|
@ -83,8 +111,8 @@ export const getPosturePolicy = (
|
|||
inputs: newPolicy.inputs.map((item) => getPostureInput(item, inputType, inputVars)),
|
||||
// Set hidden policy vars
|
||||
vars: merge({}, newPolicy.vars, {
|
||||
deployment: { value: inputType },
|
||||
posture: { value: getInputPolicyTemplate(newPolicy.inputs, inputType) },
|
||||
deployment: { value: getDeploymentType(inputType) },
|
||||
posture: { value: getPostureType(inputType) },
|
||||
}),
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue