Référence de configuration
Exclure des chemins des scans
Vous pouvez exclure des fichiers ou répertoires spécifiques des scans effectués par ggshield à l'aide d'un fichier de configuration global. Ceci est utile pour ignorer des fixtures de test, des fichiers générés ou d'autres chemins connus comme étant sûrs.
ggshield recherche un fichier de configuration .gitguardian.yaml à deux emplacements, évalués dans cet ordre :
- Configuration globale dans le répertoire personnel de l'utilisateur :
~/.gitguardian.yamlsur Linux ou macOS%USERPROFILE%\.gitguardian.yamlsur Windows
- Configuration locale à
./.gitguardian.yamldans le répertoire en cours de scan.
Les deux fichiers suivent le même format que le fichier de configuration ggshield. Les paramètres de la configuration locale prévalent sur ceux de la configuration globale. Utilisez la clé ignored_paths sous secret pour spécifier des motifs glob pour les chemins à exclure :
secret:
ignored_paths:
- 'LICENSE' # exact file at the root
- '*.log' # all .log files in the root directory
- 'doc/*' # all files directly inside doc/
- 'tests/**/*' # all files anywhere inside tests/
- '**/*.generated.ts' # all .generated.ts files in any directory
- '**/README.md' # all README.md files in any directory
Planifier les scans entre fuseaux horaires
La planification des scans est configurée au moment du déploiement. Il existe deux approches :
- Planification native MDM : configurez la fréquence d'exécution directement dans votre MDM pour le script personnalisé (par exemple, la fréquence d'exécution des politiques de Jamf).
- Planification au niveau de l'OS : déployez une tâche planifiée via le MDM et laissez le planificateur de l'OS gérer la récurrence : un agent
launchdsur macOS, une tâche Task Scheduler sur Windows, ou un timersystemdou une entréecronsur Linux. Un déclencheur horaire tel que « 18:00 quotidien » se déclenche à 18 h dans le fuseau horaire local de chaque appareil automatiquement.
Identifiant machine
GitGuardian utilise un identifiant de source pour représenter chaque machine dans votre inventaire. Il a le format <hostname>/<system_id> et sert à dédupliquer les résultats entre scans successifs d'une même machine.
Le Hostname est obtenu via :
- L'appel système
gethostname()sur Linux et macOS - La variable d'environnement
COMPUTERNAMEsur Windows
Le System ID est un identifiant unique spécifique à la plateforme :
- macOS : le
IOPlatformUUIDissu deioreg -rd1 -c IOPlatformExpertDevice - Linux : la première valeur non vide parmi
/etc/machine-id,/sys/class/dmi/id/product_uuidou/var/lib/dbus/machine-id - Windows : l'UUID issu de
wmic csproduct get uuid, avec un fallback PowerShell
Repli : si aucun ID spécifique à la plateforme ne peut être déterminé, un UUID v4 aléatoire est généré et mis en cache dans ~/.ggshield/machine_id afin qu'il persiste entre les scans. Un avertissement est journalisé dans ce cas — si ce fichier est supprimé, un nouvel ID est généré et la machine peut apparaître comme un doublon dans votre inventaire.