diff --git a/x-pack/plugins/cloud_security_posture/common/constants.ts b/x-pack/plugins/cloud_security_posture/common/constants.ts
index 37453e1364f8d..fd99edd8705e7 100644
--- a/x-pack/plugins/cloud_security_posture/common/constants.ts
+++ b/x-pack/plugins/cloud_security_posture/common/constants.ts
@@ -63,6 +63,8 @@ export const CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE = 'csp-rule-template';
export const CLOUDBEAT_VANILLA = 'cloudbeat/cis_k8s';
export const CLOUDBEAT_EKS = 'cloudbeat/cis_eks';
+export const CLOUDBEAT_AKS = 'cloudbeat/cis_aks';
+export const CLOUDBEAT_GKE = 'cloudbeat/cis_gke';
export const CLOUDBEAT_AWS = 'cloudbeat/cis_aws';
export const CLOUDBEAT_GCP = 'cloudbeat/cis_gcp';
export const CLOUDBEAT_AZURE = 'cloudbeat/cis_azure';
diff --git a/x-pack/plugins/cloud_security_posture/public/assets/icons/cis_aks_logo.svg b/x-pack/plugins/cloud_security_posture/public/assets/icons/cis_aks_logo.svg
new file mode 100644
index 0000000000000..f81d0ae7d0370
--- /dev/null
+++ b/x-pack/plugins/cloud_security_posture/public/assets/icons/cis_aks_logo.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/x-pack/plugins/cloud_security_posture/public/assets/icons/cis_gke_logo.svg b/x-pack/plugins/cloud_security_posture/public/assets/icons/cis_gke_logo.svg
new file mode 100644
index 0000000000000..6dd28d61ebf0d
--- /dev/null
+++ b/x-pack/plugins/cloud_security_posture/public/assets/icons/cis_gke_logo.svg
@@ -0,0 +1,21 @@
+
\ No newline at end of file
diff --git a/x-pack/plugins/cloud_security_posture/public/common/constants.ts b/x-pack/plugins/cloud_security_posture/public/common/constants.ts
index 54e0b7467069a..185cd19f200cf 100644
--- a/x-pack/plugins/cloud_security_posture/public/common/constants.ts
+++ b/x-pack/plugins/cloud_security_posture/public/common/constants.ts
@@ -20,9 +20,13 @@ import {
VULN_MGMT_POLICY_TEMPLATE,
CLOUDBEAT_VULN_MGMT_GCP,
CLOUDBEAT_VULN_MGMT_AZURE,
+ CLOUDBEAT_AKS,
+ CLOUDBEAT_GKE,
} from '../../common/constants';
import eksLogo from '../assets/icons/cis_eks_logo.svg';
+import aksLogo from '../assets/icons/cis_aks_logo.svg';
+import gkeLogo from '../assets/icons/cis_gke_logo.svg';
export const statusColors = {
passed: euiThemeVars.euiColorVis0,
@@ -48,7 +52,7 @@ export interface CloudPostureIntegrationProps {
name: string;
shortName: string;
options: Array<{
- type: PostureInput;
+ type: PostureInput | typeof CLOUDBEAT_AKS | typeof CLOUDBEAT_GKE;
name: string;
benchmark: string;
disabled?: boolean;
@@ -119,7 +123,7 @@ export const cloudPostureIntegrations: CloudPostureIntegrations = {
{
type: CLOUDBEAT_VANILLA,
name: i18n.translate('xpack.csp.kspmIntegration.vanillaOption.nameTitle', {
- defaultMessage: 'Self-Managed/Vanilla Kubernetes',
+ defaultMessage: 'Self-Managed',
}),
benchmark: i18n.translate('xpack.csp.kspmIntegration.vanillaOption.benchmarkTitle', {
defaultMessage: 'CIS Kubernetes',
@@ -129,12 +133,43 @@ export const cloudPostureIntegrations: CloudPostureIntegrations = {
{
type: CLOUDBEAT_EKS,
name: i18n.translate('xpack.csp.kspmIntegration.eksOption.nameTitle', {
- defaultMessage: 'EKS (Elastic Kubernetes Service)',
+ defaultMessage: 'EKS',
}),
benchmark: i18n.translate('xpack.csp.kspmIntegration.eksOption.benchmarkTitle', {
defaultMessage: 'CIS EKS',
}),
icon: eksLogo,
+ tooltip: i18n.translate('xpack.csp.kspmIntegration.eksOption.tooltipContent', {
+ defaultMessage: 'Elastic Kubernetes Service',
+ }),
+ },
+ {
+ type: CLOUDBEAT_AKS,
+ name: i18n.translate('xpack.csp.kspmIntegration.aksOption.nameTitle', {
+ defaultMessage: 'AKS',
+ }),
+ benchmark: i18n.translate('xpack.csp.kspmIntegration.aksOption.benchmarkTitle', {
+ defaultMessage: 'CIS AKS',
+ }),
+ disabled: true,
+ icon: aksLogo,
+ tooltip: i18n.translate('xpack.csp.kspmIntegration.aksOption.tooltipContent', {
+ defaultMessage: 'Azure Kubernetes Service - Coming soon',
+ }),
+ },
+ {
+ type: CLOUDBEAT_GKE,
+ name: i18n.translate('xpack.csp.kspmIntegration.gkeOption.nameTitle', {
+ defaultMessage: 'GKE',
+ }),
+ benchmark: i18n.translate('xpack.csp.kspmIntegration.gkeOption.benchmarkTitle', {
+ defaultMessage: 'CIS GKE',
+ }),
+ disabled: true,
+ icon: gkeLogo,
+ tooltip: i18n.translate('xpack.csp.kspmIntegration.gkeOption.tooltipContent', {
+ defaultMessage: 'Google Kubernetes Engine - Coming soon',
+ }),
},
],
},
diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx
index 7f3b7dc51319e..3427c25e49c19 100644
--- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx
+++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/policy_template_form.test.tsx
@@ -101,8 +101,8 @@ describe('', () => {
it('renders KSPM input selector', () => {
const { getByLabelText } = render();
- const option1 = getByLabelText('Self-Managed/Vanilla Kubernetes');
- const option2 = getByLabelText('EKS (Elastic Kubernetes Service)');
+ const option1 = getByLabelText('Self-Managed');
+ const option2 = getByLabelText('EKS');
expect(option1).toBeInTheDocument();
expect(option2).toBeInTheDocument();
@@ -116,7 +116,7 @@ describe('', () => {
const eksPolicy = getMockPolicyEKS();
const { getByLabelText } = render();
- const option = getByLabelText('EKS (Elastic Kubernetes Service)');
+ const option = getByLabelText('EKS');
userEvent.click(option);
// Listen to the 2nd triggered by the test.
@@ -148,8 +148,8 @@ describe('', () => {
);
- const option1 = getByLabelText('Self-Managed/Vanilla Kubernetes');
- const option2 = getByLabelText('EKS (Elastic Kubernetes Service)');
+ const option1 = getByLabelText('Self-Managed');
+ const option2 = getByLabelText('EKS');
expect(option1).toBeInTheDocument();
expect(option2).toBeInTheDocument();