Ce guide explique comment utiliser l'API Security Command Center pour gérer les marques de sécurité. Les marques de sécurité, ou "marques", sont des annotations personnalisables sur les éléments ou les résultats dans Security Command Center qui vous permettent d'ajouter votre propre contexte commercial à ces objets.
Vous ne pouvez ajouter ou mettre à jour des marques de sécurité que sur les éléments compatibles par Security Command Center. Pour obtenir la liste des éléments compatibles avec Security Command Center, consultez la section Types d'éléments acceptés dans Security Command Center.
Avant de commencer
Pour pouvoir utiliser des marques de sécurité, vous devez configurer un compte de service et un SDK.
Pour ajouter ou modifier des marques de sécurité, vous devez disposer d'un rôle de gestion de l'authentification et des accès incluant des autorisations pour le type de marque que vous souhaitez utiliser :
- Marques d'éléments : Rédacteur de marques de sécurité d'élément,
securitycenter.assetSecurityMarksWriter
- Marques de résultats : Rédacteur de marques de sécurité de résultat,
securitycenter.findingSecurityMarksWriter
Pour en savoir plus sur les rôles IAM dans Security Command Center, consultez la page Contrôle des accès. Pour apprendre à utiliser la sécurité marque efficacement, voir Utiliser les marques de sécurité Security Command Center
Ajouter ou mettre à jour des marques de sécurité sur des éléments
Lorsque vous utilisez l'API Security Command Center, l'ajout et la mise à jour de marques de sécurité sont identiques. L'exemple ci-dessous montre comment ajouter des marques de sécurité pour deux paires clé-valeur (key_a, value_a)
et (key_b, value_b)
.
Le code suivant utilise des masques de champ pour garantir que seules ces valeurs sont mises à jour. Si vous n'utilisez pas de masques de champ, toutes les marques de sécurité sont effacées avant d'ajouter les clés et les valeurs données.
gcloud
# ORGANIZATION=12344321 # ASSET=43211234 SECURITY_MARKS="key_a=value_a,key_b=value_b" UPDATE_MASK="marks.key_a,marks.key_b" gcloud scc assets update-marks $ASSET \ --organization $ORGANIZATION \ --security-marks $SECURITY_MARKS \ --update-mask $UPDATE_MASK
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc assets update-marks --help
Python
Java
Go
Node.js
Consultez Gérer les stratégies. pour en savoir plus sur les marques d'éléments dédiées aux détecteurs Security Health Analytics.
Supprimer des marques de sécurité sur des éléments
La suppression de marques de sécurité spécifiques s'effectue de la même manière pour l'ajout ou la mise à jour de ces dernières, en particulier pour appeler une mise à jour avec un masque de champ, mais sans aucune valeur correspondante. Dans l'exemple ci-dessous, les marques de sécurité dotées des clés key_a
et key_b
sont supprimées.
gcloud
# ORGANIZATION=12344321 # ASSET=43211234 UPDATE_MASK="marks.key_a,marks.key_b" gcloud scc assets update-marks $ASSET \ --organization $ORGANIZATION \ --update-mask $UPDATE_MASK
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc assets update-marks --help
Python
Java
Go
Node.js
Ajouter et supprimer des marques de sécurité dans la même requête
La technique pour ajouter et mettre à jour des marques de sécurité et pour supprimer des marques de sécurité peut être regroupée dans la même requête. Dans l'exemple ci-dessous, key_a
est mise à jour alors que key_b
est supprimée.
gcloud
# ORGANIZATION=12344321 # ASSET=43211234 SECURITY_MARKS="key_a=new_value_for_a" UPDATE_MASK="marks.key_a,marks.key_b" gcloud scc assets update-marks $ASSET \ --organization $ORGANIZATION \ --security-marks $SECURITY_MARKS \ --update-mask $UPDATE_MASK
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc assets update-marks --help
gcloud
# ORGANIZATION=12344321 # ASSET=43211234 SECURITY_MARKS="key_a=new_value_for_a" UPDATE_MASK="marks.key_a,marks.key_b" gcloud scc assets update-marks $ASSET \ --organization $ORGANIZATION \ --security-marks $SECURITY_MARKS \ --update-mask $UPDATE_MASK
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc assets update-marks --help
Python
Java
Go
Node.js
Ajouter des marques de sécurité à des résultats
L'ajout, la mise à jour et la suppression de marques de sécurité sur des résultats suivent le même processus que la mise à jour de marques de sécurité sur des éléments. La seule différence réside dans le nom de la ressource utilisée dans l'appel d'API. Au lieu d'utiliser une ressource d'élément, vous devez fournir un nom de ressource de résultat.
Par exemple, pour mettre à jour des marques de sécurité dans un résultat, utilisez le code suivant :
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid SECURITY_MARKS="key_a=value_a,key_b=value_b" UPDATE_MASK="marks.key_a,marks.key_b" gcloud scc findings update-marks $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --security-marks $SECURITY_MARKS \ --update-mask $UPDATE_MASK
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc findings update-marks --help
Python
Java
Go
Node.js
Les marques de sécurité sont traitées lors des analyses par lot (qui s'exécutent deux fois par jour), pas en temps réel. Un délai de 12 à 24 heures peut être nécessaire avant que les marques de sécurité ne soient visibles. traitées et les règles d'application qui résolvent ou rouvrent les résultats sont appliquées.
Répertorier des éléments avec des filtres de marque de sécurité
Une fois les marques de sécurité définies dans un élément, elles peuvent être utilisées dans l'argument de filtre de l'appel d'API ListAssets
. Par exemple, pour interroger tous les éléments utilisant key_a = value_a
, utilisez le code suivant :
gcloud
# ORGANIZATION=12344321 FILTER="security_marks.marks.key_a = \"value_a\"" gcloud scc assets list $ORGANIZATION \ --filter "$FILTER"
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc assets list --help
Python
Java
Go
Node.js
Répertorier des résultats avec des filtres de marque de sécurité
Une fois les marques de sécurité définies dans un résultat, elles peuvent être utilisées dans l'argument de filtre de l'appel d'API ListFindings
. Par exemple, pour interroger tous les éléments utilisant key_a != value_a
, utilisez le code suivant :
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 FILTER="NOT security_marks.marks.key_a=\"value_a\"" gcloud scc findings list $ORGANIZATION \ --source $SOURCE \ --filter "$FILTER"
Pour plus d'exemples, exécutez la commande suivante :
gcloud scc findings list --help
Python
Java
Go
Node.js
Étape suivante
- En savoir plus sur répertorier les résultats et les éléments des fiches.