Cette page explique comment créer et modifier des requêtes de résultats Security Command Center à l'aide du panneau Éditeur de requête sur la page Résultats.
Utilisez des requêtes pour récupérer des résultats spécifiques et filtrer ceux qui s'affichent dans les résultats de requête.
Modifier les requêtes de résultats
Dans le panneau Éditeur de requête, vous pouvez ajouter des filtres à vos requêtes pour sélectionner les résultats en fonction des valeurs de leurs propriétés ou attributs. Vous pouvez filtrer les données en fonction de la présence ou de l'absence de valeurs, ou de la correspondance d'une chaîne partielle, par exemple.
Pour savoir comment modifier une requête sur les résultats, cliquez sur l'onglet correspondant à votre niveau de service.
Standard ou Premium
- Dans la console Google Cloud , accédez à la page Résultats de Security Command Center.
- Sélectionnez votre projet Google Cloud ou votre organisation. La page Résultats se charge avec la requête par défaut affichée dans le champ Aperçu de la requête.
- À droite de la section Aperçu de la requête, cliquez sur edit Modifier la requête pour ouvrir le panneau Éditeur de requête.
- Sélectionnez Ajouter un filtre pour parcourir, rechercher et ajouter des filtres d'attributs prédéfinis à la requête.
- Sélectionnez un attribut de résultat ou saisissez son nom dans la zone Rechercher des attributs de résultats. Une liste des sous-attributs disponibles s'affiche.
- Sélectionnez un sous-attribut. Un champ de sélection s'affiche. Vous pouvez y créer l'instruction de requête à l'aide du sous-attribut sélectionné, d'un opérateur de requête et d'une ou plusieurs valeurs pour le sous-attribut.
- Sélectionnez l'opérateur et une ou plusieurs valeurs pour le sous-attribut dans le panneau. Pour en savoir plus sur les opérateurs de requête et les fonctions qu'ils utilisent, consultez Opérateurs de requête dans le menu "Ajouter des filtres".
- Cliquez sur Appliquer.
La boîte de dialogue se ferme et votre requête est mise à jour.
- Répétez l'opération jusqu'à ce que la requête de résultats contienne tous les attributs souhaités.
La boîte de dialogue Sélectionner un filtre vous permet de choisir les attributs et les valeurs de résultats compatibles.
Lorsque vous travaillez dans l'éditeur de requêtes sur la page Résultats, la section Filtres rapides est désactivée pour éviter les conflits entre les deux.
Entreprise
- Dans la console Google Cloud , accédez à la page Résultats de Security Command Center.
- Dans le panneau Éditeur de requête, cliquez sur Ajouter un filtre. La boîte de dialogue Ajouter un filtre s'affiche. Cette boîte de dialogue vous permet de choisir les attributs et les valeurs de résultats compatibles.
- Dans le champ Catégorie d'attribut, sélectionnez ou saisissez un attribut de résultat.
- Dans le champ Nom de l'attribut, sélectionnez ou saisissez un sous-attribut.
- Dans le champ Opérateur, sélectionnez une option d'évaluation pour les valeurs du sous-attribut sélectionné. Pour en savoir plus sur les options d'évaluation et les opérateurs que vous pouvez utiliser, consultez Opérateurs de requête dans le menu "Ajouter des filtres".
- Sélectionnez Appliquer.
La boîte de dialogue se ferme et votre requête est mise à jour.
- Répétez cette opération jusqu'à ce que la requête de résultats contienne tous les attributs sur lesquels vous souhaitez filtrer les résultats.
Pour effacer les filtres, cliquez sur Réinitialiser.
Vous pouvez également créer une requête de résultats manuellement avec la même méthode que pour former un filtre de résultats à l'aide de l'API Security Command Center. Lorsque vous saisissez une requête, un menu de saisie semi-automatique apparaît, dans lequel vous pouvez sélectionner des noms, des fonctions et des valeurs de filtre. Pour ouvrir manuellement le menu de saisie semi-automatique, appuyez sur Ctrl+Espace.
Lorsque vous modifiez une requête, l'éditeur met en évidence les erreurs afin que vous puissiez les corriger avant d'envoyer la requête.
Opérateurs de requêtes
Les instructions de requête pour les résultats Security Command Center sont compatibles avec les opérateurs compatibles avec la plupart des API Google Cloud .
La liste suivante montre l'utilisation de différents opérateurs :
state="ACTIVE" AND NOT mute="MUTED"
create_time>"2023-08-15T19:05:32.428Z"
resource.parent_name:"prod"
severity="CRITICAL" OR severity="HIGH"
La liste suivante présente tous les opérateurs et fonctions compatibles avec les instructions de requête pour les résultats :
- Pour les chaînes :
=
pour l'égalité parfaite:
pour une correspondance de chaîne partielle
- Pour les nombres :
<
,>
,<=
,>=
pour les inégalités=
,!=
pour l'égalité
- Pour les valeurs booléennes :
=
pour l'égalité
- Pour les relations logiques :
AND
OR
NOT
ou-
- Pour les expressions de regroupement :
(
,)
(parenthèses)
- Pour les tableaux :
contains()
, une fonction permettant d'interroger les résultats avec un champ de tableau contenant au moins un élément correspondant au filtre spécifiécontainsOnly()
, une fonction permettant d'interroger les résultats avec un champ de tableau qui ne contient que des éléments correspondant au filtre spécifié
- Pour les adresses IP :
inIpRange()
, une fonction permettant d'interroger les adresses IP dans une plage CIDR spécifiée
Opérateurs de requête dans le menu "Ajouter des filtres"
Pour en savoir plus sur les opérateurs de requête utilisés dans le menu Ajouter des filtres, cliquez sur l'onglet correspondant à votre niveau de service.
Standard ou Premium
Dans le menu opérateurs et fonctions de requête sont représentés par des mots ou des expressions, comme les suivants :
Ajouter un filtre de l'éditeur de requête, les- Égal à : met en correspondance les résultats avec cette valeur d'attribut exacte.
- N'est pas égal à : met en correspondance les résultats n'ayant pas cette valeur d'attribut exacte.
- Après : correspond aux résultats dont la date de création ou de mise à jour est postérieure à une heure spécifiée.
- Avant : correspond aux résultats dont la date de création ou de mise à jour est antérieure à une heure spécifiée.
- Comporte : met en correspondance les résultats avec des valeurs d'attribut qui comportent le texte que vous saisissez dans le champ Mot clé.
- Ne comporte pas : met en correspondance les résultats avec des valeurs d'attribut qui ne comportent pas le texte que vous saisissez dans le champ Mot clé.
- Pour trouver des attributs contenant des tableaux :
- Contient l'un des éléments suivants : met en correspondance les résultats ayant une valeur de tableau qui contient l'un des textes que vous saisissez dans le champ Mot clé.
- Contient tout : met en correspondance les résultats ayant une valeur de tableau qui contient tout le texte que vous saisissez dans le champ Mot clé.
- Ne contient aucun : met en correspondance les résultats n'ayant pas de valeur de tableau qui contient le texte que vous saisissez dans le champ Mot clé.
- Contient uniquement : met en correspondance les résultats ayant un attribut de tableau qui ne contient que la valeur que vous saisissez dans le champ Mot clé, et aucune autre valeur.
- Pour les adresses IP :
- Toute adresse IP dans la plage : correspond aux résultats dont l'adresse IP se trouve dans une plage CIDR spécifiée.
- Ne contient aucune plage d'adresses IP : correspond aux résultats dont l'adresse IP ne se trouve pas dans une plage CIDR spécifiée.
Entreprise
Dans le menu Ajouter un filtre de l'éditeur de requête, les opérateurs et fonctions de requête sont représentés comme suit :
- Égal à : met en correspondance les résultats avec cette valeur d'attribut exacte.
- N'est pas égal à : met en correspondance les résultats n'ayant pas cette valeur d'attribut exacte.
- Après : correspond aux résultats dont la date de création ou de mise à jour est postérieure à l'heure spécifiée.
- Avant : correspond aux résultats dont la date de création ou de mise à jour est antérieure à l'heure spécifiée.
- Comporte : met en correspondance les résultats avec des valeurs d'attribut qui comportent le texte que vous saisissez dans le champ Mot clé.
- Ne comporte pas : met en correspondance les résultats avec des valeurs d'attribut qui ne comportent pas le texte que vous saisissez dans le champ Mot clé.
- Supérieur à : met en correspondance les résultats dont les valeurs d'attribut sont supérieures à la valeur spécifiée.
- Inférieur à : met en correspondance les résultats dont les valeurs d'attribut sont inférieures à la valeur spécifiée.
- N'importe quelle adresse IP dans la plage : correspond aux résultats qui ont une adresse IP dans une plage CIDR spécifiée.
- Ne contient aucune plage d'adresses IP : correspond aux résultats dont l'adresse IP ne se trouve pas dans une plage CIDR spécifiée.
Fonctions de requête
Une fonction de requête fournit des évaluations plus complexes des valeurs d'attributs que les opérateurs de requête courants.
Fonction contains
Utilisez la fonction contains
pour évaluer les attributs ou les sous-champs d'attributs qui peuvent apparaître plusieurs fois dans le même résultat.
En interne, ces attributs ou sous-champs d'attributs sont stockés dans les éléments d'une structure de données de tableau. Ils sont donc appelés attributs de type tableau.
Par exemple, certains résultats peuvent faire référence à plusieurs connexions réseau. L'attribut connections
est donc un attribut de type tableau.
De même, certains résultats de menace peuvent faire référence à plusieurs adresses IP comme indicateurs de piratage. Le sous-champ ip_addresses
de l'attribut indicator
est donc un attribut de type tableau.
La fonction contains
utilise la syntaxe suivante :
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Remplacez les éléments suivants :
ARRAY_ATTRIBUTE_NAME
: nom de l'attribut de type tableau stocké dans un tableau. Si l'attribut de type tableau est un sous-champ d'un autre attribut, spécifiez le nom de l'attribut et le nom du sous-champ séparés par un point.Dans l'exemple suivant, l'attribut de type tableau,
ip_addresses
, est un sous-champ deindicator
. Les deux sont donc spécifiés dans la positionARRAY_ATTRIBUTE_NAME
:contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER
: expression qui définit comment évaluer chaque instance de l'attribut de type tableau. Les opérateurs de requête et les instructions d'évaluation Standard Security Command Center sont acceptés.Si la valeur à vérifier se trouve dans un sous-champ d'un attribut de type tableau, spécifiez le nom du sous-champ à gauche de l'expression. La fonction
contains
suivante évalue chaque élément d'un tableau deconnections
, qui est un attribut de type tableau contenant des sous-champs. Les valeurs recherchées se trouvent dans le sous-champdestination_ip
, qui n'est pas un champ de type tableau. Les valeurs à interroger sont spécifiées avec le nom du sous-champ,destination_ip
, au lieu du paramètreelem
.contains(connections, destination_ip="192.0.2.80")
Si le sous-champ est l'attribut de type tableau, spécifiez-le à gauche de l'expression avec son parent, puis utilisez le paramètre
elem
à droite de l'expression pour spécifier la valeur à rechercher. Par exemple, la fonctioncontains
suivante évalue chaque élément d'un tableau deip_addresses
, qui est un sous-champ de l'attributindicator
. L'attributindicator
n'est pas un champ de type tableau.contains(indicator.ip_addresses, elem="192.0.2.80")
Fonction contains
dans le menu "Ajouter un filtre"
Dans le menu Ajouter un filtre, en fonction de l'attribut de résultat que vous évaluez, la fonction contains
est listée explicitement ou incluse automatiquement lorsque vous sélectionnez une autre option de filtre qui la nécessite.
Par exemple, pour le sous-champ Adresses IP de l'attribut Indicateur, vous pouvez sélectionner les options de filtrage suivantes :
- Contient l'une des valeurs
- Contient toutes les valeurs
- Ne contient aucune valeur
En revanche, si vous filtrez le sous-champ Adresse IP de destination de l'attribut Connexions et que vous sélectionnez N'importe quelle adresse dans la plage d'adresses IP, la fonction contains
est automatiquement ajoutée à l'instruction de requête, comme illustré dans l'exemple suivant :
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
Pour en savoir plus sur la fonction contains
, consultez Filtrer les champs de type tableau.
Fonction containsOnly
La fonction containsOnly
vous permet d'interroger les résultats pour les attributs ou sous-champs de type tableau qui ne contiennent que les valeurs spécifiées dans le sous-filtre.
La fonction containsOnly
utilise la syntaxe suivante :
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
Remplacez les éléments suivants :
ARRAY_ATTRIBUTE_NAME
: nom de l'attribut de type tableau. Si l'attribut de type tableau est un sous-champ d'un autre attribut, spécifiez le nom de l'attribut et le nom du sous-champ séparés par un point. Lorsque vous exécutez des requêtes à l'aide de la console Google Cloud , cette fonction n'est compatible qu'avec les attributs de tableauiam_bindings.member
etiam_bindings.role
.SUBFILTER
: expression qui définit comment évaluer chaque élément de l'attribut de type tableau. Les opérateurs de requête et les instructions d'évaluation Security Command Center standards sont acceptés.
Dans le menu Ajouter un filtre, les options de filtre suivantes utilisent la fonction containsOnly
:
Liaison IAM > Membre : ne sélectionne que les résultats qui incluent les utilisateurs, les comptes de service ou les groupes spécifiés.
Liaison IAM > Rôle : ne sélectionne que les résultats qui incluent les rôles spécifiés.
L'exemple suivant montre une requête sur les résultats dans la console Google Cloud qui renvoie les résultats actifs et non mis en sourdine pour les utilisateurs du groupe example-group
:
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
Fonction inIpRange
La fonction inIpRange
vérifie si l'adresse IP d'un attribut de résultat sélectionné se trouve dans une plage d'adresses IP que vous spécifiez à l'aide de la notation CIDR (une plage CIDR). Vous trouverez ci-dessous la syntaxe de la fonction inIpRange
:
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
Dans le menu Ajouter un filtre, les options de filtre suivantes utilisent la fonction inIpRange
:
- Toutes les adresses IP de la plage : ne sélectionne que les résultats contenant des adresses IP dans la plage spécifiée.
- Ne contient aucune plage d'adresses IP : ne sélectionne que les résultats qui ne contiennent pas d'adresses IP dans la plage spécifiée.
L'exemple suivant montre une requête de résultats dans la console Google Cloud qui renvoie les résultats actifs et non mis en sourdine dans lesquels le sous-champ caller_ip
de l'objet access
contient une adresse IPv6 dans la plage CIDR de 2001:db8::/32
:
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
L'exemple suivant montre une requête sur les résultats qui renvoie les résultats actifs et non mis en sourdine dans lesquels le sous-champ caller_ip
de l'objet access
ne contient pas d'adresse IP dans la plage CIDR IPv4 de 192.0.2.0/24
:
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
Si une adresse IP se trouve dans un attribut qui peut apparaître plusieurs fois dans un résultat, utilisez la fonction contains
avec la fonction inIpRange
pour vérifier chaque instance de l'attribut pour l'adresse IP. Exemple :
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Pour en savoir plus sur la fonction contains()
, consultez Fonction contains
.
Attributs de résultat pour les requêtes
Security Command Center sélectionne les résultats à afficher en évaluant les attributs de chaque résultat stocké par rapport aux filtres d'attributs que vous spécifiez dans la requête.
Vous pouvez interroger la plupart des attributs de résultats. Certains attributs sont communs à tous les résultats. D'autres attributs peuvent être spécifiques à un problème de sécurité, à une catégorie de résultat ou à un service de détection particulier.
Dans le menu Ajouter un filtre du panneau Éditeur de requête, les options que vous pouvez appliquer à un filtre d'attribut sont différentes selon le type d'attribut que vous sélectionnez et selon que l'attribut comporte des sous-champs ou un tableau de valeurs.
Dans le menu Ajouter un filtre, cliquez sur l'un des attributs de premier niveau suivants pour afficher les sous-attributs et les valeurs que vous pouvez utiliser dans une requête de résultats :
- Résultat
- Ressource
- Accès (
access
) - Niveau d'exposition aux attaques
- Sauvegarde et reprise après sinistre
- Conformités (
compliances[]
) - Connexions (
connections[]
) - Contacts
- Conteneurs
- Base de données
- Exfiltration (
exfiltration
) - Fichiers
- Liaison IAM (
iamBindings[]
) - Indicateur
- Rootkit de noyau
- Kubernetes
- MITRE ATT&CK (
mitreAttack
) - Processus (
processes[]
) - Stratégie de sécurité
- Protection des données sensibles
- Faille