Configuration de Cloud Security sur Kubernetes
Utilisez les instructions suivantes pour activer Misconfigurations et Vulnerability Management.
Collecting events using Cloud Security affects your billing. For more information, see
Datadog Pricing.
Prérequis
Remarque : SBOM collection n’est pas compatible avec l’image streaming feature dans Google Kubernetes Engine (GKE). Pour la désactiver, consultez la section Disable Image streaming de la documentation GKE.
Installation
Ajoutez ce qui suit à la section spec du fichier datadog-agent.yaml :
# datadog-agent.yaml file
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
features:
# Enables Misconfigurations
cspm:
enabled: true
hostBenchmarks:
enabled: true
# Enables Software Bill of Materials (SBOM) collection
sbom:
enabled: true
# Enables Container Vulnerability Management
containerImage:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables Host Vulnerability Management
host:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables runtime package prioritization (Preview, Agent 7.79+)
# See Runtime Package Prioritization section below.
enrichment:
usage:
enabled: true
Appliquez les modifications et redémarrez l’Agent.
Ajoutez ce qui suit à la section datadog du fichier datadog-values.yaml :
# datadog-values.yaml file
datadog:
securityAgent:
# Enables Misconfigurations
compliance:
enabled: true
host_benchmarks:
enabled: true
# Enables Software Bill of Materials (SBOM) collection
sbom:
# Enables Container Vulnerability Management
containerImage:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables Host Vulnerability Management
host:
enabled: true
# Enables scanning of application libraries in addition to OS packages (Agent 7.70+)
analyzers: ["os", "languages"]
# Enables runtime package prioritization (Preview, Agent 7.79+)
# See Runtime Package Prioritization section below.
enrichment:
usage:
enabled: true
Redémarrez l’Agent.
Ajoutez les variables d’environnement suivantes à chaque conteneur du Datadog Agent dans le fichier daemonset.yaml, y compris agent, security-agent et system-probe. Ces variables activent Misconfigurations, Vulnerability Management, mount-based container image scanning et runtime package prioritization.
- name: DD_COMPLIANCE_CONFIG_ENABLED
value: "true"
- name: DD_COMPLIANCE_CONFIG_HOST_BENCHMARKS_ENABLED
value: "true"
- name: DD_SBOM_ENABLED
value: "true"
- name: DD_SBOM_CONTAINER_IMAGE_ENABLED
value: "true"
- name: DD_SBOM_HOST_ENABLED
value: "true"
- name: DD_SBOM_CONTAINER_IMAGE_USE_MOUNT
value: "true"
- name: DD_SBOM_ENRICHMENT_USAGE_ENABLED
value: "true"
- name: HOST_ROOT
value: /host/root
Si votre DaemonSet monte la racine du host sur un chemin différent, définissez HOST_ROOT sur ce chemin de montage dans chaque conteneur du Datadog Agent.
Définissez hostPID: true dans la spécification du pod et ajoutez les securityContext suivants au conteneur agent. Ces paramètres sont requis pour mount-based container image scanning avec DD_SBOM_CONTAINER_IMAGE_USE_MOUNT=true.
# Source: datadog/templates/daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
[...]
spec:
[...]
template:
[...]
spec:
hostPID: true
containers:
[...]
- name: agent
[...]
securityContext:
capabilities:
add:
- SYS_ADMIN
readOnlyRootFilesystem: true
appArmorProfile:
type: Unconfined
Redémarrez le Datadog Agent.
Remarque : enrichment.usage.enabled: true nécessite le Datadog Agent 7.79.0 ou une version ultérieure. Consultez la section Runtime Package Prioritization pour connaître les prérequis.
Remarque : L’analyseur languages nécessite le Datadog Agent 7.70 ou une version ultérieure. Lorsqu’il est activé, il détecte les vulnérabilités dans les bibliothèques d’applications gérées par les gestionnaires de paquets ci-dessous, en plus des paquets du système d’exploitation. Lorsque le champ analyzers est omis, Datadog analyse uniquement les paquets du système d’exploitation pour les images de conteneur.
Gestionnaires de paquets de bibliothèques d’applications pris en charge
L’analyzer languages couvre les écosystèmes de paquets suivants :
| Écosystème | Gestionnaire de paquets/format |
|---|
| Ruby | Bundler, GemSpec |
| Rust | Cargo, Rust binary |
| PHP | Composer |
| Java | Jar, Maven (pom.xml), Gradle lock, Sbt lock |
| JavaScript | npm (package-lock.json), Yarn, pnpm, Node package |
| .NET | NuGet, .NET Core, PackagesProps |
| Python | Python package (egg), pip, Pipenv, Poetry, uv, Conda package, Conda environment |
| Go | Go binary, Go modules |
| C/C++ | Conan lock |
| Swift / Objective-C | CocoaPods, Swift |
| Dart | PubSpec lock |
| Elixir | Mix lock |
| Julia | Julia |
Runtime Package Prioritization (Preview)
Runtime package prioritization identifie quels packages dans une image de conteneur sont utilisés à l’exécution, afin que vous puissiez prioriser les vulnérabilités du code qui s’exécute par rapport aux vulnérabilités des packages installés mais jamais exécutés.
Lorsqu’il est activé, le Datadog Agent utilise eBPF pour observer l’accès aux fichiers sur vos charges de travail et ajoute ces signaux aux résultats de vulnérabilité pour cette image :
| Signal | Ce qu’il vous indique |
|---|
| Le paquet est en cours d’exécution | Les fichiers du paquet ont été observés comme étant accédés par un processus en cours d’exécution. |
| Accédé par le processus root | Le paquet a été accédé par un processus s’exécutant en tant que root (UID 0). |
| SUID binary present | Le paquet contient un binaire avec le bit SUID défini, ce qui peut permettre une élévation de privilèges. |
Package is running alimente la dimension Reachability du Runtime Prioritization Engine. Pour interroger ces signaux directement, consultez Filter findings by runtime signals.
Prérequis :
- Datadog Agent 7.79.0 ou version ultérieure. Sur Kubernetes, utilisez 7.81.0 ou version ultérieure pour une couverture de signal la plus complète.
- Linux uniquement (dépendance eBPF). Consultez Workload Protection setup pour les distributions et les versions de noyau prises en charge.
Runtime signals s’appliquent aux gestionnaires de paquets du système d’exploitation (apt, yum ou apk) dans les résultats de vulnérabilité des images de conteneur.
Ajoutez le bloc enrichment à la section sbom de votre fichier datadog-agent.yaml :
spec:
features:
sbom:
enabled: true
containerImage:
enabled: true
# Enables runtime package prioritization (Preview, Agent 7.79+)
enrichment:
usage:
enabled: true
Appliquez les modifications et redémarrez le Datadog Agent.
Ajoutez le bloc enrichment à la section sbom de votre fichier datadog-values.yaml :
datadog:
sbom:
containerImage:
enabled: true
# Enables runtime package prioritization (Preview, Agent 7.79+)
enrichment:
usage:
enabled: true
Redémarrez l’Agent.
Définissez hostPID: true dans la spécification du pod, et ajoutez les variables d’environnement suivantes à chaque conteneur du Datadog Agent dans votre fichier daemonset.yaml, y compris agent, security-agent et system-probe :
# Pod spec
hostPID: true
# Add to each Agent container's env section.
- name: DD_SBOM_ENABLED
value: "true"
- name: DD_SBOM_CONTAINER_IMAGE_ENABLED
value: "true"
- name: DD_SBOM_ENRICHMENT_USAGE_ENABLED
value: "true"
Redémarrez l’Agent.
Pour vérifier la configuration, filtrez les résultats de vulnérabilité par runtime signals.