Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Disponible pour:
Logs
Présentation
Le processeur Sensitive Data Scanner analyse les logs pour détecter et masquer ou hacher des informations sensibles telles que les PII, les PCI et les données sensibles personnalisées. Vous pouvez choisir parmi la bibliothèque de règles prédéfinies de Datadog ou saisir des règles Regex personnalisées pour rechercher des données sensibles.
Vous pouvez configurer le pipeline et le processeur dans le UI, l’API ou Terraform.
Dans la section Define rule target and conditions, sélectionnez si vous souhaitez analyser Entire Event, Specific Attributes ou Exclude Attributes dans le menu déroulant.
Si vous analysez l’événement entier, vous pouvez éventuellement exclure des attributs spécifiques de l’analyse. Utilisez la notation de chemin (outer_key.inner_key) pour accéder aux clés imbriquées. Pour les attributs spécifiés contenant des données imbriquées, toutes les données imbriquées sont exclues.
Si vous analysez des attributs spécifiques, indiquez les attributs que vous souhaitez analyser. Utilisez la notation de chemin (outer_key.inner_key) pour accéder aux clés imbriquées. Pour les attributs spécifiés avec des données imbriquées, toutes les données imbriquées sont analysées.
Pour Define actions on match, sélectionnez l’action que vous souhaitez effectuer pour les informations correspondantes. Remarque : La rédaction, la rédaction partielle et le hachage sont tous des actions irréversibles.
Redact : Remplace toutes les valeurs correspondantes par le texte que vous spécifiez dans le champ Replacement text.
Partially Redact : Remplace une partie spécifiée de toutes les données correspondantes. Dans la section Redact, spécifiez le nombre de caractères que vous souhaitez masquer et quelle partie des données correspondantes masquer.
Hash : Remplace toutes les données correspondantes par un identifiant unique. Les octets UTF-8 de la correspondance sont hachés avec l’empreinte 64 bits de FarmHash.
Facultativement, cliquez sur Add Field pour ajouter des tags que vous souhaitez associer aux événements correspondants.
Ajoutez un nom pour la règle d’analyse.
Facultativement, ajoutez une description pour la règle.
Cliquez sur Save.
Ajoutez des mots-clés supplémentaires
Après avoir ajouté des règles d’analyse depuis la bibliothèque, vous pouvez modifier chaque règle séparément et ajouter des mots-clés supplémentaires au dictionnaire de mots-clés.
Dans le processeur Sensitive Data Scanner avec la règle que vous souhaitez modifier, cliquez sur Manage Scanning Rules.
Activez Use recommended keywords si vous souhaitez que la règle les utilise. Sinon, ajoutez vos propres mots-clés dans le champ Create keyword dictionary. Vous pouvez également exiger que ces mots-clés se trouvent à un nombre spécifié de caractères d’une correspondance. Par défaut, les mots-clés doivent se trouver dans les 30 caractères précédant une valeur correspondante.
Cliquez sur Update.
Dans la section Define match conditions, spécifiez le motif regex à utiliser pour la correspondance avec les événements dans le champ Define the regex. Consultez Rédaction de règles de parsing Grok efficaces avec des expressions régulières pour plus d’informations.
Sensitive Data Scanner prend en charge les expressions régulières compatibles Perl (PCRE), mais les motifs suivants ne sont pas pris en charge :
Rétro-références et sous-expressions de capture (lookarounds)
Assertions arbitraires de largeur nulle
Références de sous-routine et motifs récursifs
Motifs conditionnels
Verbes de contrôle de retour sur trace (backtracking)
La directive \C « single-byte » (qui rompt les séquences UTF-8)
La correspondance de nouvelle ligne \R
La directive de réinitialisation du début de correspondance \K
Appels et code intégré
Groupement atomique et quantificateurs possessifs
Saisissez des exemples de données dans le champ Add sample data pour vérifier que votre motif regex est valide.
Pour Create keyword dictionary, ajoutez des mots-clés afin d’affiner la précision de la détection lors de la correspondance avec des conditions regex. Par exemple, si vous recherchez un numéro de carte de crédit Visa à seize chiffres, vous pouvez ajouter des mots-clés tels que visa, credit et card. Vous pouvez également exiger que ces mots-clés se trouvent à un nombre spécifié de caractères d’une correspondance. Par défaut, les mots-clés doivent se trouver dans les 30 caractères précédant une valeur correspondante.
Dans la section Define rule target and conditions, sélectionnez si vous souhaitez analyser Entire Event, Specific Attributes ou Exclude Attributes dans le menu déroulant.
Si vous analysez l’événement entier, vous pouvez éventuellement exclure des attributs spécifiques de l’analyse. Utilisez la notation de chemin (outer_key.inner_key) pour accéder aux clés imbriquées. Pour les attributs spécifiés contenant des données imbriquées, toutes les données imbriquées sont exclues.
Si vous analysez des attributs spécifiques, indiquez les attributs que vous souhaitez analyser. Utilisez la notation de chemin (outer_key.inner_key) pour accéder aux clés imbriquées. Pour les attributs spécifiés avec des données imbriquées, toutes les données imbriquées sont analysées.
Pour Define actions on match, sélectionnez l’action que vous souhaitez effectuer pour les informations correspondantes. Remarque : La rédaction, la rédaction partielle et le hachage sont tous des actions irréversibles.
Redact : Remplace toutes les valeurs correspondantes par le texte que vous spécifiez dans le champ Replacement text.
Partially Redact : Remplace une partie spécifiée de toutes les données correspondantes. Dans la section Redact, spécifiez le nombre de caractères que vous souhaitez masquer et quelle partie des données correspondantes masquer.
Hash : Remplace toutes les données correspondantes par un identifiant unique. Les octets UTF-8 de la correspondance sont hachés avec l’empreinte 64 bits de FarmHash.
Facultativement, cliquez sur Add Field pour ajouter des tags que vous souhaitez associer aux événements correspondants.
Ajoutez un nom pour la règle d’analyse.
Facultativement, ajoutez une description pour la règle.
Cliquez sur Add Rule.
Supprimez une règle
Pour supprimer une règle dans le Sensitive Data Scanner :
Use outer_key.inner_key to reference the key with the value inner_value.
Use outer_key.a.double_inner_key to reference the key with the value double_inner_value.
To specify a nested field with a literal . in the attribute key, wrap the key in escaped quotes in the search query. For example, the search query "service.status":disabled matches the event {"service.status": "disabled"}.
Configurez le processeur à l’aide de Terraform
Vous pouvez utiliser la ressource Terraform Datadog Observability Pipeline pour configurer un pipeline avec le processeur Sensitive Data Scanner. Pour ajouter une règle au processeur Sensitive Data Scanner à l’aide de Terraform :
<RULE_IDENTIFIER>Remplacez par un nom à utiliser lors de la configuration ultérieure du processeur Sensitive Data Scanner dans la ressource Observability Pipeline.
<RULE_NAME>Remplacez par le nom exact de la règle. Consultez Library Rules pour obtenir la liste complète des règles.
Par exemple, si vous souhaitez utiliser le AWS Access Key ID Scanner, configurez la source de données comme suit :
data"datadog_sensitive_data_scanner_standard_pattern""aws_access_key"{filter="AWS Access Key ID Scanner"}
Répétez les étapes 1 et 2 pour toutes les règles de bibliothèque que vous souhaitez ajouter.
Exemple de configuration complet
Si vous souhaitez utiliser le processeur Sensitive Data Scanner pour rechercher des identifiants de clé d’accès AWS et des numéros de sécurité sociale américains, et les masquer en les remplaçant par la chaîne *** :
Dans le processeur Sensitive Data Scanner de votre ressource Datadog Observability Pipeline, utilisez les règles Sensitive Data Scanner définies dans les sources de données.
data"datadog_sensitive_data_scanner_standard_pattern""aws_access_key"{filter="AWS Access Key ID Scanner"}data"datadog_sensitive_data_scanner_standard_pattern""us_ssn"{filter="US Social Security Number Scanner"}resource"datadog_observability_pipeline""sensitive_data_pipeline"{name="Sensitive Data Pipeline"config{source{id="source-0"datadog_agent{}}processor_group{display_name="Processors"enabled=trueid="group-0"include="*"inputs=["source-0"]processor{display_name="Sensitive Data Scanner"enabled=trueid="processor-sds-0"include="*"sensitive_data_scanner{rule{name="Redact AWS Access Key IDs"tags=[]on_match{redact{replace="***"}}pattern{library{id=data.datadog_sensitive_data_scanner_standard_pattern.aws_access_key.iduse_recommended_keywords=true}}scope{all=true}}rule{name="Redact US SSNs"tags=[]on_match{redact{replace="***"}}pattern{library{id=data.datadog_sensitive_data_scanner_standard_pattern.us_ssn.iduse_recommended_keywords=true}}scope{all=true}}}}}destination{id="destination-0"inputs=["group-0"]datadog_logs{}}}}
Bonnes pratiques pour optimiser les performances
Le processeur Sensitive Data Scanner est intensif en termes de CPU. Utilisez les bonnes pratiques suivantes pour optimiser les performances.
Afficher l’utilisation des règles d’analyse avec le dashboard Observability Pipelines Overview
Observability Pipelines inclut un dashboard Observability Pipelines Overview prêt à l’emploi avec une section Données sensibles trouvées par Observability Pipelines. Utilisez les widgets de cette section pour voir quelles règles d’analyse correspondent aux données.
Utilisez les variables de modèle (pipeline_id, host, worker_uuid, component_type, component_kind, component_id) en haut du dashboard pour limiter la vue à un pipeline ou un Worker spécifique.
Utilisez le sélecteur de temps pour définir une plage temporelle plus large.
Utilisez les widgets suivants pour évaluer l’utilisation des règles d’analyse de vos processeurs Sensitive Data Scanner:
Logs contenant des données sensibles par règle d’analyse: Liste chaque règle par nom (par exemple, visa_card_scanner_1x16_1x19_digits ou redact_ipv4) avec le nombre de correspondances sur la période sélectionnée. Les règles avec un nombre élevé correspondent activement à des données. Il s’agit du widget principal pour voir quelles règles sont utilisées.
Nombre total de logs contenant des données sensibles: Affiche le volume total de données sensibles correspondant à toutes les règles.
Logs contenant des données sensibles par pipeline: Affiche les logs correspondants qui contiennent des données sensibles. Vous pouvez limiter les correspondances par pipeline_id, ce qui vous aide à voir si les logs contenant des données sensibles sont trouvés dans tous les pipelines ou uniquement dans des pipelines spécifiques.
Logs contenant des données sensibles par host: Ventile les correspondances de données sensibles par host Worker. Utilisez ce widget pour confirmer la couverture sur l’ensemble de votre déploiement.
Modèles contenant des informations sensibles et Liste des logs contenant des données sensibles: Affiche les modèles de logs et les exemples d’événements où des données sensibles ont été trouvées.
Après avoir identifié les règles sans correspondance sur une période représentative, confirmez qu’elles ne sont pas nécessaires et supprimez-les. Consultez Supprimer une règle.
Remarque: Une règle avec zéro correspondance signifie que la règle n’a pas trouvé de correspondance dans la période sélectionnée, et non que la règle est invalide.
Activez uniquement les règles dont vous avez besoin
Les règles activées mais non utilisées consomment des ressources inutiles. Vérifiez le processeur Sensitive Data Scanner pour voir combien de correspondances chaque règle a eues au cours des dernières 24 heures.
Analysez uniquement les événements et les champs qui doivent être analysés pour détecter des données sensibles
Le temps nécessaire au Sensitive Data Scanner pour analyser un événement est proportionnel à la taille de l’événement. Pour optimiser les performances du processeur:
Si vous connaissez les types d’événements que vous souhaitez analyser, définissez une requête de processeur qui n’envoie au processeur que les événements souhaités.
Réduisez le temps de scan en ciblant des attributs d’événement spécifiques à scanner ou en excluant des attributs d’événement du scan. Consultez l’étape Define rule target and conditions dans Configurer le processeur.
Évaluez et comparez les optimisations de performance
Utilisez la métrique pipelines.component_latency_seconds pour :
Comparez les performances du processeur lorsque vous ajoutez une règle
Évaluez les performances après avoir effectué des changements d’optimisation, tels que la réduction du nombre de champs analysés et la suppression des règles inutilisées.
Pour afficher la métrique pipelines.component_latency_seconds :
Dans le champ de la métrique, saisissez pipelines.component_latency_seconds.
Dans le champ from, saisissez le tag component_id:<COMPONENT_ID>, où <COMPONENT_ID> est l’ID de votre processeur Sensitive Data Scanner.
Remarque: pipelines.component_latency_seconds est une métrique de distribution, vous devez donc activer les percentiles pour cette métrique. Consultez Activer les requêtes avancées pour obtenir des instructions.
Utilisez le tag component_id pour filtrer ou regrouper par composants individuels.
Le tag component_type est sensitive_data_scanner pour les métriques du processeur Sensitive Data Scanner.
pipelines.sds_rule_matched_total
Description: Le nombre d’événements ayant correspondu à une règle Sensitive Data Scanner. Marqué avec le nom de la règle correspondante.
Type de métrique: count
pipelines.scanned_events
Description: Le nombre d’événements analysés par le moteur Sensitive Data Scanner.
Type de métrique: count
pipelines.scanning.match_count
Description : Le nombre de correspondances trouvées par le Sensitive Data Scanner.
Type de métrique : count
pipelines.scanning.suppressed_match_count
Description : Le nombre de correspondances supprimées par le Sensitive Data Scanner.
Type de métrique : count
pipelines.scanning.duration
Description : Temps réel accumulé, en secondes, passé à analyser les événements. Utilisez cette métrique pour évaluer les performances du processeur et mesurer les optimisations.
Type de métrique : count
pipelines.scanning.cpu_duration
Description : Temps CPU accumulé, en secondes, passé à analyser les événements.
Type de métrique : count
pipelines.scanner.total_count
Description : Le nombre de processeurs Sensitive Data Scanner actuellement en cours d’exécution.
Type de métrique : jauge
pipelines.scanner.total_regexes
Description : Le nombre d’expressions régulières conservées sur tous les Sensitive Data Scanners.
Type de métrique : jauge
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: