diff --git a/helm-charts/falcon-sensor/README.md b/helm-charts/falcon-sensor/README.md
index 9346620b..df394a0d 100644
--- a/helm-charts/falcon-sensor/README.md
+++ b/helm-charts/falcon-sensor/README.md
@@ -127,6 +127,7 @@ The following tables lists the more common configurable parameters of the chart
| `node.image.pullSecrets` | Pull secrets for private registry | None (Conflicts with node.image.registryConfigJSON) |
| `node.image.registryConfigJSON` | base64 encoded docker config json for the pull secret | None (Conflicts with node.image.pullSecrets) |
| `node.daemonset.resources` | Configure Node sensor resource requests and limits (eBPF mode only) | None (Minimum setting of 250m CPU and 500Mi memory allowed). Default for GKE Autopilot is 750m CPU and 1.5Gi memory.
:warning: **Warning**:
If you configure resources, you must configure the CPU and Memory Resource requests and limits correctly for your node instances for the node sensor to run properly!
|
+| `node.cdpRolesEnabled` | Enable cluster roles for Cloud Data Protection module | `true` |
| `falcon.cid` | CrowdStrike Customer ID (CID) | None (Required) |
`falcon.cid` and `node.image.repository` are required values.
diff --git a/helm-charts/falcon-sensor/templates/clusterrole.yaml b/helm-charts/falcon-sensor/templates/clusterrole.yaml
index 0cbd2116..fa59be3a 100644
--- a/helm-charts/falcon-sensor/templates/clusterrole.yaml
+++ b/helm-charts/falcon-sensor/templates/clusterrole.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.container.enabled }}
+{{- if or .Values.container.enabled (and .Values.node.enabled .Values.node.cdpRolesEnabled)}}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
@@ -8,7 +8,11 @@ metadata:
app.kubernetes.io/name: {{ include "falcon-sensor.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
+ {{ if .Values.container.enabled }}
app.kubernetes.io/component: "container_sensor"
+ {{ else if (and .Values.node.enabled .Values.node.cdpRolesEnabled)}}
+ app.kubernetes.io/component: "kernel_sensor"
+ {{ end }}
crowdstrike.com/provider: crowdstrike
helm.sh/chart: {{ include "falcon-sensor.chart" . }}
rules:
@@ -16,6 +20,22 @@ rules:
- ""
resources:
- secrets
+ {{- if and .Values.node.enabled .Values.node.cdpRolesEnabled }}
+ - pods
+ - services
+ - nodes
+ - daemonsets
+ - replicasets
+ - deployments
+ - jobs
+ - ingresses
+ - cronjobs
+ - persistentvolumes
+ {{- end }}
verbs:
- get
+ {{- if and .Values.node.enabled .Values.node.cdpRolesEnabled }}
+ - watch
+ - list
+ {{- end }}
{{- end }}
diff --git a/helm-charts/falcon-sensor/templates/clusterrolebinding.yaml b/helm-charts/falcon-sensor/templates/clusterrolebinding.yaml
index 77ff998f..e9c6dcc3 100644
--- a/helm-charts/falcon-sensor/templates/clusterrolebinding.yaml
+++ b/helm-charts/falcon-sensor/templates/clusterrolebinding.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.container.enabled }}
+{{- if or .Values.container.enabled (and .Values.node.enabled .Values.node.cdpRolesEnabled) }}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
@@ -8,7 +8,11 @@ metadata:
app.kubernetes.io/name: {{ include "falcon-sensor.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
+ {{ if .Values.container.enabled }}
app.kubernetes.io/component: "container_sensor"
+ {{ else if (and .Values.node.enabled .Values.node.cdpRolesEnabled)}}
+ app.kubernetes.io/component: "kernel_sensor"
+ {{ end }}
crowdstrike.com/provider: crowdstrike
helm.sh/chart: {{ include "falcon-sensor.chart" . }}
subjects:
diff --git a/helm-charts/falcon-sensor/values.yaml b/helm-charts/falcon-sensor/values.yaml
index 975737c2..c3c4e3c9 100644
--- a/helm-charts/falcon-sensor/values.yaml
+++ b/helm-charts/falcon-sensor/values.yaml
@@ -104,6 +104,9 @@ node:
postDelete:
enabled: true
+ # When enabled, Cloud data protection module is enabled
+ cdpRolesEnabled: true
+
container:
# When enabled, Helm chart deploys the Falcon Container Sensor to Pods through Webhooks
enabled: false