Data collection is done using eBPF, so Datadog minimally requires platforms that have underlying Linux kernel versions of 4.15.0+ or have eBPF features backported. CSM Threats supports the following Linux distributions:
Ubuntu LTS (18.04, 20.04, and 22.04)
Debian 10 or later
Amazon Linux 2 (kernels 4.15, 5.4, and 5.10) and 2023
SUSE Linux Enterprise Server 12 and 15
Red Hat Enterprise Linux 7, 8, and 9
Oracle Linux 7, 8, and 9
CentOS 7
Custom kernel builds are not supported.
For compatibility with a custom Kubernetes network plugin like Cilium or Calico, see the Troubleshooting page.
Enable resource scanning for cloud accounts
To enable resource scanning for your cloud accounts, you must first set up the integration and then enable CSM for each AWS account, Azure subscription, and Google Cloud project.
On the Resource Collection tab, select the Cloud Security Posture Management Collection checkbox.
Click Save.
Exclude resources from evaluation
You can use resource tags to create filters that include or exclude resources from being evaluated by CSM. The filters must be specified as a comma-separated list of key:value pairs.
Note: Resource evaluation filters can only be used with hosts that are scanned by cloud integrations.
Format
Value
Allowlist
key:value
Blocklist
!key:value
Single character wildcard
?
Multiple characters wildcard
*
The allowlist enables you to specify tags that must be applied to a resource in order for CSM to evaluate it. Allowlist tags are evaluated as OR statements. In other words, at least one of the allowlist tags must be present in order for a resource to be evaluated. In contrast, blocklisted tags are evaluated as AND statements and take precedence over allowlist tags.
Examples:
!env:staging excludes resources that have the env:staging tag.
datadog:monitored, env:prod* collects metrics for resources that have at least one of these tags.
!env:staging, !testing excludes resources that have both the env:staging and testing tags.
datadog:monitored !region:us-east1 collects metrics for resources that have the datadog:monitored tag, so long as the resource does not have the region:us-east1 tag applied to it.
Note: To access the full set of Azure compliance rules for CSM Misconfigurations, you must enable the Application.Read.All, Directory.Read.All, Group.Read.All, Policy.Read.All, and User.Read.All permissions for the Microsoft Graph API.
Enable CSM for your Azure subscriptions
Use one of the following methods to enable CSM for your Azure subscriptions:
Under Resource Collection, select the Collect resources for Cloud Security Posture Management checkbox.
Click Submit Changes.
Exclude resources from evaluation
You can use resource tags to create filters that include or exclude resources from being evaluated by CSM. The filters must be specified as a comma-separated list of key:value pairs.
Note: Resource evaluation filters can only be used with hosts that are scanned by cloud integrations.
Format
Value
Allowlist
key:value
Blocklist
!key:value
Single character wildcard
?
Multiple characters wildcard
*
The allowlist enables you to specify tags that must be applied to a resource in order for CSM to evaluate it. Allowlist tags are evaluated as OR statements. In other words, at least one of the allowlist tags must be present in order for a resource to be evaluated. In contrast, blocklisted tags are evaluated as AND statements and take precedence over allowlist tags.
Examples:
!env:staging excludes resources that have the env:staging tag.
datadog:monitored, env:prod* collects metrics for resources that have at least one of these tags.
!env:staging, !testing excludes resources that have both the env:staging and testing tags.
datadog:monitored !region:us-east1 collects metrics for resources that have the datadog:monitored tag, so long as the resource does not have the region:us-east1 tag applied to it.
Under Resource Evaluation Filters (Optional), click the Plus (+) icon.
Enter a comma-separated list of key:value pairs for the tags you want to allowlist or blocklist.
Click Save.
Set up the Datadog Google Cloud Platform integration
The Datadog Google Cloud Platform integration uses service accounts to create an API connection between Google Cloud and Datadog. To enable metric collection, create a service account, and then provide Datadog with the service account credentials to begin making API calls on your behalf.
Under Resource Collection, select the Enable Cloud Security Posture Management checkbox.
Click Save.
Exclude resources from evaluation
You can use resource tags to create filters that include or exclude resources from being evaluated by CSM. The filters must be specified as a comma-separated list of key:value pairs.
Note: Resource evaluation filters can only be used with hosts that are scanned by cloud integrations.
Format
Value
Allowlist
key:value
Blocklist
!key:value
Single character wildcard
?
Multiple characters wildcard
*
The allowlist enables you to specify tags that must be applied to a resource in order for CSM to evaluate it. Allowlist tags are evaluated as OR statements. In other words, at least one of the allowlist tags must be present in order for a resource to be evaluated. In contrast, blocklisted tags are evaluated as AND statements and take precedence over allowlist tags.
Examples:
!env:staging excludes resources that have the env:staging tag.
datadog:monitored, env:prod* collects metrics for resources that have at least one of these tags.
!env:staging, !testing excludes resources that have both the env:staging and testing tags.
datadog:monitored !region:us-east1 collects metrics for resources that have the datadog:monitored tag, so long as the resource does not have the region:us-east1 tag applied to it.
Under Resource Evaluation Filters (Optional), click the Plus (+) icon.
Enter a comma-separated list of key:value pairs for the tags you want to allowlist or blocklist.
Click Save.
Configure CSM on the Agent for hosts and containers
Enable Remote Configuration
Remote Configuration for CSM Threats is not supported for your selected Datadog site ().
Remote Configuration for CSM Threats is in beta. If you have any feedback or questions, contact Datadog support.
Remote Configuration is a Datadog capability that allows you to remotely configure the behavior of Datadog resources deployed in your infrastructure. For CSM Threats, enabling Remote Configuration allows you to receive new and updated Agent rules automatically when they’re released.
To use Remote Configuration with CSM Threats, add the Remote Configuration scope to a new or existing API key, and then update your Datadog Agent configuration. See the Remote Configuration setup instructions for more information.
Note: Without Remote Configuration, Agent rules must be manually deployed to the Datadog Agent.
For a package-based deployment, install the Datadog package with your package manager, and then update the datadog.yaml, security-agent.yaml, and system-probe.yaml files.
By default, Runtime Security is disabled. To enable it, both the security-agent.yaml and system-probe.yaml files need to be updated.
# /etc/datadog-agent/datadog.yaml fileremote_configuration:
## @param enabled - boolean - optional - default: false## Set to true to enable remote configuration. enabled: trueruntime_security_config:
## @param enabled - boolean - optional - default: false## Set to true to enable full CSM Threats. enabled: truecompliance_config:
## @param enabled - boolean - optional - default: false## Set to true to enable CIS benchmarks for CSPM.# enabled: true
# /etc/datadog-agent/security-agent.yaml fileruntime_security_config:
## @param enabled - boolean - optional - default: false## Set to true to enable full CSM Threats. enabled: truecompliance_config:
## @param enabled - boolean - optional - default: false## Set to true to enable CIS benchmarks for CSPM.# enabled: true
# /etc/datadog-agent/system-probe.yaml fileruntime_security_config:
## @param enabled - boolean - optional - default: false## Set to true to enable full CSM Threats. enabled: true remote_configuration:
## @param enabled - boolean - optional - default: false enabled: true
# /etc/datadog-agent/system-probe.yaml fileruntime_security_config:
security_profile:
## @param enabled - boolean - optional - default: false## Set to true to enable Runtime Anomaly Detection. enabled: true
The following deployment can be used to start the Runtime Security Agent and system-probe in an AWS Elastic Beanstalk environment with multiple Docker containers: